X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=inline;f=pepper%2Fshopimport_db.php;h=87db00ad5c9fe7f742520def20930ca777be3b6c;hb=7b8bda2cb40192d77faee5226ebeadd38ba99545;hp=c24d608c24c18ee3561c174d6008b97afe0e03ee;hpb=f33a755c10df3cb6c1b419ed568488aea7f35650;p=kivitendo-erp.git
diff --git a/pepper/shopimport_db.php b/pepper/shopimport_db.php
index c24d608c2..87db00ad5 100644
--- a/pepper/shopimport_db.php
+++ b/pepper/shopimport_db.php
@@ -71,7 +71,7 @@ global $db2,$pricegroup;
}
// Ab hier Import der Daten in den Shop
-function createCategory($name,$maingroup,$tab) {
+function createCategory($name,$maingroup,$tab,$PID) {
global $db,$langs;
$newID=uniqid(rand());
$sql="insert into kategorien (Bild_gross,Bild_last_modified) values ('$newID',now())";
@@ -84,9 +84,12 @@ global $db,$langs;
$sql="select max(Positions_Nr) as Max from kategorien where Unterkategorie_von $u";
$rs=$db->getAll($sql,DB_FETCHMODE_ASSOC);
$pos=$rs[0]["Max"]+1;
- $sql="update kategorien set Unterkategorie_von=%s, Name='%s', Positions_Nr=%d,MwSt_Satz=%0.2f, Details_anzeigen='N', Bild_gross = Null where kategorie_ID=%d";
+ //$sql="update kategorien set Unterkategorie_von=%s, Name='%s', Positions_Nr=%d,MwSt_Satz=%0.2f, Details_anzeigen='N', Bild_gross = Null where kategorie_ID=%d";
+ $sql="update kategorien set Unterkategorie_von=%s, Name='%s', Tab_text='%s', ist_sichtbar='Y',";
+ $sql.="Positions_Nr=%d,MwSt_Satz=%0.2f, Details_anzeigen='N', Bild_gross = Null, Parent_ID=%d where kategorie_ID=%d";
echo "($name) ";
- $rc=$db->query(sprintf($sql,$maingroup,$name,$pos,$mwst,$id));
+ //$rc=$db->query(sprintf($sql,$maingroup,$name,$pos,$mwst,$id));
+ $rc=$db->query(sprintf($sql,$maingroup,$name,$tab,$pos,$mwst,$PID,$id));
return ($rc)?$id:false;
} else {
return false;
@@ -95,6 +98,7 @@ global $db,$langs;
function getCategory($name) {
global $db;
if (empty($name)) $name="Default";
+ $name = utf8_decode($name);
preg_match("/^(\[(.*)\])?([^!]+)!?(.*)/",$name,$ref);
if ($ref[1]<>""){
$tab=$ref[2];
@@ -128,7 +132,7 @@ global $db;
if ($rs[0]["Kategorie_ID"]) { // gefunden
$maingroup=$rs[0]["Kategorie_ID"];
} else { // nicht gefunden, anlegen
- $maingroup=createCategory($main,"Null","$tab");
+ $maingroup=createCategory($main,"Null","$tab",0);
}
echo $maingroup.":".$main." ";
if ($sub && $maingroup) {
@@ -138,37 +142,34 @@ global $db;
if ($rs[0]["Kategorie_ID"]) { // gefunden
$maingroup=$rs[0]["Kategorie_ID"];
} else { // nicht gefunden, anlegen
- $maingroup=createCategory($sub,"'$main'","");
+ $maingroup=createCategory($sub,"'$main'","",$maingroup);
}
};
echo $sub." ";
return $maingroup;
}
function bilder($width,$height,$dest) {
- if (!function_exists("imagick_readimage")) { echo "Imagick-Extention nicht installiert"; return false; };
- $handle=imagick_readimage("./tmp/tmp.file_org");
- if (!$handle) {
- $reason = imagick_failedreason( $handle ) ;
- print "Lesen: $reason
\n" ; flush();
- return false;
- }
- if (!imagick_resize( $handle, $width, $height, IMAGICK_FILTER_UNKNOWN, 0)) {
- $reason = imagick_failedreason( $handle ) ;
- print "Resize: $reason
\n" ; flush();
- return false;
- }
- if (!imagick_writeimage( $handle,"./tmp/tmp.file_$dest")) {
- $reason = imagick_failedreason( $handle ) ;
- print "Schreiben: $reason
\n" ; flush();
- return false;
- }
- return true;
+ if (!class_exists("Imagick")) { echo "Imagick-Extention nicht installiert"; return false; };
+ $handle= new Imagick();
+ if (!$handle->readImage("./tmp/tmp.file_org")) return false;
+ $d = $handle->getImageGeometry();
+ if ($d["width"]<$d["height"]) {
+ $f = $d["width"]/$d["height"];
+ $w = floor($width*$f);
+ $h = $height;
+ } else {
+ $f = $d["height"]/$d["width"];
+ $w = $width;
+ $h = floor($height*$f);
+ }
+ $handle->thumbnailImage( $w, $h);
+ return $handle->writeImage( "./tmp/tmp.file_$dest");
}
function uploadImage($image,$ArtNr) {
global $db,$ERPftphost,$ERPftpuser,$ERPftppwd,$ERPimgdir,
$SHOPftphost,$SHOPftpuser,$SHOPftppwd,$SHOPimgdir,$iconsize;
if ($ERPftphost=="localhost") {
- exec("cp $ERPimgdir/$image ./tmp/tmp.file_org",$aus,$rc2);
+ echo exec("cp $ERPimgdir/$image ./tmp/tmp.file_org",$aus,$rc2);
if ($rc2>0) { echo "[Downloadfehler: $image]
"; return false; };
} else {
$conn_id = ftp_connect($ERPftphost);
@@ -179,12 +180,13 @@ global $db,$ERPftphost,$ERPftpuser,$ERPftppwd,$ERPimgdir,
ftp_quit($conn_id);
};
bilder($iconsize,$iconsize,"smal");
+ bilder(550,550,"big");
$rc=preg_match("#(.+/)?([^\.]+)\.(.+)$#",$image,$treffer);
$gr=$treffer[2]."_gr.".$treffer[3];
$kl=$treffer[2]."_kl.".$treffer[3];
if ($SHOPftphost=="localhost") {
$dst=$SHOPimgdir."/".$gr;
- exec("cp ./tmp/tmp.file_org $dst",$aus,$rc2);
+ exec("cp ./tmp/tmp.file_big $dst",$aus,$rc2);
if ($rc2>0) { echo "[Uploadfehler: $dst]
"; return false; };
$dst=$SHOPimgdir."/".$kl;
exec("cp ./tmp/tmp.file_smal $dst",$aus,$rc2);
@@ -193,7 +195,7 @@ global $db,$ERPftphost,$ERPftpuser,$ERPftppwd,$ERPimgdir,
$conn_id = ftp_connect($SHOPftphost);
ftp_login($conn_id,$SHOPftpuser,$SHOPftppwd);
ftp_chdir($conn_id,$SHOPimgdir);
- $upload=ftp_put($conn_id,$SHOPimgdir."/$gr","tmp/tmp.file_org",FTP_BINARY);
+ $upload=ftp_put($conn_id,$SHOPimgdir."/$gr","tmp/tmp.file_big",FTP_BINARY);
if (!$upload) { echo "[Ftp Uploadfehler! $gr]
"; return false; };
$upload=ftp_put($conn_id,$SHOPimgdir."/$kl","tmp/tmp.file_smal",FTP_BINARY);
if (!$upload) { echo "[Ftp Uploadfehler! $kl]
"; return false; };
@@ -217,19 +219,19 @@ global $db;
} else { return false; }
}
function updartikel($data,$id) {
-global $db,$bugru;
+global $db,$bugru,$mwst;
$sql ="update artikel set Preis=%01.2f,Gewicht=%0.2f,MwSt_Satz=%0.2f,letzteAenderung=now(),";
$sql.="Name='%s',Beschreibung='%s',Lagerbestand=%d where Artikel_ID=%d";
$preis=($data["sellprice"]>0)?$data["sellprice"]:$data["stdprice"];
- $preis+=$preis/100*$bugru[$data["bugru"]];
- $sql=sprintf($sql,$preis,$data["weight"],$bugru[$data["bugru"]],$data["description"],$data["notes"],$data["onhand"],$id);
+ if ($mwst) $preis+=$preis/100*$bugru[$data["bugru"]];
+ $sql=sprintf($sql,$preis,$data["weight"],$bugru[$data["bugru"]],utf8_decode($data["description"]),utf8_decode($data["notes"]),$data["onhand"],$id);
$rc=$db->query($sql);
$sql="update artikel_kategorie set FK_Kategorie_ID=".$data["categories_id"]." where FK_Artikel_ID=$id";
$rc=$db->query($sql);
echo "+++
";
}
function chkartikel($data) {
-global $db,$shop2erp;
+global $db,$shop2erp,$mwst;
if ($data["partnumber"]=="") { echo "Artikelnummer fehlt!
"; return false;};
$sql="select * from artikel A left join artikel_kategorie K on A.Artikel_id=K.FK_Artikel_ID where Artikel_Nr like '".$data["partnumber"]."'";
$rs=$db->getAll($sql,DB_FETCHMODE_ASSOC);
@@ -241,7 +243,7 @@ global $db,$shop2erp;
else { $data["picname"]=""; };
}
$preis=($data["sellprice"]>0)?$data["sellprice"]:$data["stdprice"];
- $preis+=$preis/100*$bugru[$data["bugru"]];
+ if ($mwst) $preis+=$preis/100*$bugru[$data["bugru"]];
if ($rs[0]["Preis"]<>$preis) { updartikel($data,$rs[0]["Artikel_ID"]); }
else if ($rs[0]["Gewicht"]<>$data["weight"]) { updartikel($data,$rs[0]["Artikel_ID"]); }
else if ($rs[0]["Name"]<>$data["description"]) { updartikel($data,$rs[0]["Artikel_ID"]); }
@@ -263,6 +265,7 @@ global $db,$shop2erp;
$artikel=shopartikel();
echo "Artikelexport ERP -> PHPepper :".count($artikel)." Artikel markiert.
";
+flush();
if ($artikel) {
$bugru=getBugru();
$sql="select Thumbnail_Breite from shop_settings";