Antena 0 Denunciar post Postado Abril 29, 2011 Olá pessoal, Gostaria de saber se há uma alma caridosa que poderia modificar este módulo feito para oscommerce funcionar independente. Tipo, uma database independente e um formulário independente para que possa enviar aos meus clientes do ML as atualizações dos Correios, sem necessitar do oscommerce? São apenas dois arquivos utilizados no oscommerce. Postarei aqui os códigos pois não há como anexar ao meu post. SQL CREATE TABLE rastreamento ( codigo_rastreio varchar(13) NOT NULL, pedido_id varchar(25) NOT NULL, email varchar(100) NOT NULL, rastreio text, rastreando char(1), PRIMARY KEY(codigo_rastreio)); INSERT INTO `configuration_group` ( `configuration_group_id`, `configuration_group_title`, `configuration_group_description`, `sort_order`, `visible` ) VALUES (90, 'Rastreamento Correios', 'Rastreamento de Objetos enviados pelos Correios', '90', '1'); INSERT INTO `configuration` ( `configuration_id` , `configuration_title` , `configuration_key` , `configuration_value` , `configuration_description` , `configuration_group_id` , `sort_order` , `last_modified` , `date_added` , `use_function` , `set_function` ) VALUES ( '9000', 'Rastreamento Ativo', 'RASTREAMENTO_JPDBR_STATUS', 'true', 'Ativar rastreamento e emails automáticos de Rastreamento?', '90', NULL , NULL , '2009-07-03 15:36:51', NULL , 'tep_cfg_select_option(array(''true'', ''false''),' ); INSERT INTO `configuration` ( `configuration_id` , `configuration_title` , `configuration_key` , `configuration_value` , `configuration_description` , `configuration_group_id` , `sort_order` , `last_modified` , `date_added` , `use_function` , `set_function` ) VALUES ( '9001', 'Email da Expedição', 'RASTREAMENTO_JPDBR_EMAIL_EXPEDICAO', 'Departamento de Expedicao <expedicao@seusite.com.br>', 'Email que vai aparecer como responsavel pelo envio da mensagem. As pessoas chegam a responder estes emails, portanto coloque um email válido', '90', NULL , NULL , '2009-07-03 15:36:51', NULL , NULL); INSERT INTO `configuration` ( `configuration_id` , `configuration_title` , `configuration_key` , `configuration_value` , `configuration_description` , `configuration_group_id` , `sort_order` , `last_modified` , `date_added` , `use_function` , `set_function` ) VALUES ( '9002', 'URL de Rastreamento', 'RASTREAMENTO_JPDBR_URL', 'http://websro.correios.com.br/sro_bin/txect01$.QueryList?P_LINGUA=001&P_TIPO=001&P_COD_UNI=', 'URL de rastreamento. Modificar somente se os Correios modificarem', '90', NULL , NULL , '2009-07-03 15:36:51', NULL , NULL); ALTER TABLE `orders` ADD `codigo_rastreio` VARCHAR( 13 ) NOT NULL AFTER `currency_value` ; ALTER TABLE `orders_status_history` ADD `codigo_rastreio` VARCHAR( 13 ) NOT NULL ; Rastreamento.php <?php /*********************************************************************************************** MÓDULO DESENVOLVIDO ORIGINALMENTE POR JOAO PAULO DIAS(JPD_BR) V.1.0 Contato do autor: jpd_br@yahoo.com.br(nao contatar para duvidas, não serão respondidas sob hipótese alguma! Contato com o autor somente via os fóruns dos links abaixo: Omeunuke: http://www.omeunuke.com/omeunuke/modules.php?name=Forums&file=viewtopic&p=24396#24396 PhpMania: http://www.phpmania.org/modules.php?name=Forums&file=viewtopic&p=31285#31285 CONTRIBUA E AJUDE O OPENSOURCE É PROIBIDO O COMÉRCIDO/TROCA A BASE DE RECURSOS MONETÁRIOS DESSA CONTRIBUIÇÃO ************************************************************************************************ TERMOS E CONDIÇÕES DE USO: A definição Open Source Iniciative(OSI) Garante: 1. Distribuição livre 2. Código fonte 3. Trabalhos Derivados 4. Integridade do autor do código fonte 5. Não discriminação contra pessoas ou grupos 6. Não discriminação contra áreas de atuação 7. Distribuição da Licença 8. Licença não específica à um produto 9. Licença não restrinja outros programas 10. Licença neutra em relação a tecnologia ************************************************************************************************ Se você acrescentar algo a essa contribuição, adicione as mudanças criadas e seu nick na lista assim como o fórum onde está sendo discutido o assunto: 1. João Paulo Dias - jpd_br - Construção completa do módulo da versao 1.0. ************************************************************************************************ PROJETADO PARA OSCOMMERCE MS2 2.2 OMENUKE E PHPMANIA. ***********************************************************************************************/ //---------------------------------------------------------------------------------------------- //Defina na variavel abaixo o código HTML para o cabeçalho do email $cabecalho= '<center><table width="580" border="1" cellpadding="0" cellspacing="0" bordercolor="blue"><tr><td width="600"><font face="Arial, Helvetica, sans-serif"><center><h2>Rastreamento de sua encomenda!</h2></center><br><br>Prezado cliente, Seu pedido já foi despachado pelo Correios.<br>Este e-mail esta sendo enviado para lhe informar a situação da entrega.<br><br><br>'; //Defina na variavel abaixo o código HTML para o rodape do email $titulo = '[FRETE] Rastreamento de seu Pedido n.:'; //Defina na variavel abaixo o código HTML para o rodape do email $rodape = '</table><br><br>Seu pedido também pode ser acompanho diretamente pelo site dos Correios, basta utilizar o código de rastreio <b>'; //---------------------------------------------------------------------------------------------- //Chamando o Motor do Oscommerce require('includes/application_top.php'); //Anexando arquivos para evitar erros de Cron, descomentar se ativar o Cron job /*include 'includes/functions/database.php'; include 'includes/configure.php'; include 'includes/functions/general.php'; include 'includes/database_tables.php'; */ function rastreio($code){ // Definindo endereço da página de Rastreamento dos Correios $url = RASTREAMENTO_JPDBR_URL.$code; // Um verificaçao simples para ver se foi realizada com sucesso a captaçao $endereco = 'nf'; while ($endereco == 'nf'){ $endereco = file_get_contents($url); } //Texto Procurado dentro do código HTML... as palavras Chave $busca_inicial = '<img align=absmiddle src=../correios/Img/correios.gif>'; $busca_final = '</TABLE>'; //Procurando a palavrada 'Data' dentro do código fonte da página Capturada; $inicial = stripos($endereco, $busca_inicial); $final = stripos($endereco, $busca_final); $aux = $final - $inicial; //Cortando o código HTML para pegar apenas a região de interesse: $codigo = substr($endereco, ($inicial + 54), $aux); // O 54 é o numero de caracteres contido na string $busca_inicial return ($codigo); } // Verifica se está ativo o serviço de rastreamento, se sim, prossegue, senao, para. if ( RASTREAMENTO_JPDBR_STATUS == true){ //Capta todos os códigos rastreaveis para rastrear nesse evento do CrowJob $rastreamento = tep_db_query('SELECT * FROM rastreamento WHERE rastreando = 1'); //Inicia a verificaçao do Status de Rastreio de cada elemento da tabela while ($rast = tep_db_fetch_array($rastreamento)){ $temp = rastreio($rast['codigo_rastreio']); //Uma boa pratica é nao armazenar tags html no bd, pois ocupam mt espaço, nesse caso, guardamos e comparamos somente os textos sem tags, por isso // nao se deve nunca usar o que esta no bd para impressao, apenas para comparaçao. $temp2 = strip_tags($temp); //Verifica se houve alguma atualizaçao em relaçao a ultima vez, se sim, muda dados e envia email. Senao, não faz nada, apenas contina o looping. if ($temp2 != $rast['rastreio']){ $codigo = $rast['codigo_rastreio']; tep_db_query("UPDATE `rastreamento` SET rastreio = '".$temp2."' WHERE CONVERT(`codigo_rastreio` USING utf8 ) = '".$codigo."' LIMIT 1"); // Prepara email $texto_final = $cabecalho.$temp.$rodape.$rast['codigo_rastreio'].'</b><br><br><br>Agradecemos por comprar conosco!<br><br></font></td></tr></table><center>!'; // Enviando o email e configurando email em HTML entre outros balbalbalas $headers = 'MIME-Version: 1.0' . "\n"; $headers .= 'Content-type: text/html; charset=utf-8' . "\n"; $headers .= 'From: '.RASTREAMENTO_JPDBR_EMAIL_EXPEDICAO. "\n"; mail($rast['email'], $titulo.$rast['pedido_id'], $texto_final, $headers); } //Verifica se o pedido já foi entregue, se ainda sim, marca o campo rastreando como 0 $status_on = stripos($temp2, 'Entregue'); if ($status_on !== false){ tep_db_query("UPDATE `rastreamento` SET `rastreando` = \'0\' WHERE `codigo_rastreio` = '".$rast['codigo_rastreio']."' LIMIT 1 ;"); } } // Fim While }// Fim If inicial */ ?> Compartilhar este post Link para o post Compartilhar em outros sites
Antena 0 Denunciar post Postado Maio 2, 2011 Para ficar mais simples alguém pode ajudar a criar um formulário no qual eu posso inserir os dados nesta DB: CREATE TABLE rastreamento ( codigo_rastreio varchar(13) NOT NULL, pedido_id varchar(25) NOT NULL, email varchar(100) NOT NULL, rastreio text, rastreando char(1), PRIMARY KEY(codigo_rastreio)); Preciso inserir os dados: Número do pedido email do cliente Compartilhar este post Link para o post Compartilhar em outros sites