Jump to content


Renan Gonçalves's Content

There have been 97 items by Renan Gonçalves (Search limited from 29/03/2023)



Ordernar por                Order  

#892273 Tabela Pac Dos Correios

Posted by Renan Gonçalves on 16/01/2008, 11:54 in PHP

Olá,

Eu entrei em contato com a Locaweb e eles informaram que não homologaram o cálculo por PAC ainda.
A solução foi eu usar o site dos Correios diretamente.

Abaixo a função (eu não declaro valor):
function calcula_pac($cep_destino, $cep_origem, $peso, $valor) {
		$file = file('http://www.correios.com.br/encomendas/precos/calculo.cfm?servico=41106&CepOrigem=' . $cep_origem . '&CepDestino=' . $cep_destino . '&Peso=' . $peso);
		$file = implode('', $file);
		
		ereg('&Tarifa=([0-9.]+)', $file, $reg);
		
		$array = array();
		if (!isset($reg[1])) {
			$array['status'] = false;
			$array['erro'] = 'Erro ao contactar o site dos Correios';
		} else {
			$array['status'] = true;
			$array['valor'] = str_replace(',', '.', $reg[1]);
		}
		
		return $array;
	}

Agora só falta eu conseguir calcular com as dimensões que no site dos Correios mostra.
Só não sei como, se nem no site funciona!


[]'s

Atualizando ...

Foi um equivoco meu ao dizer que dá pra se calcular com as dimensões.
As dimensões servem apenas para limitar o pacote, definir seu tamanho máximo.

PAC > Limites


[]'s



#885052 Dao E Domain Object

Posted by Renan Gonçalves on 03/12/2007, 08:12 in Teoria de Programação

Opa Savior, valeu cara!

Exatamente, eu também acho a segunda opção melhor.
Tanto também no aspecto de performance, que pode ser obtida de melhor maneira com a segunda opção.
E como você, eu desenvolvi meu OO com Java, mas o engraçado é que os grandes frameworks em PHP fazem da primeira forma e por isso me veio essa dúvida.

No aspecto performance vamos analisar o seguinte:
Usuario extende a abstração de dados.
Logo cada instancia de Usuario herda todos os métodos desta abstração. Deixando cada instancia sobrecarregada e também "insegura", como você disse.

E do outro lado da moeda:
Usuario extende Object.
Cada instancia de Usuario possui apenas seus metodos e propriedades. E então temos o UsuarioDAO (singleton) que faz a persistência.


Pensando dessa maneira, é mais um motivo para eu considerar a segunda opção a melhor.


[]'s



#885006 Dao E Domain Object

Posted by Renan Gonçalves on 02/12/2007, 22:11 in Teoria de Programação

Fala galera, beleza?


Estou com um dúvida aqui na hora de implementar um novo projeto.
Para entender melhor eu vou usar como exemplo a classe Usuario que seria o objeto de dominio e o UsuarioDAO que é o DAO.

Como em todo projeto nós temos a camada de persistência e temos também os objetos de domínio.
Porém muitos frameworks implementam a persistência com os objetos de domínio. Onde a classe Usuario extende a classe UsuarioDAO e os métodos CRUD (e métodos como findAllBy* ou findBy*), tal como qualquer outro método referente ao objeto ficam no objeto.
Podemos usar como exemplo o CakePHP (classe Model extende AppModel), ZendFramework (voce extende a classe Zend_DB_Table), entre outros.

No Java uma prática comum é você separar essas responsabilidades.
Nós temos a classe Usuario com seus getters e setters (ou não) e seus demais métodos, menos a parte de persistência, que fica a cargo do DAO Layer.

Salvando um usuario com Objeto de domínio e DAO juntos (em PHP):
$usuario = new Usuario();
$usuario->blablabla...
$usuario->save();

De outra forma:
$usuario = new Usuario();
$usuario->blablabla...
$usuarioDAO = new UsuarioDAO();
$usuarioDAO->create($usuario);

Minhas pergunta são:
Qual dessas práticas você utiliza?
Qual acha mais "correta"?


Obrigado por ajudarem ... ;-)
[]'s

Só uma adição...
No Zend como pode usar o Zend_Db_Adapter como DAO, mas dessa forma você não teria o objeto de domínio, que no caso seria uma extensão de Zend_Db_Table. Mas é claro que você pode usar estes recursos da forma que você quiser.

E como não sou o dono da verdade me corrijam caso eu esteja errado.



#875916 Bloquear Msn Linux

Posted by Renan Gonçalves on 15/10/2007, 10:17 in Distribuições Linux

Bom dia,


Aqui na empresa nós estamos com um grande problema... o uso excessívo do msn !
Para tal resolvemos adotar a tática de bloquear GERAL o msn.
Já vi várias dicas de como bloquear e até agora não consegui.

É um servidor Debian GNU/Linux com Samba e terminais Windows.
Não usamos Squid, mas iptables.

Possuimos um roteador para distribuir a rede, que está em eth0.
E um modem Speedy para conectar à internet, que está em eth1.
A conexão, após discada, fica em ppp0.


Agradeço quem puder ajudar.


[]'s



#871056 Fomrulários

Posted by Renan Gonçalves on 17/09/2007, 14:53 in PHP

Hummm... me dê mais detalhes e eu faço um orçamento para isso.


[]'s
PS: Moderadores, favor mover para seção correta.



#871054 Repassar Variaveis Por Get

Posted by Renan Gonçalves on 17/09/2007, 14:49 in PHP

Desculpe por eu ser meio grosso agora.

Você não leu essa resposta do tópico anterior, que era seu ?
http://forum.wmonlin...&...st&p=870351


[]'s



#871023 Repassar Variaveis Por Get

Posted by Renan Gonçalves on 17/09/2007, 13:43 in PHP

Você pode fazer o seguinte...

Pegar os parametros da URL com o parse_url
$query = parse_url($url, PHP_URL_QUERY);

E pegar o q com uma ER.
(^q=|&q=)([^&]+)

O que resultaria em:
<?php
$url = 'http://www.google.com.br/search?source=ig&hl=pt-BR&q=WebMasters+Online&btnG=Pesquisa+Google&meta=';

ereg('(^q=|&q=)([^&]+)', parse_url($url, PHP_URL_QUERY), $query);
$word = urldecode($query[2]);

echo $word;
?>


Corrigindo...
Você pode usar o parse_str para listar o argumentos de parse_url($url, PHP_URL_QUERY)
<?php
$url = 'http://www.google.com.br/search?source=ig&hl=pt-BR&q=WebMasters+Online&btnG=Pesquisa+Google&meta=';
$params = parse_str(parse_url($url, PHP_URL_QUERY));

print_r($params);
?>

Onde $url é seu referer.


[]'s



#870981 Repassar Variaveis Por Get

Posted by Renan Gonçalves on 17/09/2007, 11:29 in PHP

Faça um laço nesse array usando foreach

Mais ou menos dessa forma:
foreach ($array as $chave => $valor) {
	echo $chave . ' => ' . $valor . '<br />';
}


[]'s



#870483 Problemas Ao Usar O Curl_init() + Modificação No Banco De Dados.

Posted by Renan Gonçalves on 13/09/2007, 19:31 in PHP

O problema está aqui:
if (eregi('$url_site', $site)) {

Está procurando literalmente '$url_site' dentro de $site.
Você precisa colocar essa variavel entre aspas duplas ou então deixar sem aspas:
if (eregi($url_site, $site)) {


[]'s



#870359 Melhores Usos, Tem Alguma Diferença Entre Uso E Uso?

Posted by Renan Gonçalves on 13/09/2007, 09:55 in PHP

Ainda existe o Zend Framework PHP Coding Standard
Vale a pena dar uma olhada !

Ou melhor, podemos abstrair algumas coisas do Code Conventions for Java :P


[]'s



#870351 Busca Google

Posted by Renan Gonçalves on 13/09/2007, 08:57 in PHP

Ai caramba, porque todo mundo erra o meu nome ??
É Renan !!! <_<


Mas bem ...
Cara, isso vem pelo referer.
É só você tratar essa string !

Veja o que veio num teste que fiz:
.....
	[HTTP_CONNECTION] => keep-alive
	[HTTP_REFERER] => http://192.168.0.1/projetos/scripts/testes/?q=Renanzinho%20homenzarrao
	[HTTP_COOKIE] => __utmz=224789850.1188240478.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); __utma=224789850.566357810.1188240478.1189629603.1189634259.6
....

O meu referer é:
http://192.168.0.1/projetos/scripts/testes/?q=Renanzinho%20homenzarrao

Então a lógica é:
  • Verificar se o referer é do Google
  • Tratar a url e pegar o parametro "q"
Para pegar o parametro você pode usar ER (Expressões Regulares).
Saiba mais sobre ER no Guia ER


[]'s



#870350 Problemas Ao Usar O Curl_init() + Modificação No Banco De Dados.

Posted by Renan Gonçalves on 13/09/2007, 08:48 in PHP

Dilneiss,


Na sua SQL você está selecionando apenas a url, tente selecionar outros colunas também.
SELECT url FROM downline

Como por exemplo o id, que você usa.
SELECT id, url FROM downline


[]'s



#870349 Rich Text Editor

Posted by Renan Gonçalves on 13/09/2007, 08:45 in Java Web (J2EE)

elanesp,

Como o PA disse, é só entrar no site que tem os exemplos.
Exemplo Completo
Outros exemplos mais simples

Note que nos exemplos existe o código usado, o exemplo em si e um combo box para pular para outro exemplo.


[]'s



#870287 Recipocral

Posted by Renan Gonçalves on 12/09/2007, 19:58 in PHP

Olá,


Você pode utilizar a biblioteca CURL para isso.
Basicamente assim:
function get_site($url)
{
	// init
	$ch = curl_init();
			
	// set the URL of the VPC
	curl_setopt ($ch, CURLOPT_URL, $url);
	curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
		
	ob_start();	
		// Execute
		curl_exec($ch);
			
		// Get response
		$response = ob_get_contents();
	ob_end_clean();
		
	return $response;
}

$site = get_site('http://www.wmonline.com.br');

if (eregi('google.com', $site)) {
	echo 'Está linkado';
} else {
	echo 'Não está linkado';
}

Ou ainda utilizar fopen


[]'s



#870285 Excluir Múltiplos Campos Do Tipo Checkbox

Posted by Renan Gonçalves on 12/09/2007, 19:48 in PHP

Dudu,

Mesmo você tratando um array como uma String irá funcionar ? :huh:

$id = addslashes(htmlentities($_POST['id']));
foreach($id as $c) {
mysql_query("DELETE FROM noticias WHERE noticia_id = '".$c."'") or die(mysql_error());
}


Aconselho a fazer da seguinte forma: ?
$id = $_POST['id'];
foreach($id as $c) {
	  $c = addslashes(htmlentities($c));
	  mysql_query("DELETE FROM noticias WHERE noticia_id = '".$c."'") or die(mysql_error());
}


[]'s



#870282 Expressão

Posted by Renan Gonçalves on 12/09/2007, 19:37 in PHP

O nome é condição ternária e funciona assim:

$variavel = (expressão) ? verdadeiro : falso;



[]'s



#870237 Checar Se Há Ponto Ou Traço Em Um Campo

Posted by Renan Gonçalves on 12/09/2007, 16:44 in PHP

E procure utilizar echo tambem, ele é um construtor da linguagem, então tem mais capacidades que o print :)


Na verdade print também é !
Dê uma olhada em PHP Print na nota, logo abaixo do exemplo.

As diferenças sobre esses dois construtores pode ser visto em: What is the difference between echo and print?


[]'s



Sabemos que print tambem é, mas não tem o essencial do echo, aceitar multiplos valores (com virgula)
Tem um tópico aqui que o host designer criou que tem uma breve discussão sobre o assunto.


Não vamos iniciar uma velha discussão, isso é um dos tabus do php (:

(y)


Nesse link que eu passei explica as diferenças que há entre os dois.
Porém, qual a diferença de se usar vírgula ou concatenar, no echo ?


[]'s



#870229 Foreach

Posted by Renan Gonçalves on 12/09/2007, 16:15 in PHP

Olá,

Use a função implode.
Dessa forma:
$prefs = implode(', ', $_POST['prefs']);


[]'s



#870223 Busca Google

Posted by Renan Gonçalves on 12/09/2007, 15:45 in PHP

Realmente klauss ele deve fazer isso mesmo !

Pesquisar se tem google na URL, ai ele já sabe que você veio do Google.
E para saber a palavra buscada é fácil !

Notem que quando você faz uma busca a URL fica parecida com:

http://www.google.co...a...uisar&meta=


Vendo o parametro q:

q=WMonline


Ou seja, a palavra que eu usei para fazer a busca.
Deve ser isso ;)


[]'s



#870220 Checar Se Há Ponto Ou Traço Em Um Campo

Posted by Renan Gonçalves on 12/09/2007, 15:34 in PHP

E procure utilizar echo tambem, ele é um construtor da linguagem, então tem mais capacidades que o print :)


Na verdade print também é !
Dê uma olhada em PHP Print na nota, logo abaixo do exemplo.

As diferenças sobre esses dois construtores pode ser visto em: What is the difference between echo and print?


[]'s



#870216 Variáveis Dentro De Classes Com Funções

Posted by Renan Gonçalves on 12/09/2007, 15:20 in PHP

Savior,


Esses métodos que você não quer que sejam vistos são usados em outras classes ?
Porque, veja bem, se você só utiliza esses métodos dentro dessa classe você pode mudar a assinatura para private.



[]'s
PS: Você quis dizer Enterprise Java Beans (EJB) ?



#870056 Flash Cs3 Zuou Meu Windows

Posted by Renan Gonçalves on 11/09/2007, 23:52 in Software

Olá,

Realmente não era... ehehehe.
Mas era de uns dos arquivos que estava no servidor (interno, da empresa) e que veio junto com o flash.
Corrompeu todos os executáveis do micro e do servidor.
E ainda outro micro pegou o vírus ! eheheheh


Estava com Windows XP, mas agora coloquei o Windows Vista Business.
Obrigado a todos !


[]'s



#870051 Converter Programa Java Em Jsp

Posted by Renan Gonçalves on 11/09/2007, 23:33 in Java/JSP

Cara,


Depende de como está esse sistema. De como estão as camadas.
Se estiver com o padrão MVC fica fácil !

Não precisa "converter" o Java para JSP, apenas trocar a camada de view e adaptar a camada de controller para rodar num container web.

Sabe se utiliza algum framework ?
Está desenvolvido com padrão MVC ?


[]'s



#869541 Distância Do Monitor

Posted by Renan Gonçalves on 07/09/2007, 16:28 in Dúvidas Gerais

Tenho 2 monitores crt 17 polegadas com 1280x1024.

Costumo ficar uns 50 cm quando estou relaxado e uns 40 cm quando estou extremamente concentrado.


[]'s



#869460 Codigorandomico()

Posted by Renan Gonçalves on 06/09/2007, 17:30 in Artigos, Dicas e Tutoriais de PHP

Simples ...

Quando $numeroRandomico é igual a strlen($caracteres) dá erro.
No Java seria um StringIndexOfBound ... algo assim.

Para corrigir troque a variável $totalCaracteres=strlen($caracteres); por:
$totalCaracteres=strlen($caracteres) - 1;


[]'s




IPB Skin By Virteq