diff --git a/htdocs/oscommerce_ws/produits/categories.php b/htdocs/oscommerce_ws/produits/categories.php index b255e15869d..9ff09e0a611 100644 --- a/htdocs/oscommerce_ws/produits/categories.php +++ b/htdocs/oscommerce_ws/produits/categories.php @@ -1,5 +1,6 @@ + * Copyright (C) 2007 Jean Heimburger * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,7 +17,6 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Id$ - * $Source$ */ /** @@ -78,12 +78,12 @@ if ($_REQUEST["action"] == 'maj') if ($result > 0) { // Creation OK - $mesg=""; + $mesg="OK"; } else { // Creation KO - $mesg=$myobject->error; + $mesg="KO ".$myobject->error; } } @@ -96,12 +96,12 @@ if ($_REQUEST["action"] == 'maj') if ($result > 0) { // Creation OK - $mesg=""; + $mesg="OK"; } else { // Creation KO - $mesg=$myobject->error; + $mesg="KO ".$myobject->error; } } // $mesg.= " ### ".$_POST["dolicat"]." - " . $_POST["osccat"]." - ".$_POST["catMere"]. "
"."variable dolicat ".$dolicatid."
"; @@ -116,17 +116,40 @@ else if ($_REQUEST["action"] == 'create') $categorie->visible = $_POST["visible"]; $categorie->type = $_POST["type"]; if($_POST['catMere'] != "-1") - $categorie->id_mere = $_POST['catMere']; + { + $mere = new Osc_categorie($db); + $res = $mere->fetch_osccat($_POST['catMere']); + if ($res = 1) + { + $categorie->id_mere = $mere->dolicatid; + if (! $categorie->id_mere) + { + $categorie->error = $langs->trans("ErrorNoParentCategory",$langs->transnoentities("Catmere")); + $_GET["action"] = 'create'; + $mesg = "* catmerem ".$categorie->id_mere."* ".$_POST["nom"]. " * ".$_POST["description"]." * ".$_POST["visible"]." * ".$_POST["type"]." * ".$_POST['catMere']; + } + } + else + { + $categorie->error = $langs->trans("ErrorParent",$langs->transnoentities("Catmere")); + $_GET["action"] = 'create'; + $mesg = "* catmerem ".$categorie->id_mere."* ".$_POST["nom"]. " * ".$_POST["description"]." * ".$_POST["visible"]." * ".$_POST["type"]." * ".$_POST['catMere']; + } + + } + else $categorie->id_mere = -1; if (! $categorie->label) { $categorie->error = $langs->trans("ErrorFieldRequired",$langs->transnoentities("Ref")); $_GET["action"] = 'create'; + $mesg = "* ".$_POST["nom"]. " * ".$_POST["description"]." * ".$_POST["visible"]." * ".$_POST["type"]." * ".$_POST['catMere']; } else if (! $categorie->description) { $categorie->error = $langs->trans("ErrorFieldRequired",$langs->transnoentities("Description")); $_GET["action"] = 'create'; + $mesg = "* ".$_POST["nom"]. " * ".$_POST["description"]." * ".$_POST["visible"]." * ".$_POST["type"]." * ".$_POST['catMere']; } if ($categorie->error =="") @@ -136,19 +159,20 @@ else if ($_REQUEST["action"] == 'create') $_GET["action"] = 'confirmed'; $_POST["addcat"] = ''; $myobject=new Osc_categorie($db); - $myobject->dolicatid=$cat_id; + $myobject->dolicatid=$categorie->id; + $mesg="cat_id recu ".$cat_id." categorie ".$categorie->id." "; $myobject->osccatid=$_POST["osccat"]; $result=$myobject->create($user); if ($result > 0) { // Creation OK - $mesg="cration de ".$myobject->dolicatid.' - '.$myobject->osccatid ; + $mesg.="creation de ".$myobject->dolicatid.' - '.$myobject->osccatid ; } else { // Creation KO - $mesg=$myobject->error; + $mesg.=$myobject->error; } } } @@ -181,7 +205,7 @@ if ($_REQUEST["action"] == 'import') print ''; print '
'; - print ''; + print ''; print ''; // print ''; print $langs->trans("ChooseCategory").' '; @@ -196,7 +220,7 @@ if ($_REQUEST["action"] == 'import') if ($_POST["catMere"] > 0) $parent = $_POST["catMere"]; print ''; print ''; - print ''; + print ''; print ''; print '
'; print ''; @@ -234,7 +258,7 @@ else print ''."\n"; $var=true; - $oscid = 1; +// $oscid = 1; while ($i < min($num,$limit)) { $obj = $db->fetch_object($resql); @@ -266,57 +290,63 @@ if ($_GET["catid"]) $catid = $_GET["catid"]; else $catid= 0; $parameters = array("catid"=>$catid); - // Set the WebService URL $client = new soapclient_nusoap(OSCWS_DIR."ws_articles.php"); $result = $client->call("get_categorylist",$parameters ); + if ($client->fault) { - dolibarr_print_error('',"erreur de connexion ".$client->getError()); + if ($client->faultcode == 'Server') print '

Il n\'y a pas de catégorie fille pour la catégorie '.$catid.'

'; + else dolibarr_print_error('',"erreur de connexion ".$client->getError()); } -elseif (!($err = $client->getError()) ) -{ - $num=0; - if ($result) $num = sizeof($result); - $var=True; - $i=0; - print '
liste categories '.$catid.'
'; - print_r($result); - if ($num > 0) { - print ""; - print ''; - print ""; - print ""; - print ""; - print ''; - print ""; - print ""; - print ""; +elseif ( !($err = $client->getError()) ) + { + $num=0; + if ($result) $num = sizeof($result); + $var=True; + $i=0; + print '
liste categories '.$catid.'
'; + + if ($num > 0) { + print "
idnomparentdescid dolibarrImporter
"; + print ''; + print ""; + print ""; + print ""; +// print ''; + print ""; + print ""; + print ""; - $dolicat = new Osc_Categorie($db); + $dolicat = new Osc_Categorie($db); - while ($i < $num) { - $var=!$var; - print ""; - print ''; - print ""; - print ''; - $dolicatid = $dolicat->fetch_osccat($result[$i]['categories_id']); - print ''; - print ''; - print ''; - print ""; - $i++; - } - } + while ($i < $num) { + $var=!$var; + print ""; + print ''; + print ""; + print ''; + $dolicatid = $dolicat->fetch_osccat($result[$i]['categories_id']); + if ($dolicat->dolicatid) print ''; + else print ''; + + //print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ' '; + print ""; + $i++; + } + } + else print '

cleint : '.$client->getError().'

'; + } // End of page diff --git a/htdocs/oscommerce_ws/produits/osc_categories.class.php b/htdocs/oscommerce_ws/produits/osc_categories.class.php index 319dfe846af..bc8689c7087 100644 --- a/htdocs/oscommerce_ws/produits/osc_categories.class.php +++ b/htdocs/oscommerce_ws/produits/osc_categories.class.php @@ -1,5 +1,6 @@ + * Copyright (C) 2007 Jean Heimburger * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -107,7 +108,7 @@ class Osc_Categorie else { $this->error=$this->db->lasterror(); - $this->error = $sql; + $this->error .= "erreur ".$sql; dolibarr_syslog("Osc_Categorie.class::create ".$this->error); return -1; } @@ -217,6 +218,8 @@ class Osc_Categorie $this->dolicatid = $obj->dolicatid; $this->osccatid = $obj->osccatid; } + else + $this->initAsSpecimen(); $this->db->free($resql); return 1;
idnomparentdescid dolibarrImporter
'.$result[$i]['categories_id'].'".$result[$i]['categories_name']."'.$result[$i]['parent_id'].''.$dolicat->dolicatid.'Importer
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'.$result[$i]['categories_id'].'".$result[$i]['categories_name']."'.$result[$i]['parent_id'].''.$dolicat->dolicatid.'Importer