*
* @folder /home/newsite-lepage-vivaces.com/CRON/
* @since 1.0
* @param db adodb object database
* 0 champ : 422Conditionnement exemple : AGAPAFG8, AGAPAFC2, AGAPAFC3.
1 champ : Conditionnement.
2 champs : DISPONIBLE, EPUISE et INACTIF
DISPONIBLE : plante avec des stocks dispo>0 (sauf lieu fournisseur) ou plantes avec des stocks <0 && stock réservé =0 && Statut =’’ (pour Laurent).
EPUISE : Plante avec le statut EPUISE et NEGOCE.
INACTIF : plante avec le statut INACTIF.
3 champs : Id Aquila.
*
*
*---------------------------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------------------------
*/
require_once ('/home/ubuntu/pepiniere-bretagne.fr/ini.php');
// Database access functions
ini_set('display_errors', 1);
ini_set('user_agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1');
error_reporting(E_ERROR);
define('XMLVERBOSE', 2);
set_time_limit(0);
set_time_limit(-1);
$basename = 'web-abelia.xml';
$basename = 'test.xml';
$log = '';
$xmlstr = file_get_contents(REPIMPORT . $basename);
$jsonname = 'web-abelia.json';
$jsonname = 'test.json';
libxml_use_internal_errors(true);
$whitelist = array('id', 'tarif_id', 'tva_id', 'libelle1_variete', 'libelle2_variete', 'Nom_vermaculaire_1', 'Nom_vermaculaire_2', 'Rusticite', 'Couleur_fleur', 'Famille_botanique', 'Epoque_floraison', 'Epoque_maturite_fruit', 'Type_fruitier', 'variete_memo_texte', 'variete_texte', 'genre', 'espece', 'variete', 'code_famille', 'Exposition1', 'Exposition2', 'Exposition3', 'Exposition4', 'Exposition_solaire', 'Flashcode', 'Type_feuillage', 'Libre', 'Nature_sol', 'Maritime_vent', 'Melifere_odorant_couvre_sol', 'Hauteur_Mini', 'Hauteur_Maxi', 'Largeur_Mini', 'Largeur_Maxi', 'libelle_conditionnement', 'poids_conditionnement', 'libelle_taille', 'libelle1_article', 'libelle2_article', 'prix_base_article', 'unite_vente', 'poids_article', 'stk_dispo', 'nouveaute', 'libelle_famille', 'libelle_sous_famille', 'libelle_forme', 'code_variete', 'code_conditionnement', 'code_taille', 'code_totalisateur', 'mis_en_avant', 'famille_variete', 'code_regroupement', 'Descriptif_article', 'Texte_Genre', 'Texte_Espece', 'Texte_Entretien', 'Vendabilite', 'Prix_Vente_TTC', 'Stock_disponible', 'date_Maj_Variete', 'date_Maj_Article', 'Date_Dernier_Mvt_Stock', 'Images', 'Statut_Web');
$blacklist = array('date', 'colonne52', 'colonne53', 'colonne54', 'colonne55', 'colonne56', 'colonne57', 'colonne58', 'colonne59', 'colonne60', 'colonne61', 'colonne62', 'colonne63', 'colonne64', 'colonne65');
$whiteliste_collection = array('VIV', 'ANN', 'ZAQ', 'AR', 'ARB', 'BAM', 'ZBR', 'ZBU', 'CVI', 'DIV', 'ZFO', 'FRU', 'ZGR',
'GRI', 'HOR', 'LIV', 'ZMA', 'ZOF', 'ZOM', 'OUT', 'ENG', 'DIV', 'GAZ', 'PAI', 'PRO', 'TER', 'PAL', 'LEG', 'SEC',
'ZRE', 'ZZZ', 'ROT', 'ROG', 'ROB', 'CON', 'TOP');
$delais_cron = 30;
$datecompare = date('Ymd', strtotime(date('Ymd'). ' - '.$delais_cron.' days'));
$_SESSION['blacklist_produit'] = array(14529, 14605, 14604, 12084, 5641, 5640, 14762, 6085, 9915);
$_SESSION['liste_ref_conditionnement'] = array();
$_SESSION['liste_ref_tarif'] = array();
$_SESSION['liste_ref_couleurs'] = array();
$_SESSION['liste_ref_couleurs_feuille'] = array();
$_SESSION['liste_ARTICLE'] = array();
$_SESSION['liste_ARTICLE_EXISTER_CONDITIONNEMENT'] = array();
define('XMLVERBOSE',2);
/**
*ETAPE 1
*Lecture, conversion et enregistrement du fichier XML au format Json
*du fichier XML au format Json
*/
if ($dh = opendir(REPIMPORT)) {
while (($file = readdir($dh)) !== false) {
//$log .= $basename.'--->'.$file.'
';
if ($file == $basename) {
$timestamp_debut = microtime(true);
$XML = simplexml_load_string($xmlstr, "SimpleXMLElement", LIBXML_NOCDATA); //
$xml = explode("\n", $xmlstr);
if ($XML === false) {
$errors = libxml_get_errors();
foreach ($errors as $error) {
$log .= display_xml_error($error, $xml);
$log .= '
';
}
libxml_clear_errors();
}
$timestamp_fin = microtime(true);
$difference_ms = $timestamp_fin - $timestamp_debut;
$log .= '
************************************************************************************************************************************************
';
$log .= 'traitement simplexml_load_string de '. $basename.' - '. $difference_ms .'
';
$log .= '
************************************************************************************************************************************************
';
//print_r($XML);
$json = json_encode($XML, JSON_INVALID_UTF8_SUBSTITUTE);
$timestamp_fin = microtime(true);
$difference_ms = $timestamp_fin - $timestamp_debut;
$log .= '
************************************************************************************************************************************************
';
$log .= 'traitement json_encode de '.$jsonname.' - '. $difference_ms .'
';
$log .= '
************************************************************************************************************************************************
';
$resultat = file_put_contents(REPIMPORT.$jsonname, $json);
// Vérifiez si l'écriture a réussi
if ($resultat !== false) {
$log .= 'Le fichier JSON a été enregistré avec succès.
';
} else {
$log .= 'Une erreur s\'est produite lors de l\'enregistrement du fichier JSON.
';
}
$My_array = json_decode($json, TRUE);
$timestamp_fin = microtime(true);
$difference_ms = $timestamp_fin - $timestamp_debut;
$log .= '
************************************************************************************************************************************************
';
$log .= 'traitement json_decode '. $difference_ms .'
';
$log .= '
************************************************************************************************************************************************
';
}
}
}
//print_r($My_array);
/**
*ETAPE 2
*test des variables en entrée
*pour vérifier les contenus récupérés
* formatage des données
*/
foreach ($My_array['produits']['produit'] as $produit) {
// On prend chaque noeud enfant séparément.
if ($produit['date_Maj_Article'] <= 0) {
$produit['date_Maj_Article'] = 20200101;
}
if ($produit['date_Maj_Variete'] <= 0) {
$produit['date_Maj_Variete'] = 20200101;
}
if ($produit['Date_Dernier_Mvt_Stock'] <= 0) {
$produit['Date_Dernier_Mvt_Stock'] = 20200101;
}
// si l'article n'est pas blacklisté et que son code famille est géré
if (!in_array($produit['id'], $_SESSION['blacklist_produit']) && in_array($produit['code_famille'], $whiteliste_collection)) {
if (1 == 1 || (int)$date_Maj_Article > (int)$datecompare || (int)$date_Maj_Variete > (int)$datecompare || (int)$Date_Dernier_Mvt_Stock > (int)$datecompare) {
$log .= "###".$produit['id'].' '.$produit['libelle1_article']."
";
$log .= Affiche_Valeur($produit, 0, $blacklist);
/**
* formatage de la collection conditionnements et des tarifs puis mise à jour
*
*/
$log .= formatage_liste_ref_conditionnement($produit);
$log .= formatage_liste_ref_tarif($produit);
/**
* formatage de la collection des couleurs et mise à jour
*
*/
$log .= formatage_liste_ref_couleurs($produit);
/**
* formatage de la collection des couleurs de feuillage et mise à jour
*
*/
//$log .= formatage_liste_ref_couleurs_feuille($produit);
$log .= formatage_liste_ARTICLE($produit);
}
}
}
/**
*ETAPE 3
*enregistrement des entrées recuperees a partir du fichier json
*dans la base de donnees
*/
$log .= existe_en_base_ARTICLES($db);
$log .= insert_update_ARTICLES($db);
file_put_contents(REPIMPORT."Import_logs.html", $log);
echo $log;
//print_r($_SESSION['blacklist_produit']);
//echo '
';
//print_r($_SESSION['liste_ref_conditionnement']);
//echo '
';
//print_r($_SESSION['liste_ref_tarif']);
//echo '
';
//print_r($_SESSION['liste_ref_couleurs']);
/**
* FUNCTION
*
*/
function insert_update_ARTICLES($db) {
foreach ($_SESSION['liste_ARTICLE'] as $ARTICLE) {
$log .= '########################################################
';
$log .= 'INSERT UPDATE EN BASE
';
$log .= '########################################################
';
if ($ARTICLE['BE_A_SURCHARGE'] == 1) {
$log .= $ARTICLE['CHAR_A_REFERENCE'].' '.$ARTICLE['ARTICLE_EXIST'].' surchargé... abandon
';
} else if ($ARTICLE['ARTICLE_EXIST'] == 1) {
$log .= dl_update_ARTICLE($db, $ARTICLE);
} else {
$log .= dl_insert_ARTICLE($db, $ARTICLE);
}
}
return $log;
}
function br2nl($foo) {
return preg_replace("/\
/i", "\n", $foo);
}
function gl_generation_ARTICLE($ARTICLE) {
//génération de l'article "au propre"
$ARTICLE_FORMATE = gl_generation_ARTICLE($ARTICLE);
////////////////////////////////////////////////////////////////////////////////////////////
// TABLE ARTICLE
////////////////////////////////////////////////////////////////////////////////////////////
$ARTICLE_FORMATE['ID_ARTICLE'] = '0'; // clé primaire de la table ARTICLE
$ARTICLE_FORMATE['FKID_REF_TYPE_ARTICLE'] = '1'; // clé étrangere table REF_TYPE_ARTICLE pour classement rapide
$ARTICLE_FORMATE['CHAR_A_TITRE'] = $ARTICLE['libelle1_article']; // titre de l'article (optionnel prioritaire sur le nom recherche) $ARTICLE['libelle1_variete'].
$ARTICLE_FORMATE['CHAR_A_SOUSTITRE'] = $ARTICLE['libelle2_article'];;// sous-titre de l'article (optionnel prioritaire sur les noms de recherche secondaire)
$ARTICLE_FORMATE['CHAR_A_REFERENCE'] = $ARTICLE['code_variete']; // reference de l'article
$ARTICLE_FORMATE['BE_A_NEW'] = (int)$ARTICLE['nouveaute']; // l'article est une nouveauté(0=indéfini, 1=oui, 2=non)
//$ARTICLE_FORMATE['TEXT_A_DESCRIPTIF']=$ARTICLE['Descriptif_article'];// descriptif de l'article TEXT_A_METATITLE
$ARTICLE_FORMATE['TEXT_A_DESCRIPTIF'] = $ARTICLE['variete_texte']; // descriptif de l'article TEXT_A_METATITLE
//$ARTICLE_FORMATE['TEXT_A_DESCRIPTIF']=br2nl(($ARTICLE_FORMATE['TEXT_A_DESCRIPTIF']));
$ARTICLE_FORMATE['TEXT_A_METATITLE'] = ''; //
$ARTICLE_FORMATE['TEXT_A_METATITLEVENTE'] = ''; //$ARTICLE['Texte_Espece'];//
$ARTICLE_FORMATE['TEXT_A_METADESC'] = $ARTICLE['Texte_Genre']; // Texte_Genre
//$ARTICLE_FORMATE['TEXT_A_METADESC']=br2nl(($ARTICLE_FORMATE['TEXT_A_METADESC']));
//$ARTICLE_FORMATE['TEXT_A_METADESCVENTE']=$ARTICLE['Texte_Genre'];//
//$ARTICLE_FORMATE['TEXT_A_METADESCVENTE']=convert_quotes($ARTICLE_FORMATE['TEXT_A_METADESCVENTE']);
$ARTICLE_FORMATE['BE_A_TV'] = '0'; // vu a la télévision (0=indéfini, 1=oui, 2=non)
$ARTICLE_FORMATE['CHAR_P_LINKTV'] = ''; // vu a la télévision - url du replay
$ARTICLE_FORMATE['CHAR_A_PINTEREST'] = ''; // lien pinterest d'association
$ARTICLE_FORMATE['CHAR_A_FACEBOOK'] = ''; // url facebook spécifique
$ARTICLE_FORMATE['CHAR_A_YOUTUBE'] = ''; // url youtube spécifique
$ARTICLE_FORMATE['BE_A_UNE'] = '0'; // l'article est en première page (0=indéfini, 1=oui, 2=non)
$ARTICLE_FORMATE['TEXT_A_UNE'] = ''; // Texte spécifique à la une
$ARTICLE_FORMATE['VAL_A_HAUTEUR'] = '0'; // dimension de l'article - hauteur
$ARTICLE_FORMATE['VAL_A_LARGEUR'] = '0'; // dimension de l'article - largeur
$ARTICLE_FORMATE['VAL_A_PROFONDEUR'] = '0'; // dimension de l'article - profondeur
$ARTICLE_FORMATE['BE_A_COMPOSE'] = '0'; // est un article compose
$ARTICLE_FORMATE['BE_A_ACTIVE'] = '0'; // l'article est ACTIVE (0=indéfini, 1=oui, 2=non)
$ARTICLE_FORMATE['BE_A_DELETE'] = '0'; // l'article a été supprimé (suppression virtuelle 0 indéfini, 1 oui 2 non)
$ARTICLE_FORMATE['DATET_A_CREATE'] = date('Y-m-d H:i:s'); // date de création de de l'article
$ARTICLE_FORMATE['DATET_A_LASTMODIF'] = date('Y-m-d H:i:s'); // date de la dernière modification de l'article OLD_ID ancienne ID base
$ARTICLE_FORMATE['CHAR_A_COMPLEMENTAIRE1'] = $ARTICLE['Nom_vermaculaire_1']; // nom complémentaire article 1
$ARTICLE_FORMATE['CHAR_A_COMPLEMENTAIRE2'] = $ARTICLE['Nom_vermaculaire_2']; // nom complémentaire article 2
$ARTICLE_FORMATE['CHAR_A_COMPLEMENTAIRE3'] = stripaccents($ARTICLE['Nom_vermaculaire_1']); // nom complémentaire article 3
$ARTICLE_FORMATE['CHAR_A_COMPLEMENTAIRE4'] = stripaccents($ARTICLE['Nom_vermaculaire_2']); // nom complémentaire article 4
$ARTICLE_FORMATE['CHAR_A_COMPLEMENTAIRE5'] = ''; // nom complémentaire article 5
$ARTICLE_FORMATE['CHAR_A_COMPLEMENTAIRE6'] = ''; // nom complémentaire article 6
$ARTICLE_FORMATE['CHAR_A_COMPLEMENTAIRE7'] = ''; // nom complémentaire article 7
$ARTICLE_FORMATE['CHAR_A_COMPLEMENTAIRE8'] = ''; // nom complémentaire article 8
$ARTICLE_FORMATE['CHAR_A_COMPLEMENTAIRE9'] = ''; // nom complémentaire article 9
$ARTICLE_FORMATE['CHAR_A_COMPLEMENTAIRE10'] = ''; // nom complémentaire article 10
////////////////////////////////////////////////////////////////////////////////////////////
// TABLE PLANTE
////////////////////////////////////////////////////////////////////////////////////////////
$ARTICLE_FORMATE['ID_PLANTE'] = '0'; // clé primaire heritee table PLANTE identique
$ARTICLE_FORMATE['PKFKID_ARTICLE'] = ''; // cle étrangère heritee table ARTICLE identique ID_PLANTE
$ARTICLE_FORMATE['FKID_REF_OBTENTEUR'] = '0'; // cle étrangère table REF_OBTENTEUR
$ARTICLE_FORMATE['FKID_FAMILLE'] = '0'; // cle étrangère genre associe
$ARTICLE_FORMATE['FKID_REF_FORME'] = '0'; //
$ARTICLE_FORMATE['CHAR_P_FAMILLE'] = $ARTICLE['Famille_botanique'];;//
$ARTICLE_FORMATE['CHAR_P_GENRE'] = $ARTICLE['libelle1_variete']; // espece botanique
$ARTICLE_FORMATE['CHAR_P_ESPECE'] = ''; // Espèce botanique
$ARTICLE_FORMATE['CHAR_P_SESPECE'] = ''; // Sous espèce botanique
$ARTICLE_FORMATE['CHAR_P_GROUPE'] = ''; // Groupe Botanique
$ARTICLE_FORMATE['CHAR_P_VARIETE'] = ''; // variete botanique
$ARTICLE_FORMATE['BE_P_VARIETETM'] = '0'; // variete est tm
$ARTICLE_FORMATE['BE_P_VARIETEC'] = '0'; // variete est c
$ARTICLE_FORMATE['BE_P_VARIETER'] = '0'; // variete est r CHAR_P_MARQUE marque botanique
$ARTICLE_FORMATE['BE_P_MARQUETM'] = '0'; // marque est tm
$ARTICLE_FORMATE['BE_P_MARQUEC'] = '0'; // marque est c
$ARTICLE_FORMATE['BE_P_MARQUER'] = '0'; // marque est r
$ARTICLE_FORMATE['CHAR_P_CULTIVAR'] = ''; // cultivar botanique
$ARTICLE_FORMATE['BE_P_CULTIVARTM'] = '0'; // cultivar est tm
$ARTICLE_FORMATE['BE_P_CULTIVARC'] = '0'; // cultivar est c
$ARTICLE_FORMATE['BE_P_CULTIVARR'] = '0'; // cultivar est r
$ARTICLE_FORMATE['CHAR_P_COMPLEMENT'] = ''; // complement de nom botanique
$ARTICLE_FORMATE['BE_P_COMPLEMENTTM'] = '0'; // complement est tm
$ARTICLE_FORMATE['BE_P_COMPLEMENTR'] = '0'; // complement est r
$ARTICLE_FORMATE['BE_P_COMPLEMENTC'] = '0'; // complement est c
$ARTICLE_FORMATE['BE_P_LEPAGE'] = '0'; // est creation lepage
$ARTICLE_FORMATE['TEXT_P_GENRE'] = br2nl(($ARTICLE['Texte_Espece'])); // Texte_Genre texte genre de la plante. ira dans une table séparée en version 3.1
$ARTICLE_FORMATE['TEXT_P_ESPECE'] = //br2nl(utf8_encode($ARTICLE['Texte_Espece']));;// texte espece
$ARTICLE_FORMATE['TEXT_P_CULTIVAR'] = ''; // texte cultivar
$ARTICLE_FORMATE['TEXT_P_ENTRETIEN'] = br2nl(($ARTICLE['Texte_Entretien'])); // texte entretien
$ARTICLE_FORMATE['VAL_P_DENSITE'] = '0'; // densite au metre carre peut etre inf à 1
$ARTICLE_FORMATE['VAL_P_HAUTEUR'] = '0';
$ARTICLE_FORMATE['VAL_P_HAUTEUR_MIN'] = '0';
$ARTICLE_FORMATE['VAL_P_HAUTEUR_MAX'] = '0';
//INVERSION régulière LE FICHIER D'IMPORT !!!!
//INVERSION régulière LE FICHIER D'IMPORT !!!!
//INVERSION régulière LE FICHIER D'IMPORT !!!!
if ($ARTICLE['Hauteur_Mini'] == $ARTICLE['Hauteur_Maxi']) {
if ($ARTICLE['Hauteur_Maxi'] > 0) $ARTICLE_FORMATE['VAL_P_HAUTEUR_MIN'] = $ARTICLE['Hauteur_Maxi'];
if ($ARTICLE['Hauteur_Mini'] > 0) {
$ARTICLE_FORMATE['VAL_P_HAUTEUR'] = $ARTICLE['Hauteur_Mini']; $ARTICLE_FORMATE['VAL_P_HAUTEUR_MAX'] = $ARTICLE['Hauteur_Mini'];
}
} else if ($ARTICLE['Hauteur_Mini'] > $ARTICLE['Hauteur_Maxi']) {
if ($ARTICLE['Hauteur_Maxi'] > 0) $ARTICLE_FORMATE['VAL_P_HAUTEUR_MIN'] = $ARTICLE['Hauteur_Maxi'];
if ($ARTICLE['Hauteur_Mini'] > 0) $ARTICLE_FORMATE['VAL_P_HAUTEUR_MAX'] = $ARTICLE['Hauteur_Mini'];
} else {
if ($ARTICLE['Hauteur_Mini'] > 0) $ARTICLE_FORMATE['VAL_P_HAUTEUR_MIN'] = $ARTICLE['Hauteur_Mini'];
if ($ARTICLE['Hauteur_Maxi'] > 0) $ARTICLE_FORMATE['VAL_P_HAUTEUR_MAX'] = $ARTICLE['Hauteur_Maxi'];
}
$ARTICLE_FORMATE['VAL_P_LARGEUR'] = '0';
$ARTICLE_FORMATE['Images'] = $ARTICLE['Images'];
//INVERSION régulière DANS LE FICHIER D'IMPORT !!!!
//INVERSION régulière LE FICHIER D'IMPORT !!!!
//INVERSION régulière LE FICHIER D'IMPORT !!!!
$ARTICLE_FORMATE['VAL_P_LARGEUR_MIN'] = '0'; // largeur mini
$ARTICLE_FORMATE['VAL_P_LARGEUR_MAX'] = '0'; // largeur maxi
if ($ARTICLE['Largeur_Mini'] == $ARTICLE['Largeur_Maxi']) {
if ($ARTICLE['Largeur_Maxi'] > 0) $ARTICLE_FORMATE['VAL_P_LARGEUR_MIN'] = $ARTICLE['Largeur_Maxi'];
if ($ARTICLE['Largeur_Mini'] > 0) {
$ARTICLE_FORMATE['VAL_P_LARGEUR'] = $ARTICLE['Largeur_Mini']; $ARTICLE_FORMATE['VAL_P_LARGEUR_MAX'] = $ARTICLE['Largeur_Mini'];
}
} else if ($ARTICLE['Largeur_Mini'] > $ARTICLE['Largeur_Maxi']) {
if ($ARTICLE['Largeur_Maxi'] > 0) $ARTICLE_FORMATE['VAL_P_LARGEUR_MIN'] = $ARTICLE['Largeur_Maxi'];
if ($ARTICLE['Largeur_Mini'] > 0) $ARTICLE_FORMATE['VAL_P_LARGEUR_MAX'] = $ARTICLE['Largeur_Mini'];
} else {
if ($ARTICLE['Largeur_Mini'] > 0) $ARTICLE_FORMATE['VAL_P_LARGEUR_MIN'] = $ARTICLE['Largeur_Mini'];
if ($ARTICLE['Largeur_Maxi'] > 0) $ARTICLE_FORMATE['VAL_P_LARGEUR_MAX'] = $ARTICLE['Largeur_Maxi'];
}
$ARTICLE_FORMATE['VAL_P_HAUTEUR'] = str_replace(",", ".", $ARTICLE_FORMATE['VAL_P_HAUTEUR']);
$ARTICLE_FORMATE['VAL_P_HAUTEUR_MIN'] = str_replace(",", ".", $ARTICLE_FORMATE['VAL_P_HAUTEUR_MIN']);
$ARTICLE_FORMATE['VAL_P_HAUTEUR_MAX'] = str_replace(",", ".", $ARTICLE_FORMATE['VAL_P_HAUTEUR_MAX']);
$ARTICLE_FORMATE['VAL_P_LARGEUR'] = str_replace(",", ".", $ARTICLE_FORMATE['VAL_P_LARGEUR']);
$ARTICLE_FORMATE['VAL_P_LARGEUR_MIN'] = str_replace(",", ".", $ARTICLE_FORMATE['VAL_P_LARGEUR_MIN']);
$ARTICLE_FORMATE['VAL_P_LARGEUR_MAX'] = str_replace(",", ".", $ARTICLE_FORMATE['VAL_P_LARGEUR_MAX']);
$Exposition_solaire = str_replace(' ', '', $ARTICLE['Exposition_solaire']);
$listeexposition = explode(',', $Exposition_solaire);
$ctlisteexposition = count($listeexposition);
$ARTICLE_FORMATE['BE_P_SOLEIL'] = '0'; // peut se planter au soleil
$ARTICLE_FORMATE['BE_P_OMBRE'] = '0'; // peut se planter a lombre
$ARTICLE_FORMATE['BE_P_MIOMBRE'] = '0'; // peut se planter a miombre
for ($j = 0; $j < $ctlisteexposition; $j++) {
switch (strtolower($listeexposition[$j])) {
case 'soleil': {
$ARTICLE_FORMATE['BE_P_SOLEIL'] = 1; break;
}
case 'mi-ombre': {
$ARTICLE_FORMATE['BE_P_MIOMBRE'] = 1; break;
}
case 'ombre': {
$ARTICLE_FORMATE['BE_P_OMBRE'] = 1; break;
}
}
}
$Nature_sol = str_replace(' ', '', $ARTICLE['Nature_sol']);
$listeNature_sol = explode(',', $Nature_sol);
$ctNature_sol = count($listeNature_sol);
$ARTICLE_FORMATE['BE_P_CALCAIRE'] = '0';
$ARTICLE_FORMATE['BE_P_ACIDE'] = '0';
$ARTICLE_FORMATE['BE_P_DRAINE'] = '0';
for ($j = 0; $j < $ctNature_sol; $j++) {
switch (stripAccents(strtolower($listeNature_sol[$j]))) {
case 'calcaire': {
$ARTICLE_FORMATE['BE_P_CALCAIRE'] = 1; break;
}
case 'acide': {
$ARTICLE_FORMATE['BE_P_ACIDE'] = 1; break;
}
case 'draine': {
$ARTICLE_FORMATE['BE_P_DRAINE'] = 1; break;
}
}
}
$ARTICLE_FORMATE['BE_P_SEC'] = '0'; //;
$ARTICLE_FORMATE['BE_P_FRAIS'] = '0'; //
$ARTICLE_FORMATE['BE_P_HUMIDE'] = '0'; //
$ARTICLE_FORMATE['BE_P_FLEURCOUPE'] = '0'; // sutilise en fleur coupee
//$Maritime_vent=$ARTICLE['Maritime_vent'][0];
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// le renvoi Abelia est pourri, y'a tout et n'importe quoi dans cette balise... seule solution tester la présence d'un 1 ou d'un 2... pas fiable, mais on a pas mieux !!!!
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$ARTICLE_FORMATE['BE_P_MARITIME'] = '0'; // supporte le climat maritime
$ARTICLE_FORMATE['BE_P_VENT'] = '0'; // supporte le vent
$ARTICLE_FORMATE['BE_P_PASVENT'] = '0';;
if (strpos($ARTICLE['Maritime_vent'], '1') === false and strpos($ARTICLE['Maritime_vent'], '2') === false) {
$ARTICLE_FORMATE['BE_P_MARITIME'] = '0';
if (strpos($ARTICLE['Maritime_vent'], 'Vent') === false) {
$ARTICLE_FORMATE['Vent'] = '0';
} else {
$ARTICLE_FORMATE['Vent'] = '1';
}
} else {
if (strpos($ARTICLE['Maritime_vent'], '1') >= 0 && strpos($ARTICLE['Maritime_vent'], '2') === false) {
$ARTICLE_FORMATE['BE_P_MARITIME'] = 1; $ARTICLE_FORMATE['BE_P_VENT'] = 1;
} else if (strpos($ARTICLE['Maritime_vent'], '2') >= 0 && strpos($ARTICLE['Maritime_vent'], '1') === false) {
$ARTICLE_FORMATE['BE_P_MARITIME'] = 2; $ARTICLE_FORMATE['BE_P_VENT'] = 1;
}
}
$Melifere_odorant_couvre_sol = str_replace(' ', '', $ARTICLE['Melifere_odorant_couvre_sol']);
$listeMelifere_odorant_couvre_sol = explode(',', $Melifere_odorant_couvre_sol);
$ctlisteMelifere_odorant_couvre_sol = count($listeMelifere_odorant_couvre_sol);
$ARTICLE_FORMATE['BE_P_MELLIFERE'] = '0'; // plante mellifere
$ARTICLE_FORMATE['BE_P_ODORANTE'] = '0'; // plante odorante valeur 1 à 5
$ARTICLE_FORMATE['BE_P_COUVRESOL'] = '0'; // plante couvre sol
for ($j = 0; $j < $ctlisteMelifere_odorant_couvre_sol; $j++) {
switch (trim(stripAccents(strtolower($listeMelifere_odorant_couvre_sol[$j])))) {
case 'mellifere': {
$ARTICLE_FORMATE['BE_P_MELLIFERE'] = 1; break;
}
case 'melifere': {
$ARTICLE_FORMATE['BE_P_MELLIFERE'] = 1; break;
}
case 'odorant': {
$ARTICLE_FORMATE['BE_P_ODORANTE'] = 1; break;
}
case 'couvre-sol': {
$ARTICLE_FORMATE['BE_P_COUVRESOL'] = 1; break;
}
}
}
$ARTICLE_FORMATE['BE_P_PERSISTANT'] = '0'; // feuillage persistant
if (strpos($ARTICLE['Type_feuillage'], 'Persistant') === false) {
$ARTICLE_FORMATE['BE_P_PERSISTANT'] = '2';
} else {
$ARTICLE_FORMATE['BE_P_PERSISTANT'] = '1';
}
if ($ARTICLE['Largeur_Maxi'] > 0)
$ARTICLE_FORMATE['BE_P_LONGUEF'] = '0'; // plante a longue floraison
$ARTICLE_FORMATE['BE_P_FLORIFERE'] = '0'; // BE_P_ISOLE sutilise en isole
$ARTICLE_FORMATE['BE_P_ISOLE'] = '0';
$ARTICLE_FORMATE['BE_P_GRIMPANTE'] = '0'; // plante grimpante
$ARTICLE_FORMATE['BE_P_PRIOFLEUR'] = '0'; // principalement cultivee pour ses fleurs
$ARTICLE_FORMATE['BE_P_HYBRIDE'] = '0'; // est une plante hybride
$ARTICLE_FORMATE['BE_P_F1'] = '0'; //
$ARTICLE_FORMATE['BE_P_SEMIS'] = '0'; //
$ARTICLE_FORMATE['BE_P_FERTILE'] = '0'; //
$ARTICLE_FORMATE['BE_P_POTFLEURI'] = '0'; // s'utilise en pot
$ARTICLE_FORMATE['BE_P_COMMESTIBLE'] = '0'; // est une plante commestible
$ARTICLE_FORMATE['BE_P_TOXIQUE'] = '0'; // est une plante toxique
$ARTICLE_FORMATE['BE_P_FRUIT'] = '0'; // est une plante a fruit
$ARTICLE_FORMATE['BE_P_CONDIMENT'] = '0'; //
$ARTICLE_FORMATE['TEXT_P_COMMESTIBLE'] = ''; // texte commestible
$ARTICLE_FORMATE['BE_P_GEL'] = '0'; // supporte le gel
$ARTICLE_FORMATE['VAL_P_TEMPGEL'] = '0'; // temperature la plus basse supportee
$ARTICLE_FORMATE['BE_P_SECHERESSE'] = '0'; // supporte des périodes de secheresse
$ARTICLE_FORMATE['VAL_P_ARROSAGE'] = '0'; // valeur 0 1 2 3 4
$ARTICLE_FORMATE['BE_P_ACTIVE'] = '0'; // est une plante active(0=indéfini, 1=oui, 2=non)
$ARTICLE_FORMATE['BE_P_DELETE'] = '0'; // est une plante supprimee(0=indéfini, 1=oui, 2=non)
$ARTICLE_FORMATE['DATET_P_CREA'] = date('Y-m-d H:i:s'); // date de creation de la plante
$ARTICLE_FORMATE['DATET_P_LASTMODIF'] = date('Y-m-d H:i:s'); // date derniere modification
$ARTICLE_FORMATE['DATE_MAJ_ARTICLE'] = $ARTICLE['date_Maj_Article'];
$ARTICLE_FORMATE['DATE_MAJ_VARIETE'] = $ARTICLE['date_Maj_Variete'];
$ARTICLE_FORMATE['DATE_DERNIER_MVT_STOCK'] = $ARTICLE['Date_Dernier_Mvt_Stock'];
//mise en correspondance des particularisme en fonction de la famille Abelia
////////////////////////////////////////////////////////////////////////////////////////////
//GESTION DES FAMILLES
////////////////////////////////////////////////////////////////////////////////////////////
$liste_famille = explode(',', $ARTICLE['code_famille']);
$ctliste_famille = count($liste_famille);
$familleARTICLE = array("OUT", "ZRE", "ZZZ",);
for ($j = 0; $j < $ctliste_famille; $j++) {
if (in_array($liste_famille[$j], $familleARTICLE)) {
$ARTICLE_FORMATE['FKID_REF_TYPE_ARTICLE'] = 2;
}
if ($liste_famille[$j] == 'PAL') {
$ARTICLE_FORMATE['collection'][] = 'ARB';
}
$ARTICLE_FORMATE['collection'][] = $liste_famille[$j];
if ($liste_famille[$j] == 'CVI' || $liste_famille[$j] == 'ZAQ' || $liste_famille[$j] == 'ZBR' || $liste_famille[$j] == 'ZBU' || $liste_famille[$j] == 'ZFO' || $liste_famille[$j] == 'ZGR' || $liste_famille[$j] == 'ZMA' || $liste_famille[$j] == 'ZOF' || $liste_famille[$j] == 'ZOM'
) {
$ARTICLE_FORMATE['collection'][] = 'VIV';
}
if ($liste_famille[$j] == 'FRU') {
switch ($ARTICLE['Type_fruitier']) {
case 'abricotier': {
$ARTICLE_FORMATE['collection'][] = 'FRUPRU'; break;
}
case 'agrume': {
$ARTICLE_FORMATE['collection'][] = 'FRUAGR'; break;
}
case 'autre': {
$ARTICLE_FORMATE['collection'][] = 'FRUAUT'; break;
}
case 'cerisier': {
$ARTICLE_FORMATE['collection'][] = 'FRUCER'; break;
}
case 'châtaignier/noyer': {
$ARTICLE_FORMATE['collection'][] = 'FRUCHA'; break;
}
case 'cognassier': {
$ARTICLE_FORMATE['collection'][] = 'FRUCOG'; break;
}
case 'figuier': {
$ARTICLE_FORMATE['collection'][] = 'FRUFIG'; break;
}
case 'kiwi': {
$ARTICLE_FORMATE['collection'][] = 'FRUKIW'; break;
}
case 'noisetier': {
$ARTICLE_FORMATE['collection'][] = 'FRUNOI'; break;
}
case 'pêcher': {
$ARTICLE_FORMATE['collection'][] = 'FRUPEC'; break;
}
case 'petits fruits': {
$ARTICLE_FORMATE['collection'][] = 'FRUPET'; break;
}
case 'poirier': {
$ARTICLE_FORMATE['collection'][] = 'FRUPOI'; break;
}
case 'pommier': {
$ARTICLE_FORMATE['collection'][] = 'FRUPOM'; break;
}
case 'prunier': {
$ARTICLE_FORMATE['collection'][] = 'FRUPRU'; break;
}
case 'raisin': {
$ARTICLE_FORMATE['collection'][] = 'FRURAI'; break;
}
}
}
if ($liste_famille[$j] == 'ROT' || $liste_famille[$j] == 'ROG' || $liste_famille[$j] == 'ROB') {
$ARTICLE_FORMATE['collection'][] = 'ROS';
}
//article qui ne sont pas des plantes
if (
$liste_famille[$j] == 'DIV' ||
$liste_famille[$j] == 'ENG' ||
$liste_famille[$j] == 'GAZ' ||
$liste_famille[$j] == 'PAI' ||
$liste_famille[$j] == 'PRO' ||
$liste_famille[$j] == 'TER') {
$ARTICLE_FORMATE['collection'][] = 'OUTACC';
$ARTICLE_FORMATE['collection'][] = $liste_famille[$j];
$ARTICLE_FORMATE['FKID_REF_TYPE_ARTICLE'] = '2'; // clé étrangere table REF_TYPE_ARTICLE pour classement rapide
}
if (
$liste_famille[$j] == 'SEC' ||
$liste_famille[$j] == 'OUT'
) {
$ARTICLE_FORMATE['collection'][] = 'OUTACC';
$ARTICLE_FORMATE['collection'][] = 'OUT';
$ARTICLE_FORMATE['FKID_REF_TYPE_ARTICLE'] = '2'; // clé étrangere table REF_TYPE_ARTICLE pour classement rapide
}
}
$ARTICLE_FORMATE['collection'][] = 'ALL';
$ARTICLE_FORMATE['collection'][] = 'DEAAZ';
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'A') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZA';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'B') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZB';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'C') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZC';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'D') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZD';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'E') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZE';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'F') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZF';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'G') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZG';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'H') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZH';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'I') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZI';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'J') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZJ';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'K') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZK';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'L') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZL';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'M') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZM';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'N') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZN';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'O') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZO';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'P') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZP';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'Q') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZQ';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'R') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZR';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'S') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZS';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'T') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZT';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'U') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZU';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'V') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZV';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'W') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZW';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'X') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZX';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'Y') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZY';
}
if (strtoupper(substr($ARTICLE_FORMATE['CHAR_A_TITRE'], 0, 1)) == 'Z') {
$ARTICLE_FORMATE['collection'][] = 'DEAAZZ';
}
////////////////////////////////////////////////////////////////////////////////////////////
//PERIODE FLORAISON
////////////////////////////////////////////////////////////////////////////////////////////
$mytab = explode('/', $ARTICLE['Epoque_floraison']);
if (isset($mytab[0])) {
$ARTICLE_FORMATE['PERIODE_FLORAISON']['FKID_REF_MOIS_DEBUT'] = $mytab[0]; $ARTICLE_FORMATE['PERIODE_FLORAISON']['FKID_REF_MOIS_FIN'] = $mytab[0];
}
if (isset($mytab[1])) {
$ARTICLE_FORMATE['PERIODE_FLORAISON']['FKID_REF_MOIS_FIN'] = $mytab[1];
}
////////////////////////////////////////////////////////////////////////////////////////////
//PERIODE Feuillaison
////////////////////////////////////////////////////////////////////////////////////////////
$mytab = explode('/', $ARTICLE['Epoque_feuillaison']);
if (isset($mytab[0])) {
$ARTICLE_FORMATE['PERIODE_FEUILLAISON']['FKID_REF_MOIS_DEBUT'] = $mytab[0]; $ARTICLE_FORMATE['PERIODE_FEUILLAISON']['FKID_REF_MOIS_FIN'] = $mytab[0];
}
if (isset($mytab[1])) {
$ARTICLE_FORMATE['PERIODE_FEUILLAISON']['FKID_REF_MOIS_FIN'] = $mytab[1];
}
////////////////////////////////////////////////////////////////////////////////////////////
//PERIODE CUEILLETTE
////////////////////////////////////////////////////////////////////////////////////////////
$mytab = explode('/', $ARTICLE['Epoque_maturite_fruit']);
if (isset($mytab[0])) {
$ARTICLE_FORMATE['PERIODE_CUEILLETTE']['FKID_REF_MOIS_DEBUT'] = $mytab[0]; $ARTICLE_FORMATE['PERIODE_CUEILLETTE']['FKID_REF_MOIS_FIN'] = $mytab[0];
}
if (isset($mytab[1])) {
$ARTICLE_FORMATE['PERIODE_CUEILLETTE']['FKID_REF_MOIS_FIN'] = $mytab[1];
}
////////////////////////////////////////////////////////////////////////////////////////////
//ZONE DE RUSTICITE
////////////////////////////////////////////////////////////////////////////////////////////
$ARTICLE_FORMATE['REF_ZONE'] = $ARTICLE['Rusticite'];
////////////////////////////////////////////////////////////////////////////////////////////
//IMAGES ASSOCIEES
////////////////////////////////////////////////////////////////////////////////////////////
$mytab = explode(';', $ARTICLE['Images']);
$myct = count($mytab);
for ($z = 0; $z < $myct; $z++) {
$ARTICLE_FORMATE['PHOTO'][$z]['CHAR_PH_ORIG'] = $mytab[$z];
$ARTICLE_FORMATE['PHOTO'][$z]['CHAR_PH_NAME'] = $mytab[$z];
$ARTICLE_FORMATE['PHOTO'][$z]['CHAR_PH_TITLE'] = $ARTICLE['libelle1_variete'].$ARTICLE['libelle1_article'];
$ARTICLE_FORMATE['PHOTO'][$z]['CHAR_PH_ALT'] = $ARTICLE['libelle1_variete'].$ARTICLE['libelle1_article'];
}
////////////////////////////////////////////////////////////////////////////////////////////
//COULEUR PLANTE
////////////////////////////////////////////////////////////////////////////////////////////
$mytab = explode(';', $ARTICLE['Couleur_fleur']);
$myct = count($mytab);
for ($z = 0; $z < $myct; $z++) {
$ARTICLE_FORMATE['PLANTE_AVOIR_REF_COULEUR_FLEUR'][$z] = $mytab[$z];
}
////////////////////////////////////////////////////////////////////////////////////////////
//COULEUR FEUILLE
////////////////////////////////////////////////////////////////////////////////////////////
$mytab = explode(';', $ARTICLE['Couleur_feuilla']);
$myct = count($mytab);
for ($z = 0; $z < $myct; $z++) {
$ARTICLE_FORMATE['PLANTE_AVOIR_REF_COULEUR_FEUILLE'][$z] = $mytab[$z];
}
$ARTICLE_FORMATE['CONDITIONNEMENT'] = $ARTICLE['code_conditionnement'].$ARTICLE['code_taille'];
$ARTICLE_FORMATE['PRIX'] = $ARTICLE['tarif_id'];
$ARTICLE_FORMATE['UNITE'] = $ARTICLE['unite_vente'];
$ARTICLE_FORMATE['POIDS'] = $ARTICLE['poids_article'];
$ARTICLE_FORMATE['STOCK'] = $ARTICLE['stk_dispo'];
$ARTICLE_FORMATE['VAL_PFC_VENDABILITE'] = $ARTICLE['Vendabilite'][0];
$ARTICLE_FORMATE['ID_AQUILA'] = $ARTICLE['id'];
return $ARTICLE_FORMATE;
}
function dl_update_ARTICLE($db, $ARTICLE) {
//génération de l'article "au propre"
$ARTICLE_FORMATE = gl_generation_ARTICLE($ARTICLE);
$sql='update ARTICLE set
FKID_REF_TYPE_ARTICLE="'.$article['FKID_REF_TYPE_ARTICLE'].'",
BE_A_NEW="'.$article['BE_A_NEW'].'",
BE_A_TV="'.$article['BE_A_TV'].'",
BE_A_UNE="'.$article['BE_A_UNE'].'",
TEXT_A_UNE="'.$article['TEXT_A_UNE'].'",
VAL_A_HAUTEUR="'.$article['VAL_A_HAUTEUR'].'",
VAL_A_LARGEUR="'.$article['VAL_A_LARGEUR'].'",
VAL_A_PROFONDEUR="'.$article['VAL_A_PROFONDEUR'].'",
BE_A_COMPOSE="2",
BE_A_ACTIVE="1",
BE_A_DELETE="2",
DATET_A_LASTMODIF=now()
where ID_ARTICLE="'.$id.'"';
$log.='Maj VAL article :
';
if(XMLVERBOSE>1){$log.=''.($sql).'
'; }
//$result= update($db,$sql);
$sql='update ARTICLE set
CHAR_A_TITRE="'.htmlentities($article['CHAR_A_TITRE'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
CHAR_A_SOUSTITRE="'.htmlentities($article['CHAR_A_SOUSTITRE'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
CHAR_A_REFERENCE="'.htmlentities($article['CHAR_A_REFERENCE'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
CHAR_A_LINKTV="'.htmlentities($article['CHAR_A_LINKTV'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
CHAR_A_PINTEREST="'.htmlentities($article['CHAR_A_PINTEREST'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
CHAR_A_FACEBOOK="'.htmlentities($article['CHAR_A_FACEBOOK'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
CHAR_A_YOUTUBE="'.htmlentities($article['CHAR_A_YOUTUBE'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
CHAR_A_COMPLEMENTAIRE1="'.htmlentities($article['CHAR_A_COMPLEMENTAIRE1'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
CHAR_A_COMPLEMENTAIRE2="'.htmlentities($article['CHAR_A_COMPLEMENTAIRE2'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
CHAR_A_COMPLEMENTAIRE3="'.htmlentities($article['CHAR_A_COMPLEMENTAIRE3'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
CHAR_A_COMPLEMENTAIRE4="'.htmlentities($article['CHAR_A_COMPLEMENTAIRE4'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
CHAR_A_COMPLEMENTAIRE5="'.htmlentities($article['CHAR_A_COMPLEMENTAIRE5'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
CHAR_A_COMPLEMENTAIRE6="'.htmlentities($article['CHAR_A_COMPLEMENTAIRE6'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
CHAR_A_COMPLEMENTAIRE7="'.htmlentities($article['CHAR_A_COMPLEMENTAIRE7'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
CHAR_A_COMPLEMENTAIRE8="'.htmlentities($article['CHAR_A_COMPLEMENTAIRE8'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
CHAR_A_COMPLEMENTAIRE9="'.htmlentities($article['CHAR_A_COMPLEMENTAIRE9'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
CHAR_A_COMPLEMENTAIRE10="'.htmlentities($article['CHAR_A_COMPLEMENTAIRE10'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
DATET_A_LASTMODIF=now()
where ID_ARTICLE="'.$id.'"';
$log.='Maj CHAR article :
';
if(XMLVERBOSE>1){$log.=''.($sql).'
'; }
//$result= update($db,$sql);
$sql='update ARTICLE set
TEXT_A_DESCRIPTIF="'.($article['TEXT_A_DESCRIPTIF']).'",
DATET_A_LASTMODIF=now()
where ID_ARTICLE="'.$id.'"';
$log.='Maj TEXT article :
';
if(XMLVERBOSE>1){$log.=''.($sql).'
'; }
//$result= update($db,$sql);
$sql='update ARTICLE set
TEXT_A_METATITLE="'.$article['TEXT_A_METATITLE'].'",
DATET_A_LASTMODIF=now()
where ID_ARTICLE="'.$id.'"';
$log.='Maj TEXT article :
';
if(XMLVERBOSE>1){$log.=''.($sql).'
'; }
//$result= update($db,$sql);
$sql='update ARTICLE set
TEXT_A_METATITLEVENTE="'.$article['TEXT_A_METATITLEVENTE'].'",
DATET_A_LASTMODIF=now()
where ID_ARTICLE="'.$id.'"';
$log.='Maj TEXT article :
';
if(XMLVERBOSE>1){$log.=''.($sql).'
'; }
//$result= update($db,$sql);
$sql='update ARTICLE set
TEXT_A_METADESC="'.$article['TEXT_A_METADESC'].'",
DATET_A_LASTMODIF=now()
where ID_ARTICLE="'.$id.'"';
$log.='Maj TEXT article :
';
if(XMLVERBOSE>1){$log.=''.($sql).'
'; }
//$result= update($db,$sql);
$sql='update ARTICLE set
TEXT_A_METADESCVENTE="'.$article['TEXT_A_METADESCVENTE'].'",
DATET_A_LASTMODIF=now()
where ID_ARTICLE="'.$id.'"';
$log.='Maj TEXT article :
';
if(XMLVERBOSE>1){$log.=''.($sql).'
'; }
//$result= update($db,$sql);
$sql='update ARTICLE set
TEXT_A_UNE="'.$article['TEXT_A_UNE'].'",
DATET_A_LASTMODIF=now()
where ID_ARTICLE="'.$id.'"';
$log.='Maj TEXT article :
';
if(XMLVERBOSE>1){$log.=''.($sql).'
'; }
//$result= update($db,$sql);
return $log;
}
function dl_insert_ARTICLE($db, $ARTICLE) {
//génération de l'article "au propre"
$ARTICLE_FORMATE = gl_generation_ARTICLE($ARTICLE);
$sql='
INSERT INTO ARTICLE
(ID_ARTICLE, FKID_REF_TYPE_ARTICLE, CHAR_A_TITRE, CHAR_A_SOUSTITRE, CHAR_A_REFERENCE, BE_A_NEW, TEXT_A_DESCRIPTIF, TEXT_A_METATITLE, TEXT_A_METATITLEVENTE, TEXT_A_METADESC, TEXT_A_METADESCVENTE, BE_A_TV, CHAR_A_LINKTV, CHAR_A_PINTEREST, CHAR_A_FACEBOOK, CHAR_A_YOUTUBE, BE_A_UNE, TEXT_A_UNE, VAL_A_HAUTEUR, VAL_A_LARGEUR, VAL_A_PROFONDEUR, BE_A_COMPOSE, BE_A_ACTIVE, BE_A_DELETE, DATET_A_CREATE, DATET_A_LASTMODIF, CHAR_A_COMPLEMENTAIRE1, CHAR_A_COMPLEMENTAIRE2, CHAR_A_COMPLEMENTAIRE3, CHAR_A_COMPLEMENTAIRE4, CHAR_A_COMPLEMENTAIRE5, CHAR_A_COMPLEMENTAIRE6, CHAR_A_COMPLEMENTAIRE7, CHAR_A_COMPLEMENTAIRE8, CHAR_A_COMPLEMENTAIRE9, CHAR_A_COMPLEMENTAIRE10)
VALUES
(
"'.$newid_ARTICLE.'",
"'.$article['FKID_REF_TYPE_ARTICLE'].'",
"'.htmlentities($article['CHAR_A_TITRE'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
"'.htmlentities($article['CHAR_A_SOUSTITRE'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
"'.$article['CHAR_A_REFERENCE'].'",
"'.$article['BE_A_NEW'].'",
"'.htmlentities($article['TEXT_A_DESCRIPTIF'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
"'.htmlentities($article['TEXT_A_METATITLE'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
"'.htmlentities($article['TEXT_A_METATITLEVENTE'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
"'.htmlentities($article['TEXT_A_METADESC'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
"'.htmlentities($article['TEXT_A_METADESCVENTE'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
"'.$article['BE_A_TV'].'",
"'.$article['CHAR_A_LINKTV'].'",
"'.$article['CHAR_A_PINTEREST'].'",
"'.$article['CHAR_A_FACEBOOK'].'",
"'.$article['CHAR_A_YOUTUBE'].'",
"'.$article['BE_A_UNE'].'",
"'.$article['TEXT_A_UNE'].'",
"'.$article['VAL_A_HAUTEUR'].'",
"'.$article['VAL_A_LARGEUR'].'",
"'.$article['VAL_A_PROFONDEUR'].'",
"'.$article['BE_A_COMPOSE'].'",
"1",
"2",
now(),
now(),
"'.$article['CHAR_A_COMPLEMENTAIRE1'].'",
"'.$article['CHAR_A_COMPLEMENTAIRE2'].'",
"'.$article['CHAR_A_COMPLEMENTAIRE3'].'",
"'.$article['CHAR_A_COMPLEMENTAIRE4'].'",
"'.$article['CHAR_A_COMPLEMENTAIRE5'].'",
"'.$article['CHAR_A_COMPLEMENTAIRE6'].'",
"'.$article['CHAR_A_COMPLEMENTAIRE7'].'",
"'.$article['CHAR_A_COMPLEMENTAIRE8'].'",
"'.$article['CHAR_A_COMPLEMENTAIRE9'].'",
"'.$article['CHAR_A_COMPLEMENTAIRE10'].'")
';
$log.='insert article :
';
if(XMLVERBOSE>1){$log.=''.($sql).'
'; }
$sql='INSERT INTO PLANTE (ID_PLANTE, PKFKID_ARTICLE, FKID_REF_OBTENTEUR, FKID_FAMILLE, FKID_REF_FORME, CHAR_P_FAMILLE, CHAR_P_GENRE, CHAR_P_ESPECE, CHAR_P_SESPECE, CHAR_P_GROUPE, CHAR_P_VARIETE, BE_P_VARIETETM, BE_P_VARIETEC, BE_P_VARIETER, CHAR_P_MARQUE, BE_P_MARQUETM, BE_P_MARQUEC, BE_P_MARQUER, CHAR_P_CULTIVAR, BE_P_CULTIVARTM, BE_P_CULTIVARC, BE_P_CULTIVARR, CHAR_P_COMPLEMENT, BE_P_COMPLEMENTTM, BE_P_COMPLEMENTR, BE_P_COMPLEMENTC, BE_P_LEPAGE, TEXT_P_GENRE, TEXT_P_ESPECE, TEXT_P_CULTIVAR, TEXT_P_ENTRETIEN, VAL_P_DENSITE, VAL_P_HAUTEUR, VAL_P_HAUTEUR_MIN, VAL_P_HAUTEUR_MAX, VAL_P_LARGEUR, VAL_P_LARGEUR_MIN, VAL_P_LARGEUR_MAX, BE_P_SOLEIL, BE_P_OMBRE, BE_P_MIOMBRE, BE_P_CALCAIRE, BE_P_ACIDE, BE_P_DRAINE, BE_P_SEC, BE_P_FRAIS, BE_P_HUMIDE, BE_P_FLEURCOUPE, BE_P_MARITIME, BE_P_VENT, BE_P_PASVENT, BE_P_MELLIFERE, BE_P_PERSISTANT, BE_P_ODORANTE, BE_P_LONGUEF, BE_P_FLORIFERE, BE_P_ISOLE, BE_P_COUVRESOL, BE_P_GRIMPANTE, BE_P_PRIOFLEUR, BE_P_HYBRIDE, BE_P_F1, BE_P_SEMIS, BE_P_FERTILE, BE_P_POTFLEURI, BE_P_COMMESTIBLE, BE_P_TOXIQUE, BE_P_FRUIT, BE_P_CONDIMENT, TEXT_P_COMMESTIBLE, BE_P_GEL, VAL_P_TEMPGEL, BE_P_SECHERESSE, VAL_P_ARROSAGE, BE_P_ACTIVE, BE_P_DELETE, DATET_P_CREA, DATET_P_LASTMODIF)
VALUES
("'.$newid_PLANTE.'",
"'.$newid_ARTICLE.'",
"'.$article['FKID_REF_OBTENTEUR'].'",
"'.$article['FKID_FAMILLE'].'",
"'.$article['FKID_REF_FORME'].'",
"'.$article['CHAR_P_FAMILLE'].'",
"'.$article['CHAR_P_GENRE'].'",
"'.$article['CHAR_P_ESPECE'].'",
"'.$article['CHAR_P_SESPECE'].'",
"'.$article['CHAR_P_GROUPE'].'",
"'.$article['CHAR_P_VARIETE'].'",
"'.$article['BE_P_VARIETETM'].'",
"'.$article['BE_P_VARIETEC'].'",
"'.$article['BE_P_VARIETER'].'",
"'.$article['CHAR_P_MARQUE'].'",
"'.$article['BE_P_MARQUETM'].'",
"'.$article['BE_P_MARQUEC'].'",
"'.$article['BE_P_MARQUER'].'",
"'.$article['CHAR_P_CULTIVAR'].'",
"'.$article['BE_P_CULTIVARTM'].'",
"'.$article['BE_P_CULTIVARC'].'",
"'.$article['BE_P_CULTIVARR'].'",
"'.$article['CHAR_P_COMPLEMENT'].'",
"'.$article['BE_P_COMPLEMENTTM'].'",
"'.$article['BE_P_COMPLEMENTR'].'",
"'.$article['BE_P_COMPLEMENTC'].'",
"'.$article['BE_P_LEPAGE'].'",
"'.htmlentities($article['TEXT_P_GENRE'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
"'.htmlentities($article['TEXT_P_ESPECE'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
"'.htmlentities($article['TEXT_P_CULTIVAR'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
"'.htmlentities($article['TEXT_P_ENTRETIEN'], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8").'",
"'.$article['VAL_P_DENSITE'].'",
"'.$article['VAL_P_HAUTEUR'].'",
"'.$article['VAL_P_HAUTEUR_MIN'].'",
"'.$article['VAL_P_HAUTEUR_MAX'].'",
"'.$article['VAL_P_LARGEUR'].'",
"'.$article['VAL_P_LARGEUR_MIN'].'",
"'.$article['VAL_P_LARGEUR_MAX'].'",
"'.$article['BE_P_SOLEIL'].'",
"'.$article['BE_P_OMBRE'].'",
"'.$article['BE_P_MIOMBRE'].'",
"'.$article['BE_P_CALCAIRE'].'",
"'.$article['BE_P_ACIDE'].'",
"'.$article['BE_P_DRAINE'].'",
"'.$article['BE_P_SEC'].'",
"'.$article['BE_P_FRAIS'].'",
"'.$article['BE_P_HUMIDE'].'",
"'.$article['BE_P_FLEURCOUPE'].'",
"'.$article['BE_P_MARITIME'].'",
"'.$article['BE_P_VENT'].'",
"'.$article['BE_P_PASVENT'].'",
"'.$article['BE_P_MELLIFERE'].'",
"'.$article['BE_P_PERSISTANT'].'",
"'.$article['BE_P_ODORANTE'].'",
"'.$article['BE_P_LONGUEF'].'",
"'.$article['BE_P_FLORIFERE'].'",
"'.$article['BE_P_ISOLE'].'",
"'.$article['BE_P_COUVRESOL'].'",
"'.$article['BE_P_GRIMPANTE'].'",
"'.$article['BE_P_PRIOFLEUR'].'",
"'.$article['BE_P_HYBRIDE'].'",
"'.$article['BE_P_F1'].'",
"'.$article['BE_P_SEMIS'].'",
"'.$article['BE_P_FERTILE'].'",
"'.$article['BE_P_POTFLEURI'].'",
"'.$article['BE_P_COMMESTIBLE'].'",
"'.$article['BE_P_TOXIQUE'].'",
"'.$article['BE_P_FRUIT'].'",
"'.$article['BE_P_CONDIMENT'].'",
"'.$article['TEXT_P_COMMESTIBLE'].'",
"'.$article['BE_P_GEL'].'",
"'.$article['VAL_P_TEMPGEL'].'",
"'.$article['BE_P_SECHERESSE'].'",
"'.$article['VAL_P_ARROSAGE'].'",
"'.$article['BE_P_ACTIVE'].'",
"'.$article['BE_P_DELETE'].'",
"'.$article['DATET_P_CREA'].'",
"'.$article['DATET_P_LASTMODIF'].'")
';
$log.='insert article :
';
if(XMLVERBOSE>1){$log.=''.($sql).'
'; }
return $log;
}
function existe_en_base_ARTICLES($db) {
$log = '';
//$_SESSION['liste_ARTICLE']=array();
//$_SESSION['liste_ARTICLE_EXISTER_CONDITIONNEMENT']=array();
/**
* Pour chaque ARTICLES
* 1- verifier s'il existe en base
*/
$list_CHAR_A_REFERENCE = dl_select_list_CHAR_A_REFERENCE_in_base($db);
$ctlist_CHAR_A_REFERENCE = count($list_CHAR_A_REFERENCE);
$list_CHAR_A_REFERENCE_surcharge = dl_select_list_CHAR_A_REFERENCE_in_base_SURCHARGE($db);
$ctlist_CHAR_A_REFERENCE_surcharge = count($list_CHAR_A_REFERENCE_surcharge);
$ctliste_ARTICLE = count($_SESSION['liste_ARTICLE']);
$log .= '########################################################
';
$log .= 'EXISTE EN BASE
';
$log .= '########################################################
';
for ($i = 0; $i < $ctliste_ARTICLE; $i++) {
for ($j = 0; $j < $ctlist_CHAR_A_REFERENCE; $j++) {
if ($_SESSION['liste_ARTICLE'][$i]['code_variete'] == $list_CHAR_A_REFERENCE[$j]['CHAR_A_REFERENCE']) {
$_SESSION['liste_ARTICLE'][$i]['ARTICLE_EXIST'] = $list_CHAR_A_REFERENCE[$j]['ID_ARTICLE'];
for ($k = 0; $k < $ctlist_CHAR_A_REFERENCE_surcharge; $k++) {
if ($_SESSION['liste_ARTICLE'][$i]['code_variete'] == $list_CHAR_A_REFERENCE_surcharge[$k]['CHAR_A_REFERENCE']) {
$_SESSION['liste_ARTICLE'][$i]['ARTICLE_EXIST_SURCHARGE'] = 1;
if ($list_CHAR_A_REFERENCE_surcharge[$k]['BE_A_SURCHARGE'] == 1)$_SESSION['liste_ARTICLE'][$i]['BE_A_SURCHARGE'] = 1;
break;
} else {}
}
break;
} else {}
}
if ($_SESSION['liste_ARTICLE'][$i]['ARTICLE_EXIST'] > 1) {
$log .= $_SESSION['liste_ARTICLE'][$i]['code_variete'].' existe id '.$list_CHAR_A_REFERENCE[$j]['ID_ARTICLE'].'.';
if ($_SESSION['liste_ARTICLE'][$i]['ARTICLE_EXIST_SURCHARGE'] == 1) {
$log .= ' Existe surcharge.';
if ($_SESSION['liste_ARTICLE'][$i]['BE_A_SURCHARGE'] == 1) {
$log .= 'SURCHARGE.';
}
$log .= '
';
} else {
$log .= ' N\'existe pas surcharge.
';
}
} else {
$log .= $_SESSION['liste_ARTICLE'][$i]['code_variete'].' n\'existe pas en base.
';
$_SESSION['liste_ARTICLE'][$i]['ARTICLE_EXIST'] = 2;
}
}
return $log;
}
function dl_select_list_CHAR_A_REFERENCE_in_base_SURCHARGE($db) {
$sql = "SELECT ID_ARTICLE_SURCHARGE, CHAR_A_REFERENCE, BE_A_SURCHARGE FROM `ARTICLE_SURCHARGE` ORDER BY `CHAR_A_TITRE` ASC";
return select_list($db, $sql);
}
function dl_select_list_CHAR_A_REFERENCE_in_base($db) {
$sql = "SELECT ID_ARTICLE, CHAR_A_REFERENCE FROM `ARTICLE` ORDER BY `CHAR_A_TITRE` ASC";
return select_list($db, $sql);
}
function formatage_liste_ARTICLE($produit) {
//$_SESSION['liste_ARTICLE']
$ctliste_ARTICLE = count($_SESSION['liste_ARTICLE']);
$ARTICLE_exist = 0;
for ($i = 0; $i < $ctliste_ARTICLE; $i++) {
//echo count($_SESSION['liste_ARTICLE']).':'.$_SESSION['liste_ARTICLE'][$i]['libelle1_article'].'
';
if ($_SESSION['liste_ARTICLE'][$i]['code_variete'] == $produit['code_variete']) {
$ARTICLE_exist = 1;
break;
}
}
if ($ARTICLE_exist == 0) {
$_SESSION['liste_ARTICLE'][$ctliste_ARTICLE] = $produit;
}
$ct = count($_SESSION['liste_ARTICLE_EXISTER_CONDITIONNEMENT']);
$_SESSION['liste_ARTICLE_EXISTER_CONDITIONNEMENT'][$ct]['libelle1_variete'] = $produit['code_variete'];
$_SESSION['liste_ARTICLE_EXISTER_CONDITIONNEMENT'][$ct]['libelle1_variete'] = $produit['libelle1_variete'];
$_SESSION['liste_ARTICLE_EXISTER_CONDITIONNEMENT'][$ct]['id'] = $produit['id'];
$_SESSION['liste_ARTICLE_EXISTER_CONDITIONNEMENT'][$ct]['tarif_id'] = $produit['tarif_id'];
$_SESSION['liste_ARTICLE_EXISTER_CONDITIONNEMENT'][$ct]['tva_id'] = $produit['tva_id'];
$_SESSION['liste_ARTICLE_EXISTER_CONDITIONNEMENT'][$ct]['libelle_conditionnement'] = $produit['libelle_conditionnement'];
$_SESSION['liste_ARTICLE_EXISTER_CONDITIONNEMENT'][$ct]['libelle_taille'] = $produit['libelle_taille'];
}
function formatage_liste_ref_conditionnement($produit) {
//$_SESSION['liste_ref_conditionnement'];
$ctliste_ref_conditionnement = count($_SESSION['liste_ref_conditionnement']);
$ref_conditionnement_exist = 0;
for ($i = 0; $i < $ctliste_ref_conditionnement; $i++) {
if ($liste_ref_conditionnement[$i]['CHAR_C_ABREVIATION2'] == $produit['code_conditionnement'].$produit['code_taille']) {
$ref_conditionnement_exist = 1;
break;
}
}
if ($ref_conditionnement_exist == 0) {
$_SESSION['liste_ref_conditionnement'][$ctliste_ref_conditionnement]['CHAR_C_ABREVIATION2'] = $produit['code_conditionnement'].$produit['code_taille'];
$_SESSION['liste_ref_conditionnement'][$ctliste_ref_conditionnement]['CHAR_C_TITRE'] = $produit['libelle_conditionnement'].' '.$produit['libelle_taille'];
}
}
function formatage_liste_ref_tarif($produit) {
//$_SESSION['liste_ref_tarif'];
$ctliste_ref_tarif = count($_SESSION['liste_ref_tarif']);
$ref_tarif_exist = 0;
for ($i = 0; $i < $ctliste_ref_tarif; $i++) {
if ($_SESSION['liste_ref_tarif'][$i]['CHAR_CODE_COURT'] == $produit['tarif_id']) {
$ref_tarif_exist = 1;
break;
}
}
if ($ref_tarif_exist == 0) {
$_SESSION['liste_ref_tarif'][$ctliste_ref_tarif]['ID_AQUILA'] = $produit['id'];
$_SESSION['liste_ref_tarif'][$ctliste_ref_tarif]['CHAR_CODE_COURT'] = $produit['tarif_id'];
$_SESSION['liste_ref_tarif'][$ctliste_ref_tarif]['VAL_RT_PRIXPART'] = $produit['Prix_Vente_TTC'];
}
}
function formatage_liste_ref_couleurs($produit) {
//$_SESSION['liste_ref_couleurs'];
$couleurs = trim($produit['Couleur_fleur']);
$tab_couleurs = explode(',', $couleurs);
$cttab_couleurs = count($tab_couleurs);
for ($i = 0; $i < $cttab_couleurs; $i++) {
$couleurexist = 0;
$ctliste_couleur = count($_SESSION['liste_ref_couleurs']);
//echo $tab_couleurs[$j].'--->'.trim(strtolower($tab_couleurs[$i])).'
';
for ($j = 0; $j < $ctliste_couleur; $j++) {
if ($tab_couleurs[$j] == trim(strtolower($tab_couleurs[$i]))) {
$couleurexist = 1; break;
}
}
if ($couleurexist == 0 && trim(strtolower(stripAccents($tab_couleurs[$i]))) != '') {
$_SESSION['liste_ref_couleurs'][$ctliste_couleur] = trim(strtolower($tab_couleurs[$i]));
}
}
}
function formatage_liste_ref_couleurs_feuille($produit) {
//$_SESSION['liste_ref_couleurs_feuille';
}
function affiche_controle_response($clef, $valeur, $controle_response, $id) {
//$txt= "$clef : ";
switch ($controle_response) {
case 0: //$txt .= $clef.': ---> OK
//';
break;
case 1: $txt .= $clef.': ---> le contenu est au format ISO8859-1
'; break;
case 3: $txt .= $clef.': ---> le contenu n\'est pas UTF8
'; break;
//case 103: $txt.=$clef.': ---> information facultative manquante
';break;
case 1003: {
$txt .= $id.' '.$clef.': ---> information obligatoire manquante
'; break;
$_SESSION['blacklist_produit'][] = $id;
}
case 1000000: $txt .= $clef.': ---> nouveau balisage XML non géré
'; break;
}
//$valeur
return $txt;
}
function Affiche_Valeur($tableau, $indentation = 0, $blacklist = array()) {
foreach ($tableau as $clef => $valeur) {
$controle_response = Controler_valeur($clef, $valeur);
$valeur = formatage_valeur($clef, $valeur);
$affiche_controle_response = affiche_controle_response($clef, $valeur, $controle_response, $tableau['id']);
// Ajoutez l'indentation
$log .= str_repeat(' ', $indentation);
if (!in_array($clef, $blacklist)) {
// Affiche la clé et la valeur
// Si la valeur est un tableau, appelle récursivement la fonction
if (is_array($valeur) && !empty($valeur)) {
$log .= "
";
Affiche_Valeur($valeur, $indentation + 1);
} else {
// Si la valeur n'est pas un tableau, affiche la valeur
$log .= $affiche_controle_response;
}
}
}
return $log;
}
function formatage_valeur($clef, $valeur) {
$valeur = trim($valeur);
switch ($clef) {
case 'id' : {
break;
}
case 'tarif_id' : {
break;
}
case 'tva_id' : {
break;
}
case 'date' : {
break;
}
case 'libelle1_variete' : {
break;
}
case 'libelle2_variete' : {
break;
}
case 'Nom_vermaculaire_1' : {
break;
}
case 'Nom_vermaculaire_2' : {
break;
}
case 'Rusticite' : {
break;
}
case 'Couleur_fleur' : {
break;
}
case 'Famille_botanique' : {
break;
}
case 'Epoque_floraison' : {
break;
}
case 'Epoque_maturite_fruit' : {
break;
}
case 'Type_fruitier' : {
break;
}
case 'variete_memo_texte' : {
break;
}
case 'variete_texte' : {
break;
}
case 'genre' : {
break;
}
case 'espece' : {
break;
}
case 'variete' : {
break;
}
case 'code_famille' : {
break;
}
case 'Exposition1' : {
break;
}
case 'Exposition2' : {
break;
}
case 'Exposition3' : {
break;
}
case 'Exposition4' : {
break;
}
case 'Exposition_solaire' : {
break;
}
case 'Flashcode' : {
break;
}
case 'Type_feuillage' : {
break;
}
case 'Libre' : {
break;
}
case 'Nature_sol' : {
break;
}
case 'Maritime_vent' : {
break;
}
case 'Melifere_odorant_couvre_sol' : {
break;
}
case 'Hauteur_Mini' : {
break;
}
case 'Hauteur_Maxi' : {
break;
}
case 'Largeur_Mini' : {
break;
}
case 'Largeur_Maxi' : {
break;
}
case 'libelle_conditionnement' : {
break;
}
case 'poids_conditionnement' : {
break;
}
case 'libelle_taille' : {
break;
}
case 'libelle1_article' : {
break;
}
case 'libelle2_article' : {
break;
}
case 'prix_base_article' : {
break;
}
case 'unite_vente' : {
break;
}
case 'poids_article' : {
break;
}
case 'stk_dispo' : {
break;
}
case 'nouveaute' : {
break;
}
case 'libelle_famille' : {
break;
}
case 'libelle_sous_famille' : {
break;
}
case 'libelle_forme' : {
break;
}
case 'code_variete' : {
break;
}
case 'code_conditionnement' : {
break;
}
case 'code_taille' : {
break;
}
case 'colonne52' : {
break;
}
case 'colonne53' : {
break;
}
case 'colonne54' : {
break;
}
case 'colonne55' : {
break;
}
case 'colonne56' : {
break;
}
case 'colonne57' : {
break;
}
case 'colonne58' : {
break;
}
case 'colonne59' : {
break;
}
case 'colonne60' : {
break;
}
case 'colonne61' : {
break;
}
case 'colonne62' : {
break;
}
case 'colonne63' : {
break;
}
case 'colonne64' : {
break;
}
case 'colonne65' : {
break;
}
case 'code_totalisateur' : {
break;
}
case 'mis_en_avant' : {
break;
}
case 'famille_variete' : {
break;
}
case 'code_regroupement' : {
break;
}
case 'Descriptif_article' : {
break;
}
case 'Texte_Genre' : {
break;
}
case 'Texte_Espece' : {
break;
}
case 'Texte_Entretien' : {
break;
}
case 'Vendabilite' : {
break;
}
case 'Prix_Vente_TTC' : {
break;
}
case 'Stock_disponible' : {
break;
}
case 'date_Maj_Variete' : {
break;
}
case 'date_Maj_Article' : {
break;
}
case 'Date_Dernier_Mvt_Stock' : {
break;
}
case 'Images' : {
break;
}
case 'Statut_Web' : {
break;
}
default : {
break;
}// champs inconnu;
}
return $valeur;
}
function Controler_valeur($clef, $valeur) {
$error = 0;
//test nul
$error += test_encoding($valeur);
$type = test_type($valeur);
$valeur = trim($valeur);
switch ($clef) {
case 'id' : {
$error += test_obligatoire($valeur); break;
}
case 'tarif_id' : {
$error += test_obligatoire($valeur); break;
}
case 'tva_id' : {
$error += test_null($valeur); break;
}
case 'date' : {
$error += test_null($valeur); break;
}
case 'libelle1_variete' : {
$error += test_null($valeur); break;
}
case 'libelle2_variete' : {
$error += test_null($valeur); break;
}
case 'Nom_vermaculaire_1' : {
$error += test_null($valeur); break;
}
case 'Nom_vermaculaire_2' : {
$error += test_null($valeur); break;
}
case 'Rusticite' : {
$error += test_null($valeur); break;
}
case 'Couleur_fleur' : {
$error += test_null($valeur); break;
}
case 'Famille_botanique' : {
$error += test_null($valeur); break;
}
case 'Epoque_floraison' : {
$error += test_null($valeur); break;
}
case 'Epoque_maturite_fruit' : {
$error += test_null($valeur); break;
}
case 'Type_fruitier' : {
$error += test_null($valeur); break;
}
case 'variete_memo_texte' : {
$error += test_null($valeur); break;
}
case 'variete_texte' : {
$error += test_null($valeur); break;
}
case 'genre' : {
$error += test_null($valeur); break;
}
case 'espece' : {
$error += test_null($valeur); break;
}
case 'variete' : {
$error += test_null($valeur); break;
}
case 'code_famille' : {
$error += test_obligatoire($valeur); break;
}
case 'Exposition1' : {
$error += test_null($valeur); break;
}
case 'Exposition2' : {
$error += test_null($valeur); break;
}
case 'Exposition3' : {
$error += test_null($valeur); break;
}
case 'Exposition4' : {
$error += test_null($valeur); break;
}
case 'Exposition_solaire' : {
$error += test_null($valeur); break;
}
case 'Flashcode' : {
$error += test_null($valeur); break;
}
case 'Type_feuillage' : {
$error += test_null($valeur); break;
}
case 'Libre' : {
$error += test_null($valeur); break;
}
case 'Nature_sol' : {
$error += test_null($valeur); break;
}
case 'Maritime_vent' : {
$error += test_null($valeur); break;
}
case 'Melifere_odorant_couvre_sol' : {
$error += test_null($valeur); break;
}
case 'Hauteur_Mini' : {
$error += test_null($valeur); break;
}
case 'Hauteur_Maxi' : {
$error += test_null($valeur); break;
}
case 'Largeur_Mini' : {
$error += test_null($valeur); break;
}
case 'Largeur_Maxi' : {
$error += test_null($valeur); break;
}
case 'libelle_conditionnement' : {
$error += test_null($valeur); break;
}
case 'poids_conditionnement' : {
$error += test_null($valeur); break;
}
case 'libelle_taille' : {
$error += test_null($valeur); break;
}
case 'libelle1_article' : {
$error += test_null($valeur); break;
}
case 'libelle2_article' : {
$error += test_null($valeur); break;
}
case 'prix_base_article' : {
$error += test_null($valeur); break;
}
case 'unite_vente' : {
$error += test_null($valeur); break;
}
case 'poids_article' : {
$error += test_null($valeur); break;
}
case 'stk_dispo' : {
break;
}
case 'nouveaute' : {
$error += test_null($valeur); break;
}
case 'libelle_famille' : {
$error += test_null($valeur); break;
}
case 'libelle_sous_famille' : {
$error += test_null($valeur); break;
}
case 'libelle_forme' : {
$error += test_null($valeur); break;
}
case 'code_variete' : {
$error += test_obligatoire($valeur); break;
}
case 'code_conditionnement' : {
$error += test_obligatoire($valeur); break;
}
case 'code_taille' : {
$error += test_null($valeur); break;
}
case 'colonne52' : {
$error += test_null($valeur); $error += test_null($valeur); break;
}
case 'colonne53' : {
$error += test_null($valeur); break;
}
case 'colonne54' : {
$error += test_null($valeur); break;
}
case 'colonne55' : {
$error += test_null($valeur); break;
}
case 'colonne56' : {
$error += test_null($valeur); break;
}
case 'colonne57' : {
$error += test_null($valeur); break;
}
case 'colonne58' : {
$error += test_null($valeur); break;
}
case 'colonne59' : {
$error += test_null($valeur); break;
}
case 'colonne60' : {
$error += test_null($valeur); break;
}
case 'colonne61' : {
$error += test_null($valeur); break;
}
case 'colonne62' : {
$error += test_null($valeur); break;
}
case 'colonne63' : {
$error += test_null($valeur); break;
}
case 'colonne64' : {
$error += test_null($valeur); break;
}
case 'colonne65' : {
$error += test_null($valeur); break;
}
case 'code_totalisateur' : {
$error += test_null($valeur); break;
}
case 'mis_en_avant' : {
$error += test_null($valeur); break;
}
case 'famille_variete' : {
$error += test_null($valeur); break;
}
case 'code_regroupement' : {
$error += test_null($valeur); break;
}
case 'Descriptif_article' : {
$error += test_null($valeur); break;
}
case 'Texte_Genre' : {
$error += test_null($valeur); break;
}
case 'Texte_Espece' : {
$error += test_null($valeur); break;
}
case 'Texte_Entretien' : {
$error += test_null($valeur); break;
}
case 'Vendabilite' : {
$error += test_null($valeur); break;
}
case 'Prix_Vente_TTC' : {
$error += test_obligatoire($valeur); break;
}
case 'Stock_disponible' : {
break;
}
case 'date_Maj_Variete' : {
$error += test_null($valeur); break;
}
case 'date_Maj_Article' : {
$error += test_null($valeur); break;
}
case 'Date_Dernier_Mvt_Stock' : {
$error += test_null($valeur); break;
}
case 'Images' : {
$error += test_null($valeur); break;
}
case 'Statut_Web' : {
$error += test_null($valeur); break;
}
default : {
$error += 1000000; break;
}// champs inconnu;
}
return (int)$error;
}
function test_obligatoire($valeur) {
if (empty($valeur))return 1000; else return 0;
}
function test_null($valeur) {
if (empty($valeur))return 100; else return 0;
}
function test_type($chaine) {
if (is_numeric($chaine)) {
return 10;
} else {
$type = gettype($chaine);
switch ($type) {
case "boolean": {
return 20; break;
}
case "integer": {
return 10; break;
}
case "double": {
return 10; break;
}
case "string": {
return 30; break;
}
case "array": {
return 40; break;
}
case "object": {
return 50; break;
}
case "resource": {
return 60; break;
}
case "resource (closed)": {
return 70; break;
}
case "NULL": {
return 80; break;
}
case "unknown type": {
return 90; break;
}
}
}
}
function test_encoding($chaine) {
$encodage = mb_detect_encoding($chaine, "UTF-8, ISO-8859-1");
if ($encodage === "UTF-8") {
//echo "La chaîne est encodée en UTF-8.";
return 0;
} elseif ($encodage === "ISO-8859-1") {
return 1;
//echo "La chaîne est encodée en ISO-8859-1 (Latin-1).";
} else {
return 3;
// echo "L'encodage de la chaîne n'est pas reconnu comme UTF-8 ou ISO-8859-1.";
}
}
function display_xml_error($error, $xml) {
$return = $xml[$error->line - 1] . "\n";
$return .= str_repeat('-', $error->column) . "^\n";
switch ($error->level) {
case LIBXML_ERR_WARNING:
$return .= "Warning $error->code: ";
break;
case LIBXML_ERR_ERROR:
$return .= "Error $error->code: ";
break;
case LIBXML_ERR_FATAL:
$return .= "Fatal Error $error->code: ";
break;
}
$return .= trim($error->message) .
"\n Line: $error->line" .
"\n Column: $error->column";
if ($error->file) {
$return .= "\n File: $error->file";
}
return "$return\n\n--------------------------------------------\n\n";
}
?>