Pessoal,
Quando instalar o mod, verifica no vqmod.log o erro que aparece, na maioria dos casos as novas versão do OC tem alteração nos model, controller e views.
Para quem não conseguiu rodar na versão Versão 1.5.4.x, segue abaixo a alteração no xml.
Vai na linha 1988:
Logo abaixo tem o <operation> deste arquivo.
Antes:
Código: Selecionar todos<operation>
<search position="replace" index="1"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "customer SET store_id = '" . (int)$this->config->get('config_store_id') . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', password = '" . $this->db->escape(md5($data['password'])) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', customer_group_id = '" . (int)$customer_group_id . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW()");]]></search>
<add><![CDATA[
if ($this->config->get('fields_register_brazil_status')){
if ($data['data_nascimento'] == ""){
$dataparts[0] = "00";
$dataparts[1] = "00";
$dataparts[2] = "0000";
}else{
$dataparts = explode("/",$data['data_nascimento']);
}
$data['firstname'] = ucwords(strtr(strtolower($data['firstname']),"ÀÃÂÃÄÅÆÇÈÉÊËÌÃÃŽÃÃÑÒÓÔÕÖרÙÜÚÞß","à áâãäåæçèéêëìÃîïðñòóôõö÷øùüúþÿ"));
$data['lastname'] = ucwords(strtr(strtolower($data['lastname']),"ÀÃÂÃÄÅÆÇÈÉÊËÌÃÃŽÃÃÑÒÓÔÕÖרÙÜÚÞß","à áâãäåæçèéêëìÃîïðñòóôõö÷øùüúþÿ"));
$data['email'] = strtr(strtolower($data['email']),"ÀÃÂÃÄÅÆÇÈÉÊËÌÃÃŽÃÃÑÒÓÔÕÖרÙÜÚÞß","à áâãäåæçèéêëìÃîïðñòóôõö÷øùüúþÿ");
$data['telephone'] = preg_replace('/([^0-9])/i','',$data['telephone']);
$data['fax'] = preg_replace('/([^0-9])/i','',$data['fax']);
$data['cpf'] = preg_replace('/([^0-9])/i','',$data['cpf']);
$data['rg'] = preg_replace('/([^0-9])/i','',$data['rg']);
$data['cnpj'] = preg_replace('/([^0-9])/i','',$data['cnpj']);
$data['inscricao_estadual'] = preg_replace('/([^a-z0-9])/i','',$data['inscricao_estadual']);
$this->db->query("INSERT INTO " . DB_PREFIX . "customer SET store_id = '" . (int)$this->config->get('config_store_id') . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', cpf = '" . $this->db->escape($data['cpf']) . "', rg = '" . $this->db->escape($data['rg']) . "', cnpj = '" . $this->db->escape($data['cnpj']) . "', razao_social = '" . $this->db->escape($data['razao_social']) . "', inscricao_estadual = '" . $this->db->escape($data['inscricao_estadual']) . "', data_nascimento = '" . $this->db->escape($dataparts[2]."-".$dataparts[1]."-".$dataparts[0]) . "', sexo = '" . $this->db->escape($data['sexo']) . "', password = '" . $this->db->escape(md5($data['password'])) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', customer_group_id = '" . (int)$customer_group_id . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW()");
}else{
$this->db->query("INSERT INTO " . DB_PREFIX . "customer SET store_id = '" . (int)$this->config->get('config_store_id') . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', password = '" . $this->db->escape(md5($data['password'])) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', customer_group_id = '" . (int)$customer_group_id . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW()");
}
]]></add>
</operation>
Depois/Alterado:
Código: Selecionar todos<operation>
<search position="replace" index="1"><![CDATA[$this->db->query("INSERT INTO " . DB_PREFIX . "customer SET store_id = '" . (int)$this->config->get('config_store_id') . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', salt = '" . $this->db->escape($salt = substr(md5(uniqid(rand(), true)), 0, 9)) . "', password = '" . $this->db->escape(sha1($salt . sha1($salt . sha1($data['password'])))) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', customer_group_id = '" . (int)$customer_group_id . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW()");]]></search>
<add><![CDATA[
if ($this->config->get('fields_register_brazil_status')){
if ($data['data_nascimento'] == ""){
$dataparts[0] = "00";
$dataparts[1] = "00";
$dataparts[2] = "0000";
}else{
$dataparts = explode("/",$data['data_nascimento']);
}
$data['firstname'] = ucwords(strtr(strtolower($data['firstname']),"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÜÚÞß","àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ"));
$data['lastname'] = ucwords(strtr(strtolower($data['lastname']),"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÜÚÞß","àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ"));
$data['email'] = strtr(strtolower($data['email']),"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÜÚÞß","àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ");
$data['telephone'] = preg_replace('/([^0-9])/i','',$data['telephone']);
$data['fax'] = preg_replace('/([^0-9])/i','',$data['fax']);
$data['cpf'] = preg_replace('/([^0-9])/i','',$data['cpf']);
$data['rg'] = preg_replace('/([^0-9])/i','',$data['rg']);
$data['cnpj'] = preg_replace('/([^0-9])/i','',$data['cnpj']);
$data['inscricao_estadual'] = preg_replace('/([^a-z0-9])/i','',$data['inscricao_estadual']);
$this->db->query("INSERT INTO " . DB_PREFIX . "customer SET store_id = '" . (int)$this->config->get('config_store_id') . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', salt = '" . $this->db->escape($salt = substr(md5(uniqid(rand(), true)), 0, 9)) . "', password = '" . $this->db->escape(sha1($salt . sha1($salt . sha1($data['password'])))) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', customer_group_id = '" . (int)$customer_group_id . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW(), cpf = '" . $this->db->escape($data['cpf']) . "', rg = '" . $this->db->escape($data['rg']) . "', cnpj = '" . $this->db->escape($data['cnpj']) . "', razao_social = '" . $this->db->escape($data['razao_social']) . "', inscricao_estadual = '" . $this->db->escape($data['inscricao_estadual']) . "', data_nascimento = '" . $this->db->escape($dataparts[2]."-".$dataparts[1]."-".$dataparts[0]) . "', sexo = '" . $this->db->escape($data['sexo']) . "'");
}else{
$this->db->query("INSERT INTO " . DB_PREFIX . "customer SET store_id = '" . (int)$this->config->get('config_store_id') . "', firstname = '" . $this->db->escape($data['firstname']) . "', lastname = '" . $this->db->escape($data['lastname']) . "', email = '" . $this->db->escape($data['email']) . "', telephone = '" . $this->db->escape($data['telephone']) . "', fax = '" . $this->db->escape($data['fax']) . "', salt = '" . $this->db->escape($salt = substr(md5(uniqid(rand(), true)), 0, 9)) . "', password = '" . $this->db->escape(sha1($salt . sha1($salt . sha1($data['password'])))) . "', newsletter = '" . (isset($data['newsletter']) ? (int)$data['newsletter'] : 0) . "', customer_group_id = '" . (int)$customer_group_id . "', ip = '" . $this->db->escape($this->request->server['REMOTE_ADDR']) . "', status = '1', approved = '" . (int)!$customer_group_info['approval'] . "', date_added = NOW()");
}
]]></add>
</operation>
Resolvendo problemas
Pelo vqmod.log ele mostra onde está o erro, e interrompe o MOD.
O correto e ir no arquivo que deu erro, e verificar o <search> do xml, se está idêntico ao arquivo.php
Para a versão 1.5.4.x a alteração foi na linha do password, no INSERT tem o atributo salt (novo) e alteração no atributo password, por isso o motivo do erro no MOD.
Procurem sempre olhar o vqmod.log ele mostra o que deu errado na execução.