[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dolibarr-dev] Interface Dolibarr OSC
From: |
Jean |
Subject: |
[Dolibarr-dev] Interface Dolibarr OSC |
Date: |
Wed, 20 Jun 2007 15:30:15 -1000 |
User-agent: |
Debian Thunderbird 1.0.2 (X11/20070113) |
Nouvelle soumission des modifications de l'interface OsCommerce
diff -Naur --exclude=CVS --exclude='.#*' --exclude='*~' --exclude=documents
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/clients/pre.inc.php
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/clients/pre.inc.php
---
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/clients/pre.inc.php
2006-08-11 13:20:32.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/clients/pre.inc.php
2007-05-19 10:17:12.000000000 -1000
@@ -41,6 +41,7 @@
$menu->add(DOL_URL_ROOT."/oscommerce_ws/index.php",
$langs->trans("OSCommerceShop"));
$menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/produits/",
$langs->trans("Products"));
+
$menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/produits/categories.php",
$langs->trans("Categories"));
$menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/clients/",
$langs->trans("Clients"));
$menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/commandes/",
$langs->trans("Commandes"));
diff -Naur --exclude=CVS --exclude='.#*' --exclude='*~' --exclude=documents
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/commandes/fiche.php
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/commandes/fiche.php
---
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/commandes/fiche.php
2007-06-13 14:35:42.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/commandes/fiche.php
2007-06-13 14:39:14.000000000 -1000
@@ -157,7 +157,12 @@
for ($lig = 0; $lig < sizeof($commande->lines); $lig++)
{
- if (! $commande->lines[$lig]->fk_product) $err
++;
+// print "<p>traitement de
".$commande->lines[$lig]->fk_product."</p>";
+ if (! $commande->lines[$lig]->fk_product)
+ {
+ print "<p>Article non trouvé
".$commande->lines[$lig]->libelle." : ".$commande->lines[$lig]->desc."</p>";
+ $err ++;
+ }
}
if ($err > 0) {
print ("<p> Des produits de la commande sont
inexistants</p>");
diff -Naur --exclude=CVS --exclude='.#*' --exclude='*~' --exclude=documents
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/commandes/pre.inc.php
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/commandes/pre.inc.php
---
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/commandes/pre.inc.php
2006-08-11 13:20:32.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/commandes/pre.inc.php
2007-05-19 10:16:42.000000000 -1000
@@ -41,6 +41,7 @@
$menu->add(DOL_URL_ROOT."/oscommerce_ws/index.php",
$langs->trans("OSCommerceShop"));
$menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/produits/",
$langs->trans("Products"));
+
$menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/produits/categories.php",
$langs->trans("Categories"));
$menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/clients/",
$langs->trans("Clients"));
$menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/commandes/",
$langs->trans("Commandes"));
diff -Naur --exclude=CVS --exclude='.#*' --exclude='*~' --exclude=documents
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/includes/configure.php
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/includes/configure.php
---
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/includes/configure.php
2007-04-24 07:32:59.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/includes/configure.php
2007-06-20 15:27:27.117770584 -1000
@@ -1,22 +1,49 @@
<?php
-/*---------------------------------------------
-/ Webservices OSC pour dolibarr
-/ configuration des clients
-/
-/ Jean Heimburger juin 2006
-----------------------------------------------*/
+/* Copyright (C) 2003-2004 Rodolphe Quiedeville <address@hidden>
+ * Copyright (C) 2004-2006 Laurent Destailleur <address@hidden>
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * Jean Heimburger address@hidden 2007
+ */
+
+/**
+ \file htdocs/oscommmerce_ws/includes/configure.php
+ \ingroup oscommerce_ws
+ \brief Configuration client Webservice
+ \version $Revision: 1.3 $
+*/
//base url des webservices
+
+
define(OSCWS_DIR,'http://www.tiaris.info/catalog/ws_OSC/');
+
+define(OSC_URL, 'http://www.tiaris.info/catalog/'); // url du site OSC
+
//affichages dans la page d'accueil
define(OSC_MAXNBCOM, 5);
define(OSC_ORDWAIT,'4'); // code du statut de commande en attente
define(OSC_ORDPROCESS,'1'); // code du statut de commande en traitement
//
+
define(OSC_ENTREPOT, 1); //l'entrepot lié au stock du site web
-define(TX_CURRENCY, 1); // le taux de conversion monnaie site osc - monnaie
dolibarr
+define(TX_CURRENCY, 119.33); // le taux de conversion monnaie site osc -
monnaie dolibarr (1 euro = 119.33 XPF)
define(NB_DECIMALS, 0);
-define(FK_PORT, 0); // l'id du service frais de port défini.
+define(NB_DECIMALSITE, 2); // nb de décimales sur le site
+define(FK_PORT, 159); // l'id du service frais de port défini.
// fonctions
@@ -26,8 +53,20 @@
* \param prodid champ référence
* \return int <0 si ko, >0 si ok
*/
-function convert_price($price)
-{
- return round($price * TX_CURRENCY, NB_DECIMALS);
-}
+ function convert_price($price)
+ {
+ return round($price * TX_CURRENCY, NB_DECIMALS);
+ }
+
+ /**
+* \brief assure la conversion en monnaie de dolibarr
+* \param oscid Id du produit dans OsC
+* \param prodid champ référence
+* \return int <0 si ko, >0 si ok
+*/
+ function convert_backprice($price)
+ {
+ return round($price / TX_CURRENCY, NB_DECIMALSITE);
+ }
+
?>
diff -Naur --exclude=CVS --exclude='.#*' --exclude='*~' --exclude=documents
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/pre.inc.php
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/pre.inc.php
---
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/pre.inc.php
2006-08-11 13:20:32.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/pre.inc.php
2007-05-19 10:15:32.000000000 -1000
@@ -40,6 +40,8 @@
$menu->add(DOL_URL_ROOT."/oscommerce_ws/index.php",
$langs->trans("OSCommerceShop"));
$menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/produits/index.php",
$langs->trans("Products"));
+ $menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/produits/OSCvente.php",
$langs->trans("AddProd"));
+
$menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/produits/categories.php",
$langs->trans("Categories"));
$menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/clients/index.php",
$langs->trans("Clients"));
$menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/commandes/index.php",
$langs->trans("Commandes"));
diff -Naur --exclude=CVS --exclude='.#*' --exclude='*~' --exclude=documents
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/produits/categories.php
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/produits/categories.php
---
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/produits/categories.php
1969-12-31 14:00:00.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/produits/categories.php
2007-05-22 17:29:47.000000000 -1000
@@ -0,0 +1,174 @@
+<?php
+/* Copyright (C) 2007 Laurent Destailleur <address@hidden>
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Id: skeleton_page.php,v 1.1 2007/02/11 17:50:43 eldy Exp $
+ * $Source: /sources/dolibarr/dolibarr/dev/skeletons/skeleton_page.php,v $
+ */
+
+/**
+ \file dev/skeletons/skeleton_page.php
+ \ingroup core
+ \brief Example of a php page
+ \version $Revision: 1.1 $
+*/
+
+require("./pre.inc.php");
+require_once(DOL_DOCUMENT_ROOT."/categories/categorie.class.php");
+require("osc_categories.class.php");
+//require_once(DOL_DOCUMENT_ROOT."/../dev/skeletons/skeleton_class.class.php");
+
+// Load traductions files
+$langs->load("companies");
+$langs->load("other");
+
+// Load permissions
+//$user->getrights("commercial");
+//if (!$user->rights->categorie->lire) accessforbidden();
+
+// Get parameters
+$socid = isset($_GET["socid"])?$_GET["socid"]:'';
+
+// Protection quand utilisateur externe
+if ($user->societe_id > 0)
+{
+ $action = '';
+ $socid = $user->societe_id;
+}
+//if ($socid == '') accessforbidden();
+
+
+
+/*******************************************************************
+* ACTIONS
+*
+* Put here all code to do according to value of "action" parameter
+********************************************************************/
+
+if ($_REQUEST["action"] == 'maj')
+{
+ $myobject=new Osc_categorie($db);
+ if ($myobject->fetch_dolicat($_POST["dolicat"]) <0)
+ {
+ $mesg = "erreur dans fetch_dolicat";
+ }
+ elseif ($myobject->id > 0)
+ {
+ $myobject->dolicatid=$_POST["dolicat"];
+ $myobject->osccatid=$_POST["osccat"];
+
+ $result=$myobject->update($user);
+ if ($result > 0)
+ {
+ // Creation OK
+ $mesg="";
+ }
+ else
+ {
+ // Creation KO
+ $mesg=$myobject->error;
+ }
+
+ }
+ else
+ {
+ $myobject->dolicatid=$_POST["dolicat"];
+ $myobject->osccatid=$_POST["osccat"];
+
+ $result=$myobject->create($user);
+ if ($result > 0)
+ {
+ // Creation OK
+ $mesg="";
+ }
+ else
+ {
+ // Creation KO
+ $mesg=$myobject->error;
+ }
+ }
+}
+
+
+
+
+
+/***************************************************
+* PAGE
+*
+* Put here all code to build page
+****************************************************/
+
+llxHeader();
+
+$html=new Form($db);
+
+if ($mesg) print "<p>".$mesg."</p>";
+
+// Put here content of your page
+// ...
+if ($page == -1) { $page = 0 ; }
+$limit = $conf->liste_limit;
+$offset = $limit * $page ;
+
+$sql = "SELECT c.label, c.rowid dolicatid, oc.osccatid FROM
".MAIN_DB_PREFIX."categorie as c ";
+$sql .= "LEFT OUTER JOIN llx_osc_categories as oc ON oc.dolicatid = c.rowid ";
+$sql .= "WHERE c.visible = 1";
+
+print_barre_liste("Correspondance des catégories", $page, "categories.php");
+
+ dolibarr_syslog("Osc_Categorie.class::get_Osccat sql=".$sql);
+ $resql=$db->query($sql);
+ if ($resql)
+ {
+ $num = $db->num_rows($resql);
+ $i = 0;
+
+ //titre
+ print '<table border="0" width="100%" cellspacing="0"
cellpadding="4">';
+ print '<tr class="liste_titre">';
+ print '<td>Id</td><td>Label</td><td>Osc_id</td><td>Action</td>';
+ print '</tr>'."\n";
+
+ $var=true;
+ $oscid = 1;
+ while ($i < min($num,$limit))
+ {
+ $obj = $db->fetch_object($resql);
+ $var=!$var;
+ print "\t<tr ".$bc[$var].">\n";
+ print "\t\t<td><a
href='../../categories/viewcat.php?id=".$obj->dolicatid."'>".$obj->dolicatid."</a></td>\n";
+ print "\t\t<td><a
href='../../categories/viewcat.php?id=".$obj->dolicatid."'>".$obj->label."</a></td>\n";
+ print '<td><form action="categories.php" METHOD="POST"><input
type="text" size="5" name="osccat" value="'.$obj->osccatid.'"/></td>'."\n";
+ print '<input type="hidden" name="action" value="maj"/>';
+ print '<input type="hidden" name="dolicat"
value="'.$obj->dolicatid.'"/>';
+ print '<td align="center"><input type="submit" class="button"
value="'.$langs->trans('maj').'"></td>';
+ print "\t</tr></form>\n";
+ $i++;
+ }
+
+ print '</table>';
+ }
+ else
+ {
+ dolibarr_print_error();
+ }
+
+
+// End of page
+$db->close();
+llxFooter('$Date: 2007/02/11 17:50:43 $ - $Revision: 1.1 $');
+?>
diff -Naur --exclude=CVS --exclude='.#*' --exclude='*~' --exclude=documents
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/produits/fiche.php
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/produits/fiche.php
---
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/produits/fiche.php
2007-06-13 14:35:42.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/produits/fiche.php
2007-06-14 17:25:07.000000000 -1000
@@ -75,6 +75,7 @@
/* action Import création de l'objet product de dolibarr
*
*/
+
if (($_GET["action"] == 'import' ) && ( $_GET["id"] != '' ) &&
$user->rights->produit->creer)
{
$osc_prod = new Osc_product($db, $_GET['id']);
@@ -89,7 +90,11 @@
// exit;
}
$product = $osc_prod->osc2dolibarr($_GET['id']);
- }
+ }
+ else
+ {
+ print "<p>erreur $osc_prod->fetch</p>";
+ }
/* utilisation de la table de transco*/
if ($osc_prod->get_productid($osc_prod->osc_id)>0)
@@ -98,15 +103,22 @@
}
else
{
+
$id = $product->create($user);
if ($id > 0)
{
print "\n<div class=\"tabsAction\">\n";
+ $prod = new Product($db);
+ $res = $prod->fetch($id);
+
+
$prod->add_photo_web($conf->produit->dir_output,$osc_prod->osc_image);
print '<p>création réussie produit '.$id.' référence :
'.$product->ref;
$res =
$osc_prod->transcode($osc_prod->osc_id,$product->id);
+
print ' Id osc : '.$osc_prod->osc_id.'</p>';
print '<a class="butAction"
href="index.php">'.$langs->trans("Retour").'</a>';
+
print "\n</div><br>\n";
$id_entrepot = OSC_ENTREPOT;
$id =
$product->create_stock($id_entrepot,$osc_prod->osc_stock);
@@ -114,6 +126,7 @@
}
else
{
+ print "<p>On a une erreur".$id."</p>";
if ($id == -3)
{
$_error = 1;
diff -Naur --exclude=CVS --exclude='.#*' --exclude='*~' --exclude=documents
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/produits/index.php
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/produits/index.php
---
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/produits/index.php
2007-02-01 12:23:29.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/produits/index.php
2007-05-19 10:29:51.000000000 -1000
@@ -88,7 +88,7 @@
if ($prodid) $lib = "modifier";
else $lib = "<u>importer</u>";
print '<TD align="center"><a
href="fiche.php?action=import&id='.$result[$i][OSC_id].'"'.">".$lib."</a></TD>\n";
- print "</TR>\n";
+ print '</TR>'."\n";
$i++;
}
print "</table></p>";
@@ -98,7 +98,7 @@
}
}
else {
- dolibarr_print_error('',"Erreur service web ".$err);
+ dolibarr_print_error('',"Erreur service web ".$client->faultstring);
}
print "</TABLE>";
diff -Naur --exclude=CVS --exclude='.#*' --exclude='*~' --exclude=documents
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/produits/osc_categories.class.php
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/produits/osc_categories.class.php
---
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/produits/osc_categories.class.php
1969-12-31 14:00:00.000000000 -1000
+++
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/produits/osc_categories.class.php
2007-05-22 17:13:19.000000000 -1000
@@ -0,0 +1,313 @@
+<?php
+/* Copyright (C) 2007 Laurent Destailleur <address@hidden>
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Id: Osc_Categorie.class.class.php,v 1.2 2007/03/25 03:07:46 eldy Exp $
+ * $Source:
/sources/dolibarr/dolibarr/dev/skeletons/Osc_Categorie.class.class.php,v $
+ */
+
+/**
+ \file dev/skeletons/Osc_Categorie.class.class.php
+ \ingroup core
+ \brief Example for class
+ \version $Revision: 1.2 $
+*/
+
+// Put here all includes required by your script
+//require_once(DOL_DOCUMENT_ROOT."/societe.class.php");
+//require_once(DOL_DOCUMENT_ROOT."/contact.class.php");
+//require_once(DOL_DOCUMENT_ROOT."/product.class.php");
+
+
+
+/**
+ \class Osc_Categorie.class
+ \brief Class description
+*/
+
+class Osc_Categorie
+{
+ var $db;
+ var $error='';
+ var $errors=array();
+
+ var $id;
+ var $dolicatid;
+ var $osccatid;
+
+
+ /**
+ * \brief Constructor
+ * \param DB Database handler
+ */
+ function Osc_Categorie($DB)
+ {
+ $this->db = $DB;
+ return 1;
+ }
+
+
+ /**
+ * \brief Create in database
+ * \param user User that create
+ * \return int <0 si ko, >0 si ok
+ */
+ function create($user)
+ {
+ global $conf, $langs;
+
+ // Clean parameters
+ $this->dolicatid=trim($this->dolicatid);
+ $this->ocscatid=trim($this->ocscatid);
+
+ // Insert request
+ $sql = "INSERT INTO ".MAIN_DB_PREFIX."osc_categories";
+ $sql.= "( dolicatid, osccatid)";
+ $sql.= " VALUES (";
+ $sql.= " '".$this->dolicatid."',";
+ $sql.= " '".$this->osccatid."'";
+ $sql.= ")";
+ dolibarr_syslog("Osc_Categorie.class::create sql=".$sql);
+
+ $resql=$this->db->query($sql);
+ if ($resql)
+ {
+ $this->id =
$this->db->last_insert_id(MAIN_DB_PREFIX."osc_categories");
+
+/* $resql=$this->update($user, 1);
+ if ($resql < 0)
+ {
+ $this->error=$this->db->lasterror();
+ return -2;
+ }
+
+ // Appel des triggers
+ include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
+ $interface=new Interfaces($this->db);
+
$result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf);
+ if ($result < 0) $this->errors=$interface->errors;
+ // Fin appel triggers
+
+ $this->id = $newid;
+ */
+ return $this->id;
+ }
+ else
+ {
+ $this->error=$this->db->lasterror();
+ $this->error = $sql;
+ dolibarr_syslog("Osc_Categorie.class::create ".$this->error);
+ return -1;
+ }
+ }
+
+ /*
+ * \brief Update database
+ * \param user User that modify
+ * \param notrigger 0=no, 1=yes (no update trigger)
+ * \return int <0 if KO, >0 if OK
+ */
+ function update($user=0, $notrigger=0)
+ {
+ global $conf, $langs;
+
+ // Clean parameters
+ $this->dolicatid=trim($this->dolicatid);
+ $this->ocscatid=trim($this->ocscatid);
+
+ // Update request
+ $sql = "UPDATE ".MAIN_DB_PREFIX."osc_categories SET";
+ $sql.= " dolicatid='".addslashes($this->dolicatid)."',";
+ $sql.= " osccatid='".addslashes($this->osccatid)."'";
+ $sql.= " WHERE rowid=".$this->id;
+ dolibarr_syslog("Osc_Categorie.class::update sql=".$sql,LOG_DEBUG);
+
+ $resql = $this->db->query($sql);
+ if (! $resql)
+ {
+ $this->error=$this->db->lasterror().' sql='.$sql;
+ return -1;
+ }
+
+ if (! $notrigger)
+ {
+ // Appel des triggers
+ include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
+ $interface=new Interfaces($this->db);
+
$result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf);
+ if ($result < 0) $this->errors=$interface->errors;
+ // Fin appel triggers
+ }
+
+ return 1;
+ }
+
+
+ /*
+ * \brief Load object in memory from database
+ * \param id id object
+ * \param user User that load
+ * \return int <0 if KO, >0 if OK
+ */
+ function fetch($id, $user=0)
+ {
+ global $langs;
+ $sql = "SELECT t.rowid, t.dolicatid, t.osccatid";
+ $sql.= " FROM ".MAIN_DB_PREFIX."osc_categories as t";
+ $sql.= " WHERE c.rowid = ".$id;
+
+ dolibarr_syslog("Osc_Categorie.class::fetch sql=".$sql);
+ $resql=$this->db->query($sql);
+ if ($resql)
+ {
+ if ($this->db->num_rows($resql))
+ {
+ $obj = $this->db->fetch_object($resql);
+
+ $this->id = $obj->rowid;
+ $this->dolicatid = $obj->dolicatid;
+ $this->ocscatid = $obj->osccatid;
+ }
+ $this->db->free($resql);
+
+ return 1;
+ }
+ else
+ {
+ $this->error="Error ".$this->db->lasterror();
+ dolibarr_syslog("Osc_Categorie.class::fetch ".$this->error);
+ return -1;
+ }
+ }
+
+ /*
+ * \brief Load object in memory from database
+ * \param id id object
+ * \param user User that load
+ * \return int <0 if KO, >0 if OK
+ */
+ function fetch_osccat($oscid, $user=0)
+ {
+ global $langs;
+ $sql = "SELECT t.rowid, t.dolicatid, t.osccatid";
+ $sql.= " FROM ".MAIN_DB_PREFIX."osc_categories as t";
+ $sql.= " WHERE t.osccatid = ".$oscid;
+
+ dolibarr_syslog("Osc_Categorie.class::fetch_osccat sql=".$sql);
+ $resql=$this->db->query($sql);
+ if ($resql)
+ {
+ if ($this->db->num_rows($resql))
+ {
+ $obj = $this->db->fetch_object($resql);
+
+ $this->id = $obj->rowid;
+ $this->dolicatid = $obj->dolicatid;
+ $this->osccatid = $obj->osccatid;
+ }
+ $this->db->free($resql);
+
+ return 1;
+ }
+ else
+ {
+ $this->error="Error ".$this->db->lasterror();
+ dolibarr_syslog("Osc_Categorie.class::fetch_osccat ".$this->error);
+ return -1;
+ }
+ }
+
+ /*
+ * \brief Load object in memory from database
+ * \param id id object
+ * \param user User that load
+ * \return int <0 if KO, >0 if OK
+ */
+ function fetch_dolicat($doliid, $user=0)
+ {
+ global $langs;
+ $sql = "SELECT t.rowid, t.dolicatid, t.osccatid";
+ $sql.= " FROM ".MAIN_DB_PREFIX."osc_categories as t";
+ $sql.= " WHERE t.dolicatid = ".$doliid;
+
+ dolibarr_syslog("Osc_Categorie.class::fetch_dolicat sql=".$sql);
+ $resql=$this->db->query($sql);
+ if ($resql)
+ {
+ if ($this->db->num_rows($resql))
+ {
+ $obj = $this->db->fetch_object($resql);
+
+ $this->id = $obj->rowid;
+ $this->dolicatid = $obj->dolicatid;
+ $this->ocscatid = $obj->osccatid;
+ }
+ $this->db->free($resql);
+
+ return 1;
+ }
+ else
+ {
+ $this->error="Error ".$this->db->lasterror();
+ dolibarr_syslog("Osc_Categorie.class::fetch_dolicat
".$this->error);
+ return -1;
+ }
+ }
+
+ /*
+ * \brief Delete object in database
+ * \param user User that delete
+ * \return int <0 if KO, >0 if OK
+ */
+ function delete($user)
+ {
+ global $conf, $langs;
+
+ $sql = "DELETE FROM ".MAIN_DB_PREFIX."osc_categories";
+ $sql.= " WHERE rowid=".$this->id;
+
+ dolibarr_syslog("Osc_Categorie.class::delete sql=".$sql);
+ $resql = $this->db->query($sql);
+ if (! $resql)
+ {
+ $this->error=$this->db->lasterror().' sql='.$sql;
+ return -1;
+ }
+
+ // Appel des triggers
+ include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
+ $interface=new Interfaces($this->db);
+
$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf);
+ if ($result < 0) $this->errors=$interface->errors;
+ // Fin appel triggers
+
+ return 1;
+ }
+
+
+ /**
+ * \brief Initialise object with example values
+ * \remarks id must be 0 if object instance is a
specimen.
+ */
+ function initAsSpecimen()
+ {
+ $this->id=0;
+ $this->dolicatid=0;
+ $this->osccatid=0;
+ }
+
+}
+?>
diff -Naur --exclude=CVS --exclude='.#*' --exclude='*~' --exclude=documents
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/produits/osc_product.class.php
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/produits/osc_product.class.php
---
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/produits/osc_product.class.php
2007-06-14 17:08:17.000000000 -1000
+++
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/produits/osc_product.class.php
2007-06-14 17:03:06.000000000 -1000
@@ -45,6 +45,7 @@
var $osc_stockmini;
var $osc_stock;
var $osc_four;
+ var $osc_image;
var $error;
@@ -108,6 +109,7 @@
$this->osc_stock = $obj[products_quantity];
$this->osc_four = $obj[manufacturers_id];
$this->osc_price = $obj[products_price];
+ $this->osc_image = $obj[image];
}
else {
$this->error = 'Erreur '.$err ;
@@ -200,7 +202,17 @@
else return '';
}
-
+ function get_osc_productid($productidp)
+ {
+ $sql = "SELECT osc_prodid";
+ $sql.= " FROM ".MAIN_DB_PREFIX."osc_product";
+ $sql.= " WHERE doli_prodidp = ".$productidp;
+ $result=$this->db->query($sql);
+ $row = $this->db->fetch_row($resql);
+// test d'erreurs
+ if ($row) return $row[0];
+ else return -1;
+ }
/**
* \brief création d'un article dans base OSC
diff -Naur --exclude=CVS --exclude='.#*' --exclude='*~' --exclude=documents
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/produits/OSCvente.php
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/produits/OSCvente.php
---
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/produits/OSCvente.php
1969-12-31 14:00:00.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/produits/OSCvente.php
2007-04-20 08:31:10.000000000 -1000
@@ -0,0 +1,165 @@
+<?php
+/* Copyright (C) 2006 Jean Heimburger <address@hidden>
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Id: fiche.php,v 1.5 2007/03/16 21:26:26 JeanExp $
+ * $Source:
/sources/dolibarr/dolibarr/htdocs/oscommerce_ws/produits/fiche.php,v $
+ *
+ */
+require("./pre.inc.php");
+require_once(DOL_DOCUMENT_ROOT."/product.class.php");
+require_once(DOL_DOCUMENT_ROOT."/oscommerce_ws/includes/configure.php");
+
+llxHeader();
+$html = new Form($db);
+
+if ($_GET["action"] == 'liste' )
+{
+ // affichage des produits en vente à partir de la tavle de transco
+ $sql = "SELECT o.doli_prodidp as idp, o.osc_prodid as oscid,
o.osc_lastmodif as date ";
+ $sql .= "FROM ".MAIN_DB_PREFIX."osc_product as o";
+
+ if ( $db->query($sql) )
+ {
+ $langs->load("products");
+ $num = $db->num_rows();
+ if ($num)
+ {
+ $i = 0;
+ print '<table class="noborder" width="100%">';
+ print '<tr class="liste_titre">';
+ print '<td colspan="2">'.$langs->trans("OscProds").'</td></tr>';
+ $var = True;
+ while ($i < $num)
+ {
+ $var=!$var;
+ $obj = $db->fetch_object();
+
+ print '<tr $bc[$var]><td nowrap><a
href="'.DOL_URL_ROOT.'/product/fiche.php?id='.$obj->idp.'">'.img_object($langs->trans("ShowProduct"),"Product").'
'.$obj->idp.'</a></td>';
+ print '<td><a
href="'.DOL_URL_ROOT.'/comm/fiche.php?socid='.$obj->idp.'">'.img_object($langs->trans("OscProd"),"Product").'
'.$obj->oscid.'</a></td></tr>';
+ $i++;
+ }
+ print "</table><br>";
+ }
+ }
+}
+if ($_GET["action"] == 'vendre' )
+{
+ $product = new Product($db, $_POST["idprod"]);
+ $oscprod = new Osc_product($db);
+
+ $oscid = $oscprod->get_osc_productid($_POST["idprod"]);
+ if ( $oscid < 0)
+ {
+ $prod = array();
+ $prod['ref'] = $product->ref;
+ $prod['nom'] = $product->libelle;
+ $prod['desc'] = $product->description;
+ $prod['quant'] = $_POST["qty"];
+ $prod['prix'] = convert_backprice($product->price);
+ // à gèrer $product->tx_tva
+ $prod['poids'] = $product->weight;
+ // gèrer $product->weight_units
+ $prod['dispo'] = '';
+ $prod['status'] = '1';
+ $prod['fourn'] = '';
+ $prod['url'] = '';
+
+ //recherche de l'image
+ $pdir = get_exdir($product->id,2) . $product->id ."/photos/";
+ $dir = $conf->produit->dir_output . '/'. $pdir;
+ $img = $product->liste_photos($dir);
+
+ if (sizeof($img) ==0) $prod['image'] = '';
+ else
+ {
+ if ($img[0]['photo_vignette'])
$filename=$img[0]['photo_vignette'];
+ else $filename=$img[0]['photo'];
+ $prod['image'] = dolibarr_trunc($filename,16);
+ }
+
+// print_r($prod);
+// print '<br/>';
+
+ set_magic_quotes_runtime(0);
+
+ //WebService Client.
+ require_once(NUSOAP_PATH."/nusoap.php");
+
+ // Création
+ // Set the parameters to send to the WebService
+ $parameters = array("prod"=>$prod);
+
+ // Set the WebService URL
+ $client = new soapclient(OSCWS_DIR."ws_articles.php");
+
+ // Call the WebService and store its result in $result.
+ $result = $client->call("create_article",$parameters );
+ if ($client->fault)
+ {
+ $this->error="Fault detected";
+ return -1;
+ }
+ elseif (!($err=$client->getError()) )
+ {
+ if ($result > 0)
+ {
+ // création de l'enregistrement dans osc_products
+ $oscprod->transcode($result,$_POST["idprod"]);
+ print "<p>le produit ".$product->ref."
".$product->libelle.' est en vente en ligne <a
href="'.OSC_URL.'product_info.php?products_id='.$result.'">consulter</a></p>';
+ print "\n";
+// print_r($result);
+
+ }
+ }
+ }
+ else
+ {
+ print "<p>Le produit ".$_POST["idprod"].' est déjà en vente en
ligne : <a
href="'.OSC_URL.'product_info.php?products_id='.$oscid.'">consulter</a></p>';
+ print "\n";
+ }
+}
+
+/* choix du produit */
+
+ print '<table class="noborder">';
+ print '<tr><td>'.$langs->trans('ProductsAndServices').'</td>';
+ print '<td>'.$langs->trans('Qty').'</td>';
+ print '</tr>';
+ print '<form action="OSCvente.php?action=vendre" method="POST">';
+ print '<input type="hidden" name="prod" value="test"/>';
+ print '<tr><td>';
+ print
$html->select_produits('','idprod'.$i,'',$conf->produit->limit_size,$soc->price_level);
+ print '</td>';
+ print '<td><input type="text" size="3" name="qty'.$i.'"
value="1"></td></tr>';
+ print '<tr><td colspan="3" align="center"><input type="submit"
class="button" value="'.$langs->trans('Oscsell').'"></td></tr>';
+ print '</form>';
+ print '</table>';
+
+
+ /*
************************************************************************** */
+ /*
*/
+ /* Barre d'action
*/
+ /*
*/
+ /*
************************************************************************** */
+ print "\n<div class=\"tabsAction\">\n";
+
+ print '<a class="tabAction"
href="../index.php">'.$langs->trans("Retour").'</a>';
+ print '<a class="tabAction"
href="OSCvente.php?action=liste">'.$langs->trans("Liste").'</a>';
+ print "\n</div>\n";
+
+llxFooter('$Date: 2007/03/16 21:26:26 $ - $Revision: 1.5 $');
+?>
diff -Naur --exclude=CVS --exclude='.#*' --exclude='*~' --exclude=documents
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/produits/pre.inc.php
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/produits/pre.inc.php
---
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/produits/pre.inc.php
2006-08-11 13:20:32.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/produits/pre.inc.php
2007-05-19 10:14:18.000000000 -1000
@@ -41,6 +41,8 @@
$menu->add(DOL_URL_ROOT."/oscommerce_ws/index.php",
$langs->trans("OSCommerceShop"));
$menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/produits/",
$langs->trans("Products"));
+ $menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/produits/OSCvente.php",
$langs->trans("AddProd"));
+
$menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/produits/categories.php",
$langs->trans("Categories"));
$menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/clients/",
$langs->trans("Clients"));
$menu->add_submenu(DOL_URL_ROOT."/oscommerce_ws/commandes/",
$langs->trans("Commandes"));
diff -Naur --exclude=CVS --exclude='.#*' --exclude='*~' --exclude=documents
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/ws_server/includes/configure.php
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/includes/configure.php
---
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/ws_server/includes/configure.php
2007-04-16 09:37:37.000000000 -1000
+++
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/includes/configure.php
2007-05-24 13:17:40.000000000 -1000
@@ -7,12 +7,22 @@
----------------------------------------------*/
/* paramètres de connexion à OSC */
+<<<<<<< configure.php
+define("DB_SERVER","localhost");
+define("DB_SERVER_USERNAME", "root");
+define("DB_SERVER_PASSWORD", "");
+define("DB_DATABASE", "tahitirimai");
+// chemin vers sources OSC admin
+define('OSCADMIN', '/home/jean/projets/osc_tiaris/admin/');
+=======
define("DB_SERVER","localhost");
define("DB_SERVER_USERNAME", "root");
define("DB_SERVER_PASSWORD", "");
define("DB_DATABASE", "tahitirimai");
+>>>>>>> 1.2
/* constantes utiles */
define("OSC_LANGUAGE_ID",1);
+define(OSC_URL, 'http://osc-tiaris/'); // url du site OSC
?>
diff -Naur --exclude=CVS --exclude='.#*' --exclude='*~' --exclude=documents
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/ws_server/includes/configure_web1.php
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/includes/configure_web1.php
---
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/ws_server/includes/configure_web1.php
1969-12-31 14:00:00.000000000 -1000
+++
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/includes/configure_web1.php
2007-04-19 14:58:03.000000000 -1000
@@ -0,0 +1,19 @@
+<?php
+/*---------------------------------------------
+/ Webservices OSC pour dolibarr
+/ configuration et paramètres
+/
+/ Jean Heimburger juin 2006
+----------------------------------------------*/
+
+/* paramètres de connexion à OSC */
+define("OSC_DB_SERVER","");
+define("OSC_DB_SERVER_USERNAME", "");
+define("OSC_DB_SERVER_PASSWORD", "");
+define("OSC_DB_DATABASE", "");
+// chemin vers sources OSC admin
+define('OSCADMIN', '');
+/* constantes utiles */
+define("OSC_LANGUAGE_ID",1);
+
+?>
diff -Naur --exclude=CVS --exclude='.#*' --exclude='*~' --exclude=documents
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/ws_server/ws_articles.php
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/ws_articles.php
---
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/ws_server/ws_articles.php
2007-04-24 07:32:59.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/ws_articles.php
2007-06-14 17:40:25.000000000 -1000
@@ -24,8 +24,11 @@
require_once("./includes/configure.php");
+define(OSC_IMG_URL, 'http://www.tiaris.info/catalog/images/'); // url du site
OSC
+
// OSC
define('OSCADMIN', '/home/jean/projets/osc_tiaris/admin/');
+define('OSCIMAGES', '/home/jean/projets/osc_tiaris/images/');
require(OSCADMIN.'includes/configure.php');
require(OSCADMIN.DIR_WS_CLASSES . 'object_info.php');
@@ -49,6 +52,8 @@
$s->register('get_listearticles');
$s->register('create_article');
+
+
function create_article($prod)
{
// make a connection to the database... now
@@ -98,7 +103,7 @@
if (!($db = mysql_select_db(DB_DATABASE, $connexion))) return new
soap_fault("Server", "MySQL 2", mysql_error());
//on recherche
- $sql = "SELECT p.products_id, p.products_model,
p.products_quantity, p.products_status, p.products_price, d.products_name,
d.products_description, m.manufacturers_name, m.manufacturers_id";
+ $sql = "SELECT p.products_id, p.products_model,
p.products_quantity, p.products_status,
concat('".OSC_IMG_URL."',p.products_image) as image, p.products_price,
d.products_name, d.products_description, m.manufacturers_name,
m.manufacturers_id";
$sql .= " FROM products as p ";
$sql .= " JOIN products_description as d ON p.products_id =
d.products_id "; $sql .= " LEFT JOIN manufacturers as m ON
p.manufacturers_id=m.manufacturers_id";
$sql .= " WHERE d.language_id =" . OSC_LANGUAGE_ID;
@@ -130,7 +135,7 @@
if (!($db = mysql_select_db(DB_DATABASE, $connexion))) return new
soap_fault("Server", "MySQL 2", mysql_error());
//on recherche
- $sql = "SELECT p.products_id as OSC_id, p.products_model as model,
p.products_quantity as quantity, p.products_status as status, d.products_name
as name, m.manufacturers_name as manufacturer, m.manufacturers_id";
+ $sql = "SELECT p.products_id as OSC_id, p.products_model as model,
p.products_quantity as quantity, p.products_status as status,
concat('".OSC_IMG_URL."',p.products_image) as image, d.products_name as name,
m.manufacturers_name as manufacturer, m.manufacturers_id";
$sql .= " FROM products as p";
$sql .= " JOIN products_description as d ON p.products_id =
d.products_id "; $sql .= " LEFT JOIN manufacturers
as m ON p.manufacturers_id=m.manufacturers_id";
$sql .= " WHERE d.language_id =" . OSC_LANGUAGE_ID;
@@ -154,6 +159,14 @@
return $liste_articles;
}
+function saveImage($name,$content)
+{
+ $fich = fopen(OSCIMAGES.$name, 'wb');
+ fwrite($fich,base64_decode($content));
+ fclose($fich);
+ return $name.' enregistré';
+}
+
// Return the results.
$s->service($HTTP_RAW_POST_DATA);
diff -Naur --exclude=CVS --exclude='.#*' --exclude='*~' --exclude=documents
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/ws_server/ws_test.php
/home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/ws_test.php
---
/home/jean/projets/dolibarr_devref/dolibarr/htdocs/oscommerce_ws/ws_server/ws_test.php
2007-04-16 09:37:37.000000000 -1000
+++ /home/jean/projets/dolibarr/htdocs/oscommerce_ws/ws_server/ws_test.php
2007-06-14 17:39:17.000000000 -1000
@@ -7,19 +7,21 @@
// Create the soap Object
$s = new soap_server;
$ns='oscommerce';
-$s->configureWSDL('WebServicesOSCommerceForDolibarr',$ns);
-$s->wsdl->schemaTargetNamespace=$ns;
-// Register a method available for clients
-$s->register('hello');
+#$s->configureWSDL('WebServicesOSCommerceForDolibarr',$ns);
+#$s->wsdl->schemaTargetNamespace=$ns;
+
+// Register a method available for clients
+$s->register('hello');
+
+function hello($name){
+
+$returnedString = "Coucou ** de Tetiaroa ".$name." !";
+return $returnedString;
+
+}
+
+// Return the results.
+$s->service($HTTP_RAW_POST_DATA);
+?>
-function hello($name){
-
-$returnedString = "Hello de Tetiaroa ".$name." !";
-return $returnedString;
-
-}
-
-// Return the results.
-$s->service($HTTP_RAW_POST_DATA);
-?>
jean.vcf
Description: Vcard