- 27 Mar 2015, 16:22
#58438
Pessoal criei este importador de ISC para o Opencart, porem apos executar o script, q nao da erro nenhum, os produtos nao vem, e os clientes vao, mas nao aparecem no painel administrativo do opencart, alguem poderia dar uma mao?
Código: Selecionar todos
<div id="importando" style="background-color: #4682b4; color:#fff; width: 100px;text-align: center; top: 100px; left:450px;">Importando...</div>
<div id="erros"></div>
<?php
error_reporting(E_ALL);
function Diretorios($texto) {
$texto = $texto;
$bomba = explode('/',$texto);
$diretorios = (count($bomba) - 1);
$pasta = '';
for($i=0; $i < $diretorios; $i++) {
$pasta .= $bomba[$i].'/';
}
return mkdir($pasta);
}
if(isset($_GET['GOL'])) {
$ISCDir = $_GET['isc_dir'];
$OCDir = $_GET['oc_dir'];
$ISC = mysql_connect($_GET['isc_srv'],$_GET['isc_user'],$_GET['isc_pwd']);
if($ISC) {
$DB1 = $_GET['isc_dbn'];
$DB_SelISC = mysql_select_db($DB1,$ISC);
if(!$DB_SelISC) {
die('Banco de Dados ISC informado nao encontrado...<br>MySQL Error:'.mysql_error());
}
} else {
die('Erro ao conectar com o Servidor ISC informado...<br>MySQL Error:'.mysql_error());
}
$OC = mysql_connect($_GET['oc_srv'],$_GET['oc_user'],$_GET['oc_pwd']);
if($OC) {
$DB2 = $_GET['oc_dbn'];
$DB_SelOC = mysql_select_db($DB2,$OC);
if(!$DB_SelOC) {
die('Banco de Dados OpenCart informado nao encontrado...<br>MySQL Error:'.mysql_error());
}
} else {
die('Erro ao conectar com o Servidor OpenCart informado...<br>MySQL Error:'.mysql_error());
}
$ins = 'truncate table '.$DB2.'.product;';
$qry = mysql_db_query($DB2,$ins,$OC);
$ins = 'truncate table '.$DB2.'.product_image;';
$qry = mysql_db_query($DB2,$ins,$OC);
$ins = 'truncate table '.$DB2.'.product_description;';
$qry = mysql_db_query($DB2,$ins,$OC);
$log = '';
// produtos
$ins = 'select * from isc_product;';
$qry = mysql_db_query($DB1,$ins,$ISC);
if(!$qry) {
$log .= '<br> [qry] SQL: '.$ins.'<br>ERRO - '.mysql_error();
}
if($qry) {
$lin = mysql_num_rows($qry);
if($lin > 0) {
while($obj = mysql_fetch_object($qry)) {
$ins = 'select * from isc_product_images where imageprodid="'.$obj->productid.'" order by imageid;';
$qryIMGS = mysql_db_query($DB1,$ins,$ISC);
if(!$qryIMGS) {
$log .= '<br> [qryIMGS] SQL: '.$ins.'<br>ERRO'.mysql_error();
}
if($qryIMGS) {
$lin = mysql_num_rows($qryIMGS);
if($lin > 0) {
$c = 0;
while($imgs = mysql_fetch_object($qryIMGS)) {
$cria = Diretorios($OCDir.'/image/data/'.$imgs->imagefile); // criou diretorio dentro do opencart h/916/14__79487.jpg
if(!$cria) {
$log .= '<br>Erro ao criar diretorio!';
}
$arq1 = $ISCDir.'/product_images/'.$imgs->imagefile;
$arq2 = $OCDir.'/image/data/'.$imgs->imagefile;
$copiar = copy($arq1,$arq2);
if(!$copiar) {
$log .= '<br>Erro ao copiar arquivos [1]= '.$arq1.'<br>[2] = '.$arq2;
}
if($c == 0) {
$ins = 'insert into product(product_id, quantity, image, manufacturer_id, price, date_available, weight, length, width, height) ';
$ins .= 'values("'.$obj->productid.'","'.$obj->prodcurrentinv.'","'.$imgs->imagefile.'","'.$obj->prodvendorid.'"';
$ins .= ',"'.$obj->prodprice.'","'.date("Y-m-d").'","'.$obj->prodweight.'","0","'.$obj->prodwidth.'","'.$obj->prodheight.'");';
$grava = mysql_db_query($DB2,$ins,$OC);
if(!$grava) {
$log .= '<br>Erro [grava] SQL: '.$ins.'<br>'.mysql_error();
}
unset($grava);
} else {
$ins = 'insert into product_image(product_id,image,sort_order) values("'.$obj->productid.'","'.$imgs->imagefile.'","'.$c.'");';
$grava = mysql_db_query($DB2,$ins,$OC);
if(!$grava) {
$log .= '<br>Erro [grava] SQL: '.$ins.'<br>'.mysql_error();
}
unset($grava);
}
$c++;
} // fim while q varre as imagens
} // fim verifica se tem alguma imagem no produto ISC
} //
$ins = 'insert into product_description(product_id, language_id, name, description, meta_keyword, meta_description) values';
$ins .= '("'.$obj->productid.'","1","'.$obj->prodname.'","'.$obj->proddesc.'","'.$obj->prodsearchkeywords.'","'.$obj->prodmetadesc.'");';
$qryZ = mysql_db_query($DB2,$ins,$OC);
if(!$qryZ) {
$log .= '<br>Erro qryZ SQL: '.$ins.'<br>'.mysql_error();
}
unset($qryZ);
}
}
}
$ip = '192.168.';
$cip1 = 1;
$cip2 = 1;
$ins = 'truncate table '.$DB2.'.address;';
$qry = mysql_db_query($DB2,$ins,$OC);
$ins = 'truncate table '.$DB2.'.customer;';
$qry = mysql_db_query($DB2,$ins,$OC);
// clientes
$ins = 'select * from isc_customers';
$qry = mysql_db_query($DB1,$ins,$ISC);
if($qry) {
$lin = mysql_num_rows($qry);
if($lin > 0) {
while($cliente = mysql_fetch_object($qry)) {
$ins = 'select * from isc_shipping_addresses where shipcustomerid="'.$cliente->customerid.'" order by shipcustomerid DESC limit 1;';
$qry2 = mysql_db_query($DB1,$ins,$ISC);
if($qry2) {
$lin = mysql_num_rows($qry2);
if($lin > 0) {
$enderecoISC = mysql_fetch_object($qry2);
$ins = 'select * from isc_formfieldsessions where formfieldsessioniformsessionid="'.$enderecoISC->shipformsessionid.'" ';
$ins .= 'and formfieldfieldlabel="Numero" order by formfieldsessioniformsessionid';
$qry3 = mysql_db_query($DB1,$ins,$ISC);
if($qry3) {
$lin = mysql_num_rows($qry3);
if($lin > 0) {
$numero = mysql_fetch_object($qry3);
}
}
}
} else {
$log .= '<br>Erro SQL '.$ins.'<br>MYSQL '.mysql_error().'<br><br>';
}
$ins = 'insert into address(address_id, customer_id, firstname, lastname, company, address_1, address_2, city, postcode, tax_id) ';
$ins .= 'values("'.$enderecoISC->shipid.'","'.$cliente->customerid.'","'.$cliente->custconfirstname.'"';
$ins .= ',"'.$cliente->custconlastname.'","'.$enderecoISC->shipaddress2.'",';
$ins .= '"'.$enderecoISC->shipaddress1.', '.$numero->formfieldfieldlabel.'","Centro","'.$enderecoISC->shipcity.'"';
$ins .= ',"'.$enderecoISC->shipzip.'","'.$enderecoISC->shipcompany.'");';
$qry4 = mysql_db_query($DB2,$ins,$OC);
unset($qry4);
if($cip2 > 254) {
$cip1 ++;
$cip2 = 1;
}
$ip = $ip.$cip1.'.'.$cip2;
$cip2++;
$ins = 'insert into customer(customer_id, store_id, firstname, lastname, email, telephone, password, address_id,';
$ins .= 'customer_group_id, date_added, status, cart, wishlist,salt) values("'.$cliente->customerid.'","0","'.$cliente->custconfirstname.'"';
$ins .= ',"'.$cliente->custconlastname.'","'.$cliente->custconemail.'","'.$cliente->custconphone.'",';
$ins .= '"'.$cliente->custpassword.'","'.$enderecoISC->shipid.'","0","'.date("Y-m-d H:i:s").'","1","a:0:{}","a:0:{}","f7e61c2c2");';
$qry5 = mysql_db_query($DB2,$ins,$OC);
unset($qry5);
}
}
} else {
$log .= '<br>Erro SQL: '.$ins.'<br>MYSQL '.mysql_error();
}
$ins = 'truncate table '.$DB2.'.manufacturer;';
$qry = mysql_db_query($DB2,$ins,$OC);
//fabricantes
$ins = 'select * from isc_vendors;';
$qry = mysql_db_query($DB1,$ins,$ISC);
$lin = mysql_num_rows($qry);
if($lin > 0) {
while($brand = mysql_fetch_object($qry)) {
$ins = 'insert into manufacturer(manufacturer_id,name,sort_order) values("'.$brand->vendorid.'","'.$brand->vendorname.'","0");';
$qry2 = mysql_db_query($DB2,$ins,$OC);
$ins = 'insert into manufacturer_to_store(manufacturer_id) values("'.$brand->vendorid.'");';
$qry2 = mysql_db_query($DB2,$ins,$OC);
}
unset($lin);
unset($qry);
unset($qry2);
unset($copiar);
unset($brand);
}
}
echo '<script> $("#importando").hide();';
if(isset($log)) {
echo '$("#erros").html("'.$log.'")';
}
echo '</script>';
?>
<form method="post" name="frm1">
<h1>Este modulo só pode ser utilizado quando houver ISC, nao utilizar em areas de teste!</h1>
<p>Atenção ao importar os Dados a loja Opencart sera esvaziada, ou seja seu conteudo sera apagado, portanto esta ferramenta
so deve ser utilizada na importacao de uma nova loja.</p>
<p><input type="text" name="isc_dir" value="" placeholder="Pasta da Loja ISC" /></p>
<p><input type="text" name="isc_srv" value="" placeholder="Servidor MySQL ISC..." /></p>
<p><input type="text" name="isc_user" value="" placeholder="Usuario MySQL ISC..." /></p>
<p><input type="text" name="isc_pwd" value="" placeholder="Senha MySQL ISC..." /></p>
<p><input type="text" name="isc_dbn" value="" placeholder="Banco de Dados MySQL ISC..." /></p>
<p><input type="text" name="oc_dir" value="" placeholder="Pasta da Loja OpenCart" /></p>
<p><input type="text" name="oc_srv" value="" placeholder="Servidor MySQL OpenCart..." /></p>
<p><input type="text" name="oc_user" value="" placeholder="Usuario MySQL OpenCart..." /></p>
<p><input type="text" name="oc_pwd" value="" placeholder="Senha MySQL OpenCart..." /></p>
<p><input type="text" name="oc_dbn" value="" placeholder="Banco de Dados MySQL OpenCart..." /></p>
<input type="button" class="button" id="importar" value="Importar" />
</form>
<script type="text/javascript">
$("#importando").hide();
$("#importar").click(function() {
var a0 = document.frm1.isc_dir.value;
var a1 = document.frm1.isc_srv.value;
var a2 = document.frm1.isc_user.value;
var a3 = document.frm1.isc_pwd.value;
var a4 = document.frm1.isc_dbn.value;
var a5 = document.frm1.oc_dir.value;
var a6 = document.frm1.oc_srv.value;
var a7 = document.frm1.oc_user.value;
var a8 = document.frm1.oc_pwd.value;
var a9 = document.frm1.oc_dbn.value;
$("#importando").show();
$("#importando").load('importador.php?GOL=brasil&isc_dir='+a0+'&isc_srv='+a1+'&isc_user='+a2+'&isc_pwd='+a3+'&isc_dbn='+a4+'&oc_dir='+a5+'&oc_srv='+a6+'&oc_user='+a7+'&oc_pwd='+a8+'&oc_dbn='+a9+'');
});
</script>