diff --git a/scripts/pixium/data.csv b/scripts/pixium/fournisseurs_et_produits.csv similarity index 100% rename from scripts/pixium/data.csv rename to scripts/pixium/fournisseurs_et_produits.csv diff --git a/scripts/pixium/import_fournisseur.php b/scripts/pixium/import_fournisseur.php index 2e938bec344..c0203665176 100644 --- a/scripts/pixium/import_fournisseur.php +++ b/scripts/pixium/import_fournisseur.php @@ -1,11 +1,12 @@ */ - -const CSV_FILENAME = 'data.csv'; +const CSV_FILENAME = "fournisseurs_et_produit.csv"; const CSV_SEPARATOR = ','; const NB_MIN_COLONNE = 5; +const USERNAME = 'dolibarr'; $path=dirname(__FILE__).'/'; @@ -15,7 +16,6 @@ require_once (DOL_DOCUMENT_ROOT."/core/lib/company.lib.php"); $langs->load('main'); function getCountryId($country) { - $tab = array( 'texas' => 'United States', 'USA' => 'United States', @@ -66,6 +66,7 @@ function import($data) { } $user = new User($db); + $user->fetch('', USERNAME); $address = ucfirst($data[$colonne -6]); $zip = $data[$colonne -5]; diff --git a/scripts/pixium/import_produit.php b/scripts/pixium/import_produit.php new file mode 100644 index 00000000000..286f82fbcf3 --- /dev/null +++ b/scripts/pixium/import_produit.php @@ -0,0 +1,120 @@ + + */ +const CSV_FILENAME = "fournisseurs_et_produit.csv"; +const CSV_SEPARATOR = ','; +const NB_MIN_COLONNE = 5; +const USERNAME = 'dolibarr'; + +$path=dirname(__FILE__).'/'; + +require($path."../../htdocs/master.inc.php"); +require($path."../../htdocs/product/class/product.class.php"); +require_once (DOL_DOCUMENT_ROOT."/core/lib/company.lib.php"); + +$langs->load('main'); + +function getRefOfProduct($name) { + global $db; + $resql = $db->query("SELECT * + FROM ".MAIN_DB_PREFIX."product + WHERE ref LIKE '".$name."_%' + ORDER BY ref desc"); + $obj = $db->fetch_object($resql); + return $name . '_' . ($obj) ? (substr(strstr($obj->ref, '_'), 1) +1) : 0; +} + +/** + * multi explode + * @param array $delimiters + * @param string $string + * @return unknown + */ +function multiexplode($delimiters, $string) { + $ready = str_replace($delimiters, $delimiters[0], $string); + $launch = explode($delimiters[0], $ready); + return $launch; +} + +function constructRef($libelle_produit) { + $ref = ''; + $i = 0; + $parts_ref = multiexplode(array(' ', '-'), $libelle_produit); + foreach ($parts_ref as $part_ref) { + if ($i < 3) { + $ref .= substr(preg_replace('/[^a-za-zA-Z]/', '', $part_ref), 0, 2); + } + $i++; + } + return strtoupper($ref); +} + +function import($data) { + global $db; + + $colonne = count($data); + if ($colonne <= NB_MIN_COLONNE) { // security + exit; + } + $name = ucfirst($data[1]); + if (empty($name)) { + return; + } + + $libelle_produit = $data[2]; + + $ref = getRefOfProduct(constructRef($libelle_produit)); + + /*echo "
| name | +libelle_produit | +ref | +