Problème Installation Premium V5

5 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour,

Je viens d'installer la premium V5 sur mon serveur. L'installation a eu l'air de bien se passer, les tables ont été crées dans ma base. Par contre j'ai d'entrée le bug suivant :

Parse error: syntax error, unexpected $end in /var/www/xxx/yyy/lib/fonctions/fonctions.php on line 2440

Là, je suis un peu bloqué, sachant que je n'ai rien touché au fichier d'origine.

Merci pour votre aide.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

peut on voir cette ligne ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Il s'agit de la dernière ligne de la page de fonctions, elle est vierge.

Donc à mon avis, il doit y avoir une erreur d'accolade, de point virgule ou autre, quelque part dans les 2439 lignes de code.

Peut être que ce problème a déjà été répertorié et qu'un nouveau fichier fonctions.php fonctionnel est disponible.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Il s'agit de la dernière ligne de la page de fonctions, elle est vierge.

Donc à mon avis, il doit y avoir une erreur d'accolade, de point virgule ou autre, quelque part dans les 2439 lignes de code.

Peut être que ce problème a déjà été répertorié et qu'un nouveau fichier fonctions.php fonctionnel est disponible.

Le contenu de la page fonctions.php est le suivant

Si vous n'y arrivez pas envoyez moi vos paramètres FTP & le numéro de votre commande

<?php

function server_info($name)
{
    $name = strtoupper($name);
    
    return ( !empty($_SERVER[$name]) ) ? $_SERVER[$name] : ( ( !empty($_ENV[$name]) ) ? $_ENV[$name] : '' );
}

function est_identifie() {
/* Retourne true si l'utilisateur des identifie */

    return isset($_SESSION)
        && isset($_SESSION['utilisateur'])
        && !empty($_SESSION['utilisateur']['email'])
        && vb($_SESSION['url']) == $_SERVER['HTTP_HOST'];
        
}
        

function necessite_identification() {

/* Cette fonction v&eacute;rifie si l'utilisateur est identifi&eacute;.  Si non affiche
 * l'&eacute;cran d'authentification avant de laisser l'utilisateur continuer */

    global $wwwroot;
    if (! est_identifie()) {
        $_SESSION['wantsurl'] = $_SERVER['PHP_SELF'];
        echo "<meta http-equiv='Refresh' content='1; url=$wwwroot/membre.php'>";
    }
}

function necessite_priv($priv) {
/* Cette fonction vérifie si l'utilisateur a les privilèges de $priv.  Si non affiche
* l'écran informant que les privilèges sont insuffisants et arrête le traitement */

    global $wwwroot;
        
    if ( vb($_SESSION['utilisateur']['priv']) != "admin" ) {
    
        if ( vb($_SESSION['utilisateur']['priv']) != "redac" ) {
    
            if ( vb($_SESSION['utilisateur']['priv']) != $priv ) {
                ?>
                <html>
                <head>
                <title>Privil&egrave;ges Non accord&eacute;s</title>
                </head>
                <style>
                h1 { font-family: Tahoma, Arial, sans-serif; font-size: 13px; font-weight: bold; color: #CC0000; }
                </style>

                <body bgcolor=#ffffff link=#0000ff vlink=#000099 alink=#ff0000>
        
                <h1 align=center>Vous n'avez pas les autorisations n&eacute;cessaires pour acc&eacute;der &agrave; l'administration du site.
                <p></p>Ins&eacute;rer votre identifiant et votre mot de passe.
                <a href="<?=$wwwroot?>/index.php">Cliquez ici pour revenir &agrave; la boutique</a>
        
                </h1>
                </body>
                </html> <?
                die;
            }
        }
    }
}


function necessite_priv_affilie($priv) {
/* Cette fonction v&eacute;rifie si l'utilisateur a les privil&egrave;ges de $priv.  Si non affiche
 * l'&eacute;cran informant que les privil&egrave;ges sont insuffisants et arr&ecirc;te le traitement */

    global $wwwroot;
    
    if ( $_SESSION['utilisateur']['priv'] != "affi") { 
        ?>
        <html>
        <head>
        <title>Privil&egrave;ges Non accord&eacute;s</title>
        </head>
        <style>
        h1 { font-family: verdana, Arial, sans-serif; font-size: 10pt; font-weight: bold; color: #CC0000; }
        </style>

        <body bgcolor=#ffffff link=#0000ff vlink=#000099 alink=#ff0000>
        <h1 align=center>Vous n'avez pas les autorisations n&eacute;cessaires pour acc&eacute;der &agrave; l'interface Affili&eacute;.
        <p></p>Ins&eacute;rer votre identifiant et votre mot de passe.
        </h1>
        </body>
        </html> <?
        die;
    }
}

function a_priv($priv) {
/* Renvoie true si l'utilisateur de la session a le privil&egrave;ge $priv */
    return $_SESSION['utilisateur']['priv'] == $priv;
}

function affiche_arbre_categorie($catid=false) {
/* Affiche l'arbre de categories tree en appelemnt recupere_arbre_categorie */
    echo recupere_arbre_categorie($catid);
}

function recupere_arbre_categorie($catid=0) {
/* Renvoie l'arbre des cat&eacute;gories des produits, en commençant de top jusqu&agrave; la
 * categorie specifiee par $id */

    global $wwwroot;
    
    $qid = mysql_query("SELECT parent_id, nom_".$_SESSION['langue']." FROM peel_categories WHERE id = '".intval($catid)."' AND etat = '1'");
    
    if ($qid) {
    
        if (mysql_num_rows($qid)) {
    
            list($parent, $nom) = mysql_fetch_row($qid);
    
            $nom = "<a href=\"$wwwroot/achat/index.php?catid=$catid\">$nom</a>";
    
        } else {
    
            $parent = 0;
    
            $nom = "";
    
        }
    
    }
    
    else {
    
        $parent = 0;
    
        $nom = "";
    
    }
    
    if ($parent > 0) {        
    
        return affiche_arbre_categorie($parent) . "&gt; " . $nom."</p>";

    } elseif ($catid > 0) {

        return "<p>&nbsp;".HERE." : <a href=\"$wwwroot/index.php\">".HOME."</a> &gt; " . $nom."</p>";

    } elseif ($catid == 0) {

        return "<p>&nbsp;".HERE."</span> : <a href=\"$wwwroot/index.php\">".HOME."</a>";

    }

}

function construit_arbo_cat(&$sortie, &$preselectionne, $parent=0, $indent="") {

/* Parcours r&eacute;curcivement l'arbre des cat&eacute;gories, commençant d'un parent
 * il descend dans l'arbre et affiche les options pour une liste de boîtes de s&eacute;lection
 * Les &eacute;l&eacute;ment preselectionn&eacute;s sont marqu&eacute; comme tel */
     
    $sql = "SELECT c.id, c.nom_".$_SESSION['langue'].", c.parent_id FROM peel_categories c 
    INNER JOIN peel_sites_pivots sc ON (sc.categorie_id  = c.id)
    WHERE sc.site_id = '".$_SESSION['ecom']['id']."' AND c.parent_id = '$parent' ORDER BY c.position";
        
    $qid = mysql_query($sql);
    
    if ($qid) {
    
        if (mysql_num_rows($qid) > 0) {
            
            while ($cat =  mysql_fetch_array($qid)) {
            
                $selectionne = in_array($cat['id'], $preselectionne) ? "selected" : "";
            
                $sortie .= "<option value=\"" . $cat['id'] . "\" $selectionne>$indent" .stripslashes($cat['nom_'.$_SESSION['langue'].''])."</option>";
            
                if ($cat['id'] != $parent) {
            
                    construit_arbo_cat($sortie, $preselectionne, $cat['id'], $indent."&nbsp;&nbsp;");
            
                }
            
            }
        }
    }
}

function construit_arbo_cat_fo(&$sortie, &$preselectionne, $parent=0, $indent="") {

/* Parcours r&eacute;curcivement l'arbre des cat&eacute;gories, commençant d'un parent
 * il descend dans l'arbre et affiche les options pour une liste de boîtes de s&eacute;lection
 * Les &eacute;l&eacute;ment preselectionn&eacute;s sont marqu&eacute; comme tel */

    $qid = mysql_query("SELECT c.id, c.nom_".$_SESSION['langue']." as nom, c.parent_id FROM peel_categories c INNER JOIN peel_sites_pivots sc ON (sc.categorie_id = c.id) WHERE c.parent_id = '$parent' AND sc.site_id = '".intval($_SESSION['ecom']['id'])."' ORDER BY c.position");
    
    if ($qid) {
    
        if (mysql_num_rows($qid) > 0) {
            
            while ($cat =  mysql_fetch_array($qid)) {
            
                $sortie .= "<option value=\"".$cat['id']."\">$indent" .stripslashes($cat['nom'])."</option>";
            
                if ($cat['id'] != $parent) {
            
                    construit_arbo_cat_fo($sortie, $preselectionne, $cat['id'], $indent."&nbsp;&nbsp;");
            
                }
            
            }
        }
    }
}

function select_arbo_cat(&$sortie, $parent=0, $indent="") {

    $qid = mysql_query("SELECT id, nom_".$_SESSION['langue'].", parent_id FROM peel_categories WHERE parent_id = $parent ORDER BY nom_".$_SESSION['langue']."") 
    or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
    
    if ($qid) {
    
        if (mysql_num_rows($qid) > 0) {
            
            while ($cat =  mysql_fetch_array($qid)) {
            
                $sortie .= "<option value=\"" . $cat['id']."\"";
                
                $sortie .= ($cat['id'] == vn($_GET['cat_search'])) ? " selected" : "";
                
                $sortie .= "> $indent" .stripslashes($cat['nom_'.$_SESSION['langue'].''])."</option>";
            
                if ($cat['id'] != $parent) {
            
                    select_arbo_cat($sortie, $cat['id'], $indent."&nbsp;&nbsp;");
            
                }
            
            }
        }
    }
}

function affiche_arbre_rubrique($rubid=false) {
    echo recupere_arbre_rubrique($rubid);
}

function recupere_arbre_rubrique($rubid=0) {
/* Renvoie l'arbre des cat&eacute;gories des produits, en commençant de top jusqu&agrave; la
 * categorie specifiee par $id */

    global$wwwroot;
    
    $qid = mysql_query("SELECT parent_id, nom_".$_SESSION['langue']." FROM peel_rubriques WHERE id = '".intval($rubid)."' AND etat = '1'");
    if ($qid) {
        if (mysql_num_rows($qid)) {
            list($parent, $nom) = mysql_fetch_row($qid);
            $nom = "<a class=petit href='$wwwroot/lire/index.php?rubid=$rubid'>$nom</a>";
        } else {
            $parent = 0;
            $nom = HERE." : ";
        }
    }
    else {
        $parent = 0;
        $nom = "";
    }
    if ($parent > 0) {        
        return affiche_arbre_rubrique($parent) . " &gt; " . $nom;

    } elseif ($rubid > 0) {
        return "<span class=\"petit\">".HERE."</span> : <a class=petit href='$wwwroot/lire/index.php'>".HOME."</a> &gt; " . $nom;

    } elseif ($rubid == 0) {
        return "<span class=\"petit\">".HERE."</span> : <a class=petit href='$wwwroot/lire/index.php'>".HOME."</a>";
    }
}

function construit_arbo_rub(&$sortie, &$preselectionne, $parent=0, $indent="") {

    $sql = "SELECT r.id, r.nom_".$_SESSION['langue'].", r.parent_id FROM peel_rubriques r 
    INNER JOIN peel_sites_pivots sr ON (sr.rubrique_id  = r.id)
    WHERE sr.site_id = '".$_SESSION['ecom']['id']."' AND r.parent_id = '$parent' ORDER BY r.position";
        
    $qid = mysql_query($sql) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
    
    if ($qid) {
    
        if (mysql_num_rows($qid) > 0) {
    
            while ($rub =  mysql_fetch_array($qid)) {
    
                $selectionne = in_array($rub['id'], $preselectionne) ? "selected" : "";
    
                $sortie .= "<option value=\"" . $rub['id'] . "\" $selectionne>$indent" . $rub['nom_'.$_SESSION['langue'].''];
    
                if ($rub['id'] != $parent) {
    
                    construit_arbo_rub($sortie, $preselectionne, $rub['id'], $indent."&nbsp;&nbsp;");
    
                }
    
            }
    
        }
    
    }

}




// Fonction r&eacute;cursive pour rechercher si $noeud fait partie de l'arborescence d'un noeud donn&eacute;
// Utilis&eacute; par construit_menu afin d'ouvrir les DIV necesssaires dans l'arborescence
function parent_noeud_rub($noeud_rub,$aktul_rub,&$actif_rub){

         // Si c'est pas la racine
         if($aktul_rub != 0 && $noeud_rub != 0){
            // Recherche le parent du noeud &agrave; tester
            $sql=mysql_query("SELECT id, parent_id FROM peel_rubriques WHERE id = $aktul_rub");
            // r&eacute;cup&egrave;re le r&eacute;sultat
            $rub=mysql_fetch_array($sql);
            // Appel r&eacute;cursif jusqu'&agrave; la racine
            parent_noeud_rub($noeud_rub,$rub['parent_id'],$actif_rub);
            // Si le noeud test&eacute; est le noeud recherch&eacute;
            if($rub['parent_id']==$noeud_rub){
               // Met le drapeau &agrave; 1
               $actif_rub=1;
            }
         }
}

function recupere_articles_caddie() {
/* Retourne $qid de tous les &eacute;l&eacute;ments du caddie */

    $in_clause = $_SESSION['caddie']->recupere_produitid_list();
    if (empty($in_clause)) {

        return false;
    }
    $requete = "SELECT id, reference, nom, promotion, prix, tva, poids, stock FROM peel_produits WHERE id IN ($in_clause)";
    return mysql_query($requete);
}


function initialise_mot_passe($email) {
/* Initialise le mot de passe de l'utilisateur et lui envoie par e-mail*/

    global $support, $site;
    
    /* Chargement des infos de l'utilisateur */
    $qid = mysql_query("SELECT email, prenom, nom_famille FROM peel_utilisateurs WHERE email = '$email'");
    
    $utilisateur = mysql_fetch_array($qid);

    /* initialise le mot de passe */
    $nouveau_mot_passe = MDP();
    
    $qid = mysql_query("UPDATE peel_utilisateurs SET mot_passe = '" . md5($nouveau_mot_passe) ."' WHERE email = '$email'");

    /* envoie par email */
    
    $email = $utilisateur['email'];
    
    $mailSujet = SUBJECT_PASSWORD_EMAIL." : ".
    
    $mailObjet = OBJECT_EMAIL_PASSWORD;
    $mailObjet .= IDENTIFIANT_EMAIL." : ".$email."\n\r";
    $mailObjet .= IDENTIFIANT_PASSWORD." : ".$nouveau_mot_passe."\n\r";
    
    mail($email,$mailSujet,$mailObjet,"From:$support");
}

function lit_modele($nom_fichier, &$var) {
/* Retourne une chaine contenant le contenu d'un fichier modele avec interpolation
 * des variables.  Toutes les variables doivent &ecirc;tre dans le tableau $var[] 
 * ATTENTION: Ne pas utiliser sur les gros fichiers!! */

    $temp = str_replace("\\", "\\\\", implode(file($nom_fichier), ""));
    $temp = str_replace('"', '\"', $temp);
    eval("\$modele = \"$temp\";");
    return $modele;
}

function chop_ccnum($ccnum) {
/* Retourne des infos parc&eacute;laires sur la carte de cr&eacute;dit pour discr&eacute;tion
 */

    return substr($ccnum, 0, 4) . "..." . substr($ccnum, -4);
}

function enregistre_commandeinfo(&$frm) {

    $commande = array();
    
    $commande['client1']         = $frm['client1'];
    $commande['contact1']         = $frm['contact1'];
    $commande['email1']         = $frm['email1'];
    $commande['adresse1']         = $frm['adresse1'];
    $commande['code_postal1']     = $frm['code_postal1'];
    $commande['ville1']         = $frm['ville1'];
    $commande['pays1']             = $frm['pays1'];
    $commande['client2']         = $frm['client2'];
    $commande['contact2']         = $frm['contact2'];
    $commande['email2']            = $frm['email2'];
    $commande['adresse2']         = $frm['adresse2'];
    $commande['code_postal2']     = $frm['code_postal2'];
    $commande['ville2']         = $frm['ville2'];
    $commande['pays2']             = $frm['pays2'];
    $commande['commentaires']     = $frm['commentaires'];
    $commande['cgv']             = $frm['cgv'];    
    
    $_SESSION['commande']         = $commande;
}

function charge_commande() {

    if (empty($_SESSION['commande'])) {
    
        return false;
    
    } else {
    
        return $_SESSION['commande'];
    
    }

}

function vide_commandeinfo() {

    unset($_SESSION['commande']);

}

function print_societe() {
/* Affiche la liste des cat&eacute;gories qui sont sp&eacute;ciales */

    $qid = mysql_query("SELECT * FROM peel_societe");
    if ($qid) {
    
    if (mysql_num_rows($qid) > 0) { 
    
        $ligne = mysql_fetch_object($qid); 
    
            echo "<br />";
            if (!empty($ligne->societe))     { echo "<br /><b>" . html_entity_decode($ligne->societe) . "</b>&nbsp;";}
            if (!empty($ligne->adresse))     { echo "<br />" .html_entity_decode($ligne->adresse) . "&nbsp;";}
            if (!empty($ligne->code_postal)) { echo "<br />" .$ligne->code_postal . "&nbsp;";}
            if (!empty($ligne->ville))         { echo "&nbsp;" .html_entity_decode($ligne->ville) . "&nbsp;";}
            if (!empty($ligne->pays))         { echo "<br />" .html_entity_decode($ligne->pays) . "&nbsp;";}
            if (!empty($ligne->tel))         { echo "<br />Tel. : " . $ligne->tel . "";}
            if (!empty($ligne->fax))         { echo "<br />Fax. : " . $ligne->fax . "";}
            if (!empty($ligne->siren))         { echo "<br />Siren : " . $ligne->siren . "";}
            if (!empty($ligne->tvaintra))     { echo "<br />TVA Intracommunaire : " . $ligne->tvaintra. "";}
            if (!empty($ligne->cnil))         { echo "<br />Num&eacute;ro CNIL. : " . $ligne->cnil . "";}
            echo "<br />";
            
        }
    }    
}    

function print_rib() {
/* Affiche la liste des cat&eacute;gories qui sont sp&eacute;ciales */

    $qid = mysql_query("SELECT * FROM peel_societe");
    if ($qid) {
    
    if (mysql_num_rows($qid) > 0) { 
    
        $ligne = mysql_fetch_object($qid); 
                print "<div class=\"normal\">";
            if (!empty($ligne->code_banque))    { print "<b>Code banque :</b> $ligne->code_banque<br />";}
            if (!empty($ligne->code_guichet))    { print "<b>Code guichet :</b> $ligne->code_guichet<br />";}
            if (!empty($ligne->numero_compte))  { print "<b>Num&eacute;ro de compte :</b> $ligne->numero_compte<br />";}
            if (!empty($ligne->cle_rib))        { print "<b>Cl&eacute; RIB :</b> $ligne->cle_rib<br />";}
            if (!empty($ligne->titulaire))        { print "<b>Titulaire du compte :</b> $ligne->titulaire<br />";}
            if (!empty($ligne->domiciliation))   { print "<b>Domiciliation :</b> $ligne->domiciliation<br />";}
            if (!empty($ligne->iban))   { print "<b>IBAN :</b> $ligne->iban<br />";}
            if (!empty($ligne->swift))   { print "<b>SWIFT:</b> $ligne->swift<br />";}
            print "</div>";
        }
    }    
}    

function fdate(&$date_nok) {

$date_ok = date("d-m-Y H:i",strtotime($date_nok));

return $date_ok;

}

function fprix(&$prix_nok) {

$prix_ok = number_format($prix_nok * $_SESSION['devise']['conversion'],2, ',', ' ');

return $prix_ok;

}

# fonction de validation d'adresse mail trouv&eacute;e sur http://www.phpinfo.net/?p=trucs&rub=astuces
function EmailOK($email) {

  return( ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.
               '@'.
               '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.
               '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$',
               $email) );
}

# cr&eacute;ation d'un mot de passe crypt&eacute;
function unique_id()
{
  mt_srand((double)microtime()*1000000);
  return  md5( mt_rand(0,9999999) );
}
    
function return_date_fr($timestamp){ 
    // par defaut on affiche la date du jour 

  $jsem = date('w', strtotime($timestamp)); // jour de la semaine 
  $jmois = date('j', strtotime($timestamp)); // jour du mois ('d' est aussi utilisable) 
  $mois = date('n', strtotime($timestamp)); // mois de l'annee 
  $annee = date('Y', strtotime($timestamp)); // l'annee 
  $tabjour=array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'vendredi',
'Samedi'); 
  $tabmois=array('0', 'janvier', 'f&eacute;vrier', 'mars', 'avril', 'mai', 'juin', 
  'juillet', 'août', 'septembre', 'octobre', 'novembre',
'd&eacute;cembre'); 
  
  // construction de la date formatee 
  $datefr = $tabjour[$jsem]." $jmois ".$tabmois[$mois]." $annee"; 
  
  // affichage (remplacer 'echo' par 'return' pour retourner le resultat) 
  return $datefr;
}    

function cree_commande(&$commande) {
// Enregistre la commande dans la base 

    global $normal;
    global $express;
    global $site;
    global $support;
    global $wwwroot;
    global $seuil;
    global $commission_affilie;
    
    $remise = 0;    
    
    $tab_pays1 = mysql_fetch_array(mysql_query("SELECT pays_".$_SESSION['langue']." FROM peel_pays WHERE id = '".$commande['pays1']."'"));
        
    // Constuit les infos du client en une chaîne
    // Addresse de facturation
    $client_info1 =
         $commande['client1']."\n"
        .$commande['adresse1']."\n"
        .$commande['code_postal1']."\n"
        .$commande['ville1']."\n"
        .$tab_pays1['pays_'.$_SESSION['langue'].'']."\n"
        .$commande['contact1']."\n"
        .$commande['email1']."\n";
        
        
    $coord1 = explode(" ",  $commande['client1']);
    
    
    if (empty($commande['adresse2']) || empty($commande['code_postal2']) || empty($commande['ville2'])) {
    // Addresse de livraison
    $client_info2 =
         $commande['client1']."\n"
        .$commande['adresse1']."\n"
        .$commande['code_postal1']." ".$commande['ville1']."\n"
        .$_SESSION['caddie']->pays."\n"
        .$commande['contact1']."\n"
        .$commande['email1']."\n";    
        
    } else {
    
    // Addresse de livraison
    $client_info2 =
         $commande['client2']."\n"
        .$commande['adresse2']."\n"
        .$commande['code_postal2']." ".$commande['ville2']."\n"
        .$_SESSION['caddie']->pays."\n"
        .$commande['contact2']."\n"
        .$commande['email2']."\n";    
        
    }
    
    $coord1 = explode(" ",  $commande['client1']);
    
    $coord2 = explode(" ",  $commande['client2']);
    
    /* Le reversement affilié est calculé sur le total ht des produits */
    if (isset($_SESSION['affilie'])) {    
    
    $affilie = 1; 
    $statut_affilie = 0;    
    $montant_affilie = $_SESSION['caddie']->total_produit * $commission_affilie/100; 
    $id_affilie = intval($_SESSION['affilie']);
    
    } else { 
    
    $affilie = 0; 
    $montant_affilie = 0; 
    $statut_affilie = 0; 
    $id_affilie = 0;
    
    }
    
    $transport = $_SESSION['caddie']->pays."|".$_SESSION['caddie']->zone."|".$_SESSION['caddie']->zoneTva."|".$_SESSION['caddie']->zoneFranco."|".$_SESSION['caddie']->type;
    
    $code_facture = MDP();
    
    $sql = "
    INSERT INTO peel_commandes (
        email
        , id_utilisateur
        , o_timestamp
        , a_timestamp
        , client_info1
        , client_info2
        , commentaires
        
        , montant
        , montant_ht
        
        , total_option
        , total_option_ht
        , tva_total_option
        
        , total_produit
        , total_produit_ht
        , tva_total_produit
        
        ,code_promo
        ,code_cheque
        ,code_bon
        
        , percent_remise_client
        , percent_remise_groupe
        , percent_code_promo
        , valeur_code_promo
        , valeur_cheque_cadeau
        
        , total_remise
        , total_remise_ht
        , tva_total_remise
        
        , total_tva
        , total_tva1
        , total_tva2
        , total_tva3
        
        , total_produit1
        , total_produit_ht1

        , total_produit2
        , total_produit_ht2
        
        , total_produit3
        , total_produit_ht3


        , transport
        , cout_transport
        , cout_transport_ht
        , tva_cout_transport
        
        , lang
        
        , total_points
        , points_etat
        
        , total_poids
        
        , affilie
        , montant_affilie
        , statut_affilie
        , id_affilie
        
        , total_ecotaxe_ttc
        , total_ecotaxe_ht
        , tva_total_ecotaxe
        
        , avoir
                
        , paiement
        , tarif_paiement
        , tarif_paiement_ht
        , tva_tarif_paiement
        
        , prenom_bill
        , nom_bill
        , adresse_bill
        , zip_bill
        , ville_bill
        , pays_bill
        , email_bill
        , telephone_bill
        , prenom_ship
        , nom_ship
        , adresse_ship
        , zip_ship
        , ville_ship
        , pays_ship
        , email_ship
        , telephone_ship
        
        , id_parrain
        , parrain
        
        , devise
        
        , id_statut_paiement
        , id_statut_livraison
        
        , zone_tva
        , zone_franco
        , pays
        , zone
        , type    
        , code_facture
        
        , id_ecom
        
    ) VALUES (
         '{$_SESSION['utilisateur']['email']}'
        ,'".intval($_SESSION['utilisateur']['id_utilisateur'])."'
        ,now()
        ,now()
        ,'".htmlspecialchars($client_info1, ENT_QUOTES)."'
        ,'".htmlspecialchars($client_info2, ENT_QUOTES)."'
        ,'".htmlspecialchars($commande['commentaires'], ENT_QUOTES)."'
        
        ,'".$_SESSION['caddie']->total."'
        ,'".$_SESSION['caddie']->total_ht."'
        
        ,'".$_SESSION['caddie']->total_option."'
        ,'".$_SESSION['caddie']->total_option_ht."'
        ,'".$_SESSION['caddie']->tva_total_option."'        
        
        ,'".$_SESSION['caddie']->total_produit."'
        ,'".$_SESSION['caddie']->total_produit_ht."'
        ,'".$_SESSION['caddie']->tva_total_produit."'    
        
        ,'".htmlspecialchars($_SESSION['caddie']->code_promo, ENT_QUOTES)."'
        ,'".htmlspecialchars($_SESSION['caddie']->code_cheque, ENT_QUOTES)."'
        ,'".htmlspecialchars($_SESSION['caddie']->code_bon, ENT_QUOTES)."'
        
        ,'".$_SESSION['caddie']->percent_remise_client."'    
        ,'".$_SESSION['caddie']->percent_remise_groupe."'    
        ,'".$_SESSION['caddie']->percent_code_promo."'    
        ,'".$_SESSION['caddie']->valeur_code_promo."'    
        ,'".$_SESSION['caddie']->valeur_cheque_cadeau."'    
        
        ,'".$_SESSION['caddie']->total_remise."'
        ,'".$_SESSION['caddie']->total_remise_ht."'
        ,'".$_SESSION['caddie']->tva_total_remise."'
        
    
        ,'".$_SESSION['caddie']->total_tva."'
        ,'".$_SESSION['caddie']->total_tva1."'
        ,'".$_SESSION['caddie']->total_tva2."'
        ,'".$_SESSION['caddie']->total_tva3."'
        
        ,'".$_SESSION['caddie']->total_produit1."'
        ,'".$_SESSION['caddie']->total_produit_ht1."'

        ,'".$_SESSION['caddie']->total_produit2."'
        ,'".$_SESSION['caddie']->total_produit_ht2."'
        
        ,'".$_SESSION['caddie']->total_produit3."'
        ,'".$_SESSION['caddie']->total_produit_ht3."'


        ,'".htmlspecialchars($transport, ENT_QUOTES)."'
        ,'".$_SESSION['caddie']->cout_transport."'
        ,'".$_SESSION['caddie']->cout_transport_ht."'
        ,'".$_SESSION['caddie']->tva_cout_transport."'
        
        ,'".$_SESSION['langue']."'
        
        ,'".$_SESSION['caddie']->total_points."'
        ,'0'
        
        
        , '".$_SESSION['caddie']->total_poids."'
        
        ,'".$affilie."'
        ,'".$montant_affilie."'
        ,'".$statut_affilie."'
        ,'".$id_affilie."'
        
        ,'".$_SESSION['caddie']->total_ecotaxe_ttc."'
        ,'".$_SESSION['caddie']->total_ecotaxe_ht."'
        ,'".$_SESSION['caddie']->tva_total_ecotaxe."'
        
        
        ,'".$_SESSION['caddie']->avoir."'
                
        ,'".htmlspecialchars($_SESSION['caddie']->paiement,ENT_QUOTES)."'
        ,'".$_SESSION['caddie']->tarif_paiement."'
        ,'".$_SESSION['caddie']->tarif_paiement_ht."'
        ,'".$_SESSION['caddie']->tva_tarif_paiement."'
        
                
        , '".htmlspecialchars(vb($coord1[0]),ENT_QUOTES)."'
        , '".htmlspecialchars(vb($coord1[1]),ENT_QUOTES)."'
        , '".htmlspecialchars($commande['adresse1'],ENT_QUOTES)."'
        , '".htmlspecialchars($commande['code_postal1'])."'
        , '".htmlspecialchars($commande['ville1'],ENT_QUOTES)."'
        , '".htmlspecialchars($tab_pays1['pays_'.$_SESSION['langue'].''],ENT_QUOTES)."'
        , '".htmlspecialchars($commande['email1'])."'
        , '".htmlspecialchars($commande['contact1'])."'
        , '".htmlspecialchars(vb($coord2[0]),ENT_QUOTES)."'
        , '".htmlspecialchars(vb($coord2[1]),ENT_QUOTES)."'
        , '".htmlspecialchars($commande['adresse2'],ENT_QUOTES)."'
        , '".htmlspecialchars($commande['code_postal2'])."'
        , '".htmlspecialchars($commande['ville2'],ENT_QUOTES)."'
        , '".htmlspecialchars($_SESSION['caddie']->pays,ENT_QUOTES)."'
        , '".htmlspecialchars($commande['email2'])."'
        , '".htmlspecialchars($commande['contact2'])."'
        
        ,'".vn($_SESSION['utilisateur']['id_parrain'])."'
        ,'".vb($_SESSION['utilisateur']['type'])."'
        
        ,'".$_SESSION['devise']['symbole']."'
        
        , '1'
        , '1'
        
        , '".$_SESSION['caddie']->zoneTva."'
        , '".$_SESSION['caddie']->zoneFranco."'
        , '".htmlspecialchars($_SESSION['caddie']->pays,ENT_QUOTES)."'
        , '".htmlspecialchars($_SESSION['caddie']->zone,ENT_QUOTES)."'
        , '".htmlspecialchars($_SESSION['caddie']->type,ENT_QUOTES)."'
        , '".$code_facture."'
        ,'".$_SESSION['ecom']['id']."'
        )";
        
    
    $qid = mysql_query($sql) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
    
    $commandeid = mysql_insert_id();
    
    if (!empty($_SESSION['caddie']->code_promo)) {
    
      $sql = "UPDATE peel_utilisateurs_codes_promos SET utilise = '1' WHERE id_utilisateur = '".intval($_SESSION['utilisateur']['id_utilisateur']). "' AND nom_code = '".$_SESSION['caddie']->code_promo."'";
      
      @mysql_query($sql);
     
    }
    
    /* ajout des articles &agrave; la table commandes_articles */
    foreach ($_SESSION['caddie']->articles as $i => $produitid) {            
        
        $qid = mysql_query("SELECT p.*, pc.categorie_id FROM peel_produits p, peel_produits_categories pc WHERE p.id= '$produitid' AND p.id = pc.produit_id")
        or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
        
            if ($qid) {
        
                if (mysql_num_rows($qid) > 0) {
                
                $article=mysql_fetch_array($qid);    
                
                $order_stock = 0;
                
                if ($article['on_stock'] == 1) {
                
                $cId = intval($_SESSION['caddie']->couleurId[$i]);
                
                $sId = intval($_SESSION['caddie']->tailleId[$i]);
                
                $quantite = intval($_SESSION['caddie']->quantite[$i]);
                
                $reference = html_entity_decode($article['reference']);
                
                $nom_produit = html_entity_decode($article['nom_'.$_SESSION['langue'].'']);
                
                $couleur = html_entity_decode($_SESSION['caddie']->couleur[$i]);
                
                $taille = html_entity_decode($_SESSION['caddie']->taille[$i]);
                    
                $order_stock = decremente_stock($produitid, $cId, $sId, $quantite, $commandeid, $nom_produit, $couleur, $taille);
                
                }
                
                $statut_envoi = ($article['on_download'] == 1) ? "En attente" : "";
                
                $prix_achat_ht = calcul_prix_achat($article['id']) / (1+$article['tva']/100);    
                                    
                $requete =     "INSERT INTO peel_commandes_articles (
                
                    commande_id
                    , produit_id
                    , categorie_id 
                    , reference
                    , nom_produit
                    , couleur
                    , taille
                    , couleur_id
                    , taille_id
                    , prix_cat
                    , prix_cat_ht
                    , prix
                    , prix_ht
                    , percent_remise_produit
                    , remise
                    , remise_ht
                    , total_prix
                    , total_prix_ht
                    , total_prix1
                    , total_prix_ht1
                    , total_prix2
                    , total_prix_ht2
                    , total_prix3
                    , total_prix_ht3
                    , quantite
                    , tva
                    , tva1
                    , tva2
                    , tva3
                    , tva_percent
                    , points
                    , poids
                    , email_check
                    , on_download
                    , statut_envoi
                    , nb_envoi
                    , nb_download
                    , ecotaxe_ttc
                    , ecotaxe_ht
                    , prix_option
                    , prix_option_ht
                    , etat_stock
                    , delai_stock
                    , order_stock

                    
                ) VALUES (
                
                
                     '$commandeid'
                    ,'".$article['id']."'
                    ,'".$article['categorie_id']."'
                    ,'".htmlspecialchars($article['reference'], ENT_QUOTES)."'
                    ,'".htmlspecialchars($article['nom_'.$_SESSION['langue'].''], ENT_QUOTES)."'
                    ,'".htmlspecialchars($_SESSION['caddie']->couleur[$i], ENT_QUOTES)."'
                    ,'".htmlspecialchars($_SESSION['caddie']->taille[$i], ENT_QUOTES)."'
                    ,'".htmlspecialchars($_SESSION['caddie']->couleurId[$i], ENT_QUOTES)."'
                    ,'".htmlspecialchars($_SESSION['caddie']->tailleId[$i], ENT_QUOTES)."'
                    ,'".$_SESSION['caddie']->prix_cat[$i]."'
                    ,'".$_SESSION['caddie']->prix_cat_ht[$i]."'
                    ,'".$_SESSION['caddie']->prix[$i]."'
                    ,'".$_SESSION['caddie']->prix_ht[$i]."'
                    ,'".$_SESSION['caddie']->percent_remise_produit[$i]."'
                    ,'".$_SESSION['caddie']->remise[$i]."'
                    ,'".$_SESSION['caddie']->remise_ht[$i]."'
                    ,'".$_SESSION['caddie']->total_prix[$i]."'
                    ,'".$_SESSION['caddie']->total_prix_ht[$i]."'
                    ,'".$_SESSION['caddie']->total_prix1[$i]."'
                    ,'".$_SESSION['caddie']->total_prix_ht1[$i]."'
                    ,'".$_SESSION['caddie']->total_prix2[$i]."'
                    ,'".$_SESSION['caddie']->total_prix_ht2[$i]."'
                    ,'".$_SESSION['caddie']->total_prix3[$i]."'
                    ,'".$_SESSION['caddie']->total_prix_ht3[$i]."'
                    ,'".$_SESSION['caddie']->quantite[$i]."'
                    ,'".$_SESSION['caddie']->tva[$i]."'
                    ,'".$_SESSION['caddie']->tva1[$i]."'                    
                    ,'".$_SESSION['caddie']->tva2[$i]."'                    
                    ,'".$_SESSION['caddie']->tva3[$i]."'                    
                    ,'".$_SESSION['caddie']->tva_percent[$i]."'
                    ,'".htmlspecialchars($_SESSION['caddie']->points[$i])."'
                    ,'".htmlspecialchars($_SESSION['caddie']->poids[$i])."'
                    ,'".htmlspecialchars($_SESSION['caddie']->email_check[$i])."'
                    ,'".intval($article['on_download'])."'
                    ,'".$statut_envoi."'
                    ,'0'
                    ,'0'
                    ,'".$_SESSION['caddie']->ecotaxe_ttc[$i]."'    
                    ,'".$_SESSION['caddie']->ecotaxe_ht[$i]."'    
                    ,'".$_SESSION['caddie']->option[$i]."'    
                    ,'".$_SESSION['caddie']->option_ht[$i]."'                        
                    ,'".$_SESSION['caddie']->etat_stock[$i]."'    
                    ,'".htmlspecialchars($_SESSION['caddie']->delai_stock[$i], ENT_QUOTES)."'
                    ,'".intval($order_stock)."'
                
                )";
                mysql_query($requete) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
                
            }
        }
    }
    
    
    /* Annule la remise en % du client, supprimer ces lignes si vous souhaitez que les remises client soient permanentes */
    mysql_query("UPDATE peel_utilisateurs SET remise_percent = '0', avoir = '0'  WHERE id_utilisateur = '".intval($_SESSION['utilisateur']['id_utilisateur'])."'");
    
    $_SESSION['utilisateur']['remise_percent'] = 0;
    $_SESSION['utilisateur']['avoir'] = 0;
    $_SESSION['utilisateur']['id_parrain'] = 0;
    $_SESSION['utilisateur']['type'] = ''; #- Suppression du statut filleul
    
    return $commandeid;
    
}

function email_commande(&$commandeid) {

    global $wwwroot;
    global $site;
    global $support;
    global $email_commande;
    
    $result = mysql_query("SELECT * FROM peel_commandes WHERE id ='".$commandeid."'");
        
    $com = mysql_fetch_object($result);
        
    $result_utilisateur = mysql_query("SELECT * FROM peel_utilisateurs WHERE id_utilisateur ='".$com->id_utilisateur."'");
        
    $u = mysql_fetch_object($result_utilisateur);
        
    $civilite = $u->civilite;
    
    $prenom = str_replace("'", "'", $u->prenom);
        
    $nom_famille = strtoupper(str_replace("'", "'", $u->nom_famille));
        
    $email = $u->email;
        
    $headers  = "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
    $headers .= "From: $site <$email_commande>\r\n";
    $headers .= "Bcc: $email_commande\r\n";
        
    $object_ok = "[$site] Confirmation de la commande $commandeid";
        
    $message_ok = "Bonjour $civilite $prenom $nom_famille,\n\n";
    $message_ok .= "Votre commande n° $commandeid du ".date("d-m-Y H:i",strtotime($com->o_timestamp))." a bien été enregistrée sur le site $site.\n\n";
    $message_ok .= "---------------------------\nRAPPEL DE VOTRE COMMANDE\n---------------------------\n\n";
    $message_ok .= "Montant  : ".fprix($com->montant)." EUR TTC\n";
    $message_ok .= "Mode de paiement  : ".$com->paiement."\n\n";
    $message_ok .= "---------------------------\nAdresse de facturation\n---------------------------\n\n";
    $message_ok .= stripslashes($com->client_info1)."\n\n";
    $message_ok .= "---------------------------\nAdresse de livraison\n---------------------------\n\n";
    $message_ok .= stripslashes($com->client_info2)."\n\n";
    $message_ok .= "---------------------------\nArticles commandés\n---------------------------\n\n";
        
    $qid_items = mysql_query("SELECT oi.* FROM peel_commandes_articles oi
                LEFT JOIN peel_produits p ON (oi.produit_id = p.id)
            WHERE oi.commande_id = '$commandeid'
            ");
                    
    if (mysql_num_rows($qid_items) >0) {
                        
    while ($prod = mysql_fetch_array($qid_items)) {
                        
        $message_ok .= $prod["nom_produit"]."\n";
        $message_ok .= ($prod['reference'] != "") ? "Référence : ".$prod["reference"]."\n" : "";
        $message_ok .= ($prod['taille'] != "") ? "Taille : ".$prod["taille"]."\n" : "";
        $message_ok .= ($prod['couleur'] != "") ? "Couleur : ".$prod["couleur"]."\n" : "";
        $message_ok .= "Quantité : ".$prod["quantite"]."\n";
        $message_ok .= "Prix : ".fprix($prod["total"])." EUR TTC\n";
    
         } 
    } 
    
        $message_ok .= "\nFrais d'expédition\n";            
        $message_ok .= $com->cout_transport." EUR TTC\n\n";    
        $message_ok .= "Vous pouvez suivre en temps réel l'état d'avancement de votre commande :\n\n";
        $message_ok .= "Une fois votre commande réglée, la facture apparaîtra dans votre compte client dans le détail de la commande\n\n";
        $message_ok .= "Pour accéder à l'historique des commandes :\n - Cliquez sur MON COMPTE,\n - Identifiez-vous\n - Cliquez ensuite sur Historique des commandes.\n\n";
        $message_ok .= "Nous vous remercions pour votre confiance.\n\n";
        $message_ok .= "A bientôt sur  $site.\n\n";
        
        mail($com->email,"$object_ok","$message_ok",$headers);    

    
}

function frmvalide(&$var, $true_value = "checked", $false_value = "") {
/* Affiche le mot "checked" si la variable est vraie sinon rien */

    if ($var) {
        echo $true_value;
    } else {
        echo $false_value;
    }
}

function valide(&$var, $init_valeur = 1, $vide_valeur = 0) {
/* Si var est d&eacute;fini, place init_valeur dedans, sinon place vide_valeur.*/

    if (empty($var)) {
        $var = $vide_valeur;
    } else {
        $var = $init_valeur;
    }
}

function vb(&$var, $default="") { // Variable blanche
/* if $var n'est pas d&eacute;fini, retourne $default, sinon retourne $var */

    return isset($var) ? $var : $default;
}

function vn(&$var, $default=0) { // Variable nulle
/* if $var n'est pas d&eacute;fini, retourne $default, sinon retourne $var */

    return isset($var) ? $var : $default;
}

function pv(&$var) { // print var
/* retourne $var avec les caract&egrave;res HTML correctement trait&eacute; (comme "<", ">", etc.),
 * ou si $var n'est pa d&eacute;fini, retourne une chaîne vide.  
 * Cette fonction doit &ecirc;tre appel&eacute;e avec une variable, utilisez la fonction p() */

    p(vb($var));
}

function t($var) { // Traitement des variables textes
/* returns $var with HTML characters (like "<", ">", etc.) properly quoted,
 * or if $var is empty, will return an empty string. */

    return empty($var) ? "" : htmlSpecialChars(stripslashes($var));
}

function p($var) { //print
/* prints $var with HTML characters (like "<", ">", etc.) properly quoted,
 * or if $var is empty, will print an empty string. */

    echo t($var);
}

function jstring($var) {
/* returns string that is quoted for javascript */

    return addslashes($var);
}
    
/* Fonction de contrôle pour l'upload de fichiers */
function validate_upload($the_file) {

global $my_max_file_size;
global $image_max_width;
global $image_max_height;
global $allowed_types;
global $registered_types;

        $error = "";

        $the_file_type = $the_file['type'];
        
        $start_error = "\n<font color=\"red\"><b>Attention :</b></font>\n<ul>";

        if (in_array($the_file_type,$allowed_types)) {}
        
        if ($the_file == "none") {
                
                $error .= "\n<li>Vous n'avez rien upload&eacute;.</li>";

        } else { # V&eacute;rification du type de fichier upload&eacute;
                
                if (!in_array($the_file_type,$allowed_types)) {
                
                        $error .= "\n<li>Le type de fichier que vous essayez d'uploader n'est pas autoris&eacute;, vous ne pouvez t&eacute;l&eacute;charger des fichiers que du type : \n<ul>";
        
                        while ($type = current($allowed_types)) {
        
                                $error .= "\n<li>" . $registered_types[$type] . " (" . $type . ")</li>";
        
                                next($allowed_types);
         
                        }
         
                        $error .= "\n</ul>";
         
                }

                if (in_array($the_file_type,$allowed_types)) {
                
                        list($width, $height, $type, $attr) = getimagesize($the_file['tmp_name']); 
                        
                        if ($width > $image_max_width) {

                                $error .= "\n<li>Votre image ne devrait &ecirc;tre plus large que " . $image_max_width . " Pixels</li>";

                        }

                        if ($height > $image_max_height) {
                        
                        
                                $error .= "\n<li>Votre image ne devrait &ecirc;tre plus haute que " . $image_max_height . " Pixels</li>";
                        
                        }

                }

                if ($error) {
         
                        $error = $start_error . $error . "\n</ul>";
         
                        return $error;
         
                } else {
         
                        return false;
         
                }
        
        }
} // Fin de la fonction validate upload

/*Fonction d'upload de fichiers */
function upload($the_file) {

global $the_path;

        $the_file_tmp = $the_file['tmp_name'];
        
        $the_file_name = $the_file['name'];
    
        $error = validate_upload($the_file);     // Teste la validit&eacute; du document
        
        $extension = substr($the_file_name, strrpos($the_file_name, "."));
        
        $dateheure = strftime("%d%m%y_%H%M%S");
        
        $mdp = MDP();
                
        $the_new_file_name = $dateheure . "_PEEL_" .$mdp.$extension;
        
        if ($error) {
                echo $error;
                return "";
        } else { # cool, we can continue
                if (!move_uploaded_file($the_file_tmp, $the_path . $the_new_file_name)) {
                        //form("\n<b>Quelques choses ne fonctionnent pas : v&eacute;rifier le chemin de la variable $path et les permissions du r&eacute;pertoire /upload (il doit &ecirc;tre en CHMOD777</b>");
                } else {    
                        chmod($the_path . $the_new_file_name, 0777);
                        return $the_new_file_name;
                }
        }
} 

function MDP() // Fonction utiliser pour le renommage des fichiers images
{
  $chrs = 6; // Fixe le nombre de caract&egrave;res
  $pwd = "" ;
  mt_srand ((double) microtime() * 1000000);
  while (strlen($pwd)<$chrs)
  {
    $chr = chr(mt_rand (0,255));
    if (eregi("^[a-hj-km-np-z2-9]$", $chr))
      $pwd = $pwd.$chr;
  };
  return $pwd;
}


function send_email($to, $subject , $msg ,  $format ,$bcc="") {

         global $support;
        global $wwwroot;
     
      /* Cr&eacute;ation des pieds des messages */
      
      $piedtxt ="\n\n------------------------------------------------------------------------------\n";
      $piedtxt .= "Pour vous d&eacute;sinscrire, allez dans Mon compte > Modifier mes param&egrave;tres.\n";

      $piedhtm  = "<br /><br /><br />";
      $piedhtm .= "Pour vous désinscrire, allez dans <a href=\"".$wwwroot."/compte.php\">Mon compte > Modifier mes paramètres</a>";
      
      $subject=stripslashes($subject);
      
      $msg=stripslashes($msg); 

      //cr&eacute;ation du header du mail
      
      $mail_header  =  "From: $support\r\n";
      
      $mail_header .=  "Reply-To: $support\r\n";
      
      $mail_header .=  "Return-Path:".$support."\r\n";
      
      $mail_header .=  "Content-Transfer-Encoding: 8bit\r\n";
      
      $mail_header .=  "MIME-Version: 1.0\r\n";
      
      $mail_header .= "X-Mailer: PHP/" . phpversion()."\r\n";
      
      if ($format=="text")   
        { 
      
      $mail_header .= "Content-Type: text/plain; charset=iso-8859-1\r\n";
    
      $msg .= $piedtxt;
    
    }

      else  
    
    {
    
      $mail_header.="Content-Type: text/html; charset=iso-8859-1\r\n";
    
      $msg .= $piedhtm;
    }
    
          if(mail($to ,$subject,$msg,$mail_header)) { return 1; }

          else { return 0;}
          
  }

function cree_devis() {
// Enregistre la commande dans la base 

    global $site;
    global $support;
    global $wwwroot;
    
    $sql = "
    INSERT INTO peel_devis (
        email
        ,id_utilisateur
        , o_timestamp
        , montant
        , devise
    ) VALUES (
         '{$_SESSION['utilisateur']['email']}'
        ,'{$_SESSION['utilisateur']['id_utilisateur']}'
        ,now()
        ,'".$_SESSION['caddie']->total."'
        , '".$_SESSION['devise']['symbole']."'
    )";
    
    $qid = mysql_query($sql);
    
    $devisid = mysql_insert_id();
    
    /* ajout des articles &agrave; la table commandes_articles */
    foreach ($_SESSION['caddie']->articles as $i => $produitid) {            
        
        $qid = mysql_query("SELECT *  FROM peel_produits WHERE id= '$produitid'");
        
            if ($qid) {
        
                if (mysql_num_rows($qid) > 0) {
                
                $article=mysql_fetch_array($qid);    
                
                $prix_cat = $article['prix'];
                
                $prix_cat_ht = $article['prix'] / (1+$article['tva']/100);
                
                $requete =     "INSERT INTO peel_devis_articles (
                    devis_id, produit_id, nom_produit, prix, prix_ht, prix_cat, prix_cat_ht, quantite, promotion, tva, couleur, taille
                ) VALUES (
                     '$devisid'
                    ,'".$article['id']."'
                    ,'".addslashes($article['nom_'.$_SESSION['langue'].''])."'
                    ,'". $_SESSION['caddie']->prix[$i]."'
                    ,'". $_SESSION['caddie']->prix_ht[$i]."'
                    ,'".$prix_cat."'
                    ,'".$prix_cat_ht."'
                    ,'".$_SESSION['caddie']->quantite[$i]."'
                    ,'".$_SESSION['caddie']->remise_produit_percent[$i]."'
                    ,'".$_SESSION['caddie']->tva_percent[$i]."'
                    ,'".$_SESSION['caddie']->couleur[$i]."'
                    ,'".$_SESSION['caddie']->taille[$i]."'
                )";
                
                mysql_query($requete) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
                
            }
        }
    }
    
    return $devisid;
}  



function email_commande_cb(&$commandeid) {

    global $wwwroot;
    global $site;
    global $support;
    global $langfile;
    
    $result = mysql_query("SELECT email, o_timestamp, montant FROM peel_commandes WHERE id ='".$commandeid."'");
    
    $com = mysql_fetch_object($result);
    
    $timestamp = $com->o_timestamp;
    
    $montant = $com->montant;
    
    mail(
        $support,
        "Nouvelle commande par carte bancaire sur votre site web $site",
        "Une commande portant le num&eacute;ro $commandeid vient d'&ecirc;tre enregistr&eacute;e sur le site $site.",
        "FROM:$support");    
    
    
    if (file_exists($langfile)){

        require ($langfile);

    }
    
    /* Mail &agrave; l'adresse de facturation */
    mail($com->email,SUBJECT_EMAIL_BILLING_CB,MSG_EMAIL_BILLING_CB,"FROM:$support");        

} 





function verifier_authentification($email, $mot_passe) {

    $requete = "
        SELECT *
        FROM peel_utilisateurs
        WHERE email = '$email' AND mot_passe = '".md5($mot_passe)."'
    ";
    
    $qid = mysql_query($requete) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());;
    
    if (mysql_num_rows($qid) > 0) {

        return mysql_fetch_array($qid);

    }

    else {

        return;


    }

}
function mydate($format, $publictime)
{
       $sec = substr($publictime, 12, 2);
       $min = substr($publictime, 10, 2);
       $hour = substr($publictime, 8, 2);
       $day = substr($publictime, 6, 2);
       $month = substr($publictime, 4, 2);
       $year = substr($publictime, 0, 4);
       return date($format, mktime($hour, $min, $sec, $month, $day, $year));
}


function filtre_pdf($chaine) {

$chaine = str_replace("è","è",$chaine);
$chaine = str_replace("&eacute;","é",$chaine);
$chaine = str_replace("é","é",$chaine);
$chaine = str_replace("Ã","à",$chaine);
$chaine = str_replace("'","'",$chaine);
$chaine = str_replace("°","°",$chaine);
$chaine = str_replace("&amp;","&",$chaine);

return $chaine;


}

function calcul_nbprod_parcat($catid) {

$sqlCount = "SELECT COUNT(*) FROM peel_produits p
INNER JOIN peel_produits_categories pc ON (pc.produit_id = p.id) 
INNER JOIN peel_sites_pivots sp ON (sp.produit_id = p.id)
WHERE pc.categorie_id = '".intval($catid)."' AND sp.site_id = '".intval($_SESSION['ecom']['id'])."' AND p.etat='1'";
                      
$resCount = mysql_query($sqlCount);
                      
$Count = mysql_fetch_row($resCount);
                      
return $Count[0];

}      

function send_avis_expedition($commandeid) {
    
global $site;
global $wwwroot;
global $support;
    
        $resCom = mysql_query("SELECT * FROM peel_commandes WHERE id = '".intval($commandeid)."'");
    
        $com = mysql_fetch_object($resCom);
    
        $resClient = mysql_query("SELECT * FROM peel_utilisateurs WHERE id_utilisateur = '".intval($com->id_utilisateur)."'");
    
        $client = mysql_fetch_object($resClient);
    
        $message  = "Bonjour ".$client->prenom." ".$client->nom_famille.",\n\r";
        $message  .= "Nous avons le plaisir de vous confirmer la préparation et la prochaine livraison de la commande no. ".$commandeid." dans son intégralité.\n\r";
        $message  .= "Articles expédiés :\n\r";
    
        $resComArt = mysql_query("SELECT * FROM peel_commandes_articles WHERE commande_id = '".intval($commandeid)."'");
    
        while ($ComArt = mysql_fetch_array($resComArt)) {
     
            $message  .= "- ".html_entity_decode($ComArt['nom_produit'])."\n\r";
            
        }
    
        $message  .= "Transporteur :\n\r";
    
        $message  .= "Le transporteur que vous avez choisi lors de la passation de votre commande est ".$com->transport."\n\r";
        $message  .= "Références de l'envoi : ";
        $message  .= "Le no. de colis est ".$com->colis.", vous pouvez suivre l'acheminement de votre colis en cliquant sur le lien suivant http://www.coliposte.fr/ \n\r";
        $message  .= "Adresse d'expédition :\n\r";
         $message  .= $com->client_info2."\n\r"; 
        $message  .= "RAPPEL IMPORTANT !\n\r";
        $message  .= "Nous vous invitons à suivre scrupuleusement nos instructions pour éviter tout litige. Le transport est une phase délicate qui demande une attention toute particulière.\r";
        $message  .= "Par conséquent, merci de vous conformer aux règles d'usages élémentaires rappelées ci-dessous :\n\r";
        $message  .= "- Colis en mauvais état\r";
        $message  .= "- colis ouvert et/ou écrasé\r";
        $message  .= "- système de fermeture (adhésif...) détérioré ou ne semblant pas d'origine\r";
        $message  .= "\n\rQUE FAIRE ?\n\r";
        $message  .= "- ne pas ouvrir le colis\r";
        $message  .= "- refuser le colis\r";
        $message  .= "- émettre immédiatement les réserves d'usage auprès du transporteur\r";
        $message  .= "- nous signaler le problème en nous indiquant le no. de commande concernée\n\r";
         $message  .= "IMPORTANT\n\r";
        $message  .= "$site refusera systématiquement le remboursement d'une commande si :\n\r";
         $message  .= "- aucune réserve n'a été émise auprès du transporteur\r";
        $message  .= "- aucune preuve de l'émission des réserves n'est fournie\n\r";
        $message  .= "Nous vous remercions de votre compréhension et restons à votre entière disposition pour tout complément d'information.\n\r";
        $message  .= "A bientôt sur $site\n\r";
    
        mail($com->email,"[$site] Avis d'expédition de la commande n° $commandeid",$message,"FROM:$support");
    
        echo "L'avis d'expédition a été envoyé à ".$com->email."<br />";
    
}

function affiche_resume_commande($id, $affiche_statut) {

global $wwwroot;
global $site;

$qid_commande = mysql_query("SELECT * FROM peel_commandes WHERE id = '$id' AND id_utilisateur = '".intval($_SESSION['utilisateur']['id_utilisateur'])."'");

$commande = mysql_fetch_object($qid_commande);
    
$qid_items = mysql_query("SELECT oi.* FROM peel_commandes_articles oi LEFT JOIN peel_produits p ON (oi.produit_id = p.id) WHERE commande_id = '$id'");
    
?>
<h2><?php echo ORDER_DETAIL;?></h2>
<table border="0" width="100%" cellpadding="0" cellspacing="1">
<caption></caption>
    <tr>
        <td ><?echo ORDER_NUMBER; ?>: </td>
        <td ><?=$id?></td>
    </tr>
    <tr>
        <td ><?echo ORDER_DATE; ?> :</td>
        <td ><?php echo date("d-m-Y H:i:s",strtotime($commande->o_timestamp)); ?></td>
    </tr>
    <tr>
        <td ><?echo ORDER_AMOUNT; ?> :</td>
        <td ><b><?=fprix($commande->montant)." ".$commande->devise?> T.T.C</b></td>
    </tr>
    <tr valign=top>
        <td ><?echo BILL_ADDRESS; ?> :</td>
        <td colspan=4 ><?=nl2br($commande->client_info1)?></td>
    </tr>
    <tr valign=top>
        <td ><?echo SHIP_ADDRESS; ?> :</td>
        <td colspan=4 ><?=nl2br($commande->client_info2)?></td>
    </tr>
    <tr valign=top>
        <td ><?echo PAYEMENT; ?> :</td>
        <td colspan=4 ><?=$commande->paiement?></td>
    </tr>
    <tr valign=top>
        <td ><?echo SHIPPING; ?> :</td>
        <td colspan=4 >
        <?php
        
        $transport = explode("|",$commande->transport);
        
        echo html_entity_decode($transport[4]); ?></td>
    </tr>
    <?php 
    
    if ($affiche_statut == 1) {?>
    <tr>
        <td ><?php echo ORDER_STATUT_PAIEMENT ?> :</td>
        <td >
        <?php
    
        $sql_statut_paiement = "SELECT id, nom_".$_SESSION['langue']." FROM peel_statut_paiement WHERE id = '".intval($commande->id_statut_paiement)."'";
    
        $res_statut_paiement = mysql_query($sql_statut_paiement);
    
        $s = mysql_fetch_array($res_statut_paiement);
    
        echo html_entity_decode($s['nom_'.$_SESSION['langue'].'']);
        ?>
        </td>
    </tr>
    <tr>
        <td ><?php echo ORDER_STATUT_LIVRAISON ?>  :</td>
        <td >
        <?php
    
        $sql_statut_livraison = "SELECT id, nom_".$_SESSION['langue']." FROM peel_statut_livraison WHERE id = '".intval($commande->id_statut_livraison)."'";
    
        $res_statut_livraison = mysql_query($sql_statut_livraison);
    
        $s = mysql_fetch_array($res_statut_livraison);
    
        echo html_entity_decode($s['nom_'.$_SESSION['langue'].'']);
        ?>
        
        </td>
    </tr>
    <?php 
    
    
    
    if ($commande->id_statut_paiement == 3) { ?>
    <tr>
    <td class="normal"><?php echo INVOICE ?> :</b></td>
    <td class="normal">
    <img src="<?=$wwwroot?>/images/view_pdf.gif" width="8" height="11" alt="" border="0">
    <a href="<?=$wwwroot?>/factures/commande_pdf.php?code_facture=<?=urlencode($commande->code_facture)?>&mode=facture" class="normal">Imprimer votre facture</a> 
    </td>
    </tr>
    <?php 
    
    } 
    
    }?>
    </table>

    <div id="caddie">
    <table border="0" width="100%" class="tablespace">
    <tr>
        <td colspan="5"><h2><?php echo LIST_PRODUCT ?></h2></td>
    </tr>
    
    <tr class="caddie">
        <th class="caddie"><?echo REFERENCE ?></th>
        <th class="caddie"><?echo ITEM ?></th>
        <th class="caddie" align="center"><?echo SOLD_PRICE ?></th>        
        <th class="caddie" align="center"><?echo QUANTITY?></th>
        <th class="caddie" align="center"><?echo TOTAL_AMOUNT ?></th>
    </tr>

    <? 
        if ($qid_items) {

            if (mysql_num_rows($qid_items)) {
                
                while ($prod = mysql_fetch_array($qid_items)) { ?>
                <tr>
                    <td ><?php echo $prod['reference'] ?></a></td>
                    <td ><?php echo html_entity_decode($prod['nom_produit'])?></td>
                    <td  align="center"><?php echo fprix($prod['prix']);?></td>
                    <td  align="center"><?php echo $prod['quantite']?></td>
                    <td  align="center">
                    <?php echo fprix($prod['total_prix']);?>
                    </td>
                </tr>
            <? } ?>
            </table>
            </div>
            <?
            }
        } 

}

function creation_numero_facture($id) {

    $sql = "SELECT MAX(numero_ordre) FROM peel_commandes";
    
    $query = mysql_query("SELECT MAX(numero_ordre) as numero_ordre FROM peel_commandes");
    
    $com = mysql_fetch_array($query);
    
    $num = $com['numero_ordre'];
    
    $numero = $num + 1;
    
    $numero_facture = "BT".date("Y")."/".date("m")."-".$numero;
    
    $sql = "update peel_commandes set numero = '$numero_facture', numero_ordre = '$numero' where id = '$id'";
    
    mysql_query($sql);
    
}

function creation_bl_pdf($id) {

global $dirroot;

    define('FPDF_FONTPATH',$dirroot.'/lib/class/pdf/font/');

    require_once("$dirroot/factures/invoice_bl.php");

    $file_name = $dirroot."/DIFFUSION1/".date("Ymd")."_".$id.".pdf";

    $qid_commande = mysql_query("SELECT * FROM peel_commandes WHERE id = '$id'") or die('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
    
    $commande = mysql_fetch_object($qid_commande);
        
    $qid_items = mysql_query("SELECT oi.* FROM peel_commandes_articles oi WHERE commande_id = '$id'") or die('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());
    
    $libelle = INVOICE;
    
    $numero = $commande->numero;
    
    $pdf_date = date("d-m-Y H:i:s",strtotime($commande->o_timestamp));
        
    $pdf_client1 = $commande->client_info1;
    
    $pdf_client2 = $commande->client_info2;
    
    $pdf_paiement = $commande->paiement;

    $pdf_transport = $commande->transport;
    
    $pdf_tarif_paiement = $commande->tarif_paiement;

    $transport = $commande->transport;
    
$pdf = new INVOICE( 'P', 'mm', 'A4' );
$pdf->Open();
$pdf->AddPage();
$pdf->addSociete( "COURRIER INTERNATIONAL\n8 rue jean antoine de baïf\n75013 Paris");
$pdf->addDate( $pdf_date);
$pdf->addClientAdresseFacturation($pdf_client1);
$pdf->addClientAdresseExpedition($pdf_client2);
$pdf->addReglement($pdf_paiement);
$pdf->addNumTVA("FR 093 447 618 61");

$cols=array( "REFERENCE"    => 50,
             "DESIGNATION"  => 50,
             "QUANTITE"     => 50,
             "POIDS"     => 50);

$pdf->addCols($cols);

$cols=array( "REFERENCE"            => "L",
             "DESIGNATION"      => "L",
             "QUANTITE"         => "C",
             "POIDS"          => "C");
             
$pdf->addLineFormat( $cols);

$y    = 109;

$pdf_total_ttc  = 0;

$pdf_total_ht = 0;

if ($qid_items) {

            if (mysql_num_rows($qid_items)) {
            
            while ($prod = mysql_fetch_array($qid_items)) { 
            
            if ($prod['couleur'] !='') {$couleur = "\n\r".COLOR." : ".stripslashes($prod['couleur']);} else {$couleur = "";}
            
            if ($prod['taille'] !='') {$taille = "\n\r".SIZE." : ".stripslashes($prod['taille']);} else {$taille = "";}
            
            if ($prod['delivery_stock'] !='') {$delivery = "\n\r".DELIVERY_STOCK." : ".stripslashes($prod['delivery_stock']);} else {$delivery = "";}
                        
            if ($prod['option_prix'] != "0.00") {$perso = "\n\r".OPTION_PRIX." : ".$prod['option_prix']." ".$commande->devise."";} else {$perso = "";}
            
            if ($prod['promotion'] != "0.00" ) {$promotion = "\n\r".PROMOTION_INCLUDE." : ".$prod['promotion']." % (= -".fprix($prod['remise_produit'])." ".$commande->devise.")";} else {$promotion = "";}
            
            $prix = fprix($prod["purchase_prix"]);
            
            $poids = $prod["poids"] * $prod["quantite"];
            
            if ($prod['ecotaxe_ttc'] != "0.00") {$prix .= "\n\r dont ".ECOTAXE." : ".$prod['ecotaxe_ttc'];} else {$prix .= "";}

           $line = array( 
               "REFERENCE"        => $prod["reference"],
               "DESIGNATION"    => html_entity_decode($prod["nom_produit"]).vb($couleur).vb($taille).vb($delivery),
               "QUANTITE"       => $prod["quantite"],
               "POIDS"         => $poids,
              );

$size = $pdf->addLine( $y, $line );

$y   += $size + 2;

        }

    }

}

$pdf->Output($file_name, "F");


}



function send_avis_commande($commandeid) {

global $support;
global $site;
global $wwwroot;

$result = mysql_query("SELECT * FROM peel_commandes WHERE id ='".intval($commandeid)."'");
        
        $com = mysql_fetch_object($result);
                    
        $commandeid = $com->id;

        $result_utilisateur = mysql_query("SELECT * FROM peel_utilisateurs WHERE id_utilisateur ='".$com->id_utilisateur."'");
        
        $u = mysql_fetch_object($result_utilisateur);
        
        $civilite = $u->civilite;
        
        $prenom = str_replace("'", "'", $u->prenom);
        
        $nom_famille = strtoupper(str_replace("'", "'", $u->nom_famille));
        
        $email = $u->email;
        
        $headers  = "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
        $headers .= "From: $site <$support>\r\n";
        $headers .= "Bcc: $support\r\n";
        
        $object_ok = "[$site] Confirmation de la commande $commandeid";
        
        $message_ok = "Bonjour $civilite $prenom $nom_famille,\n\n";
        $message_ok .= "Nous vous confirmons que votre commande sur la boutique $site\n n° $commandeid du ".date("d-m-Y H:i",strtotime($com->o_timestamp))." a bien été enregistrée et nous vous remercions pour votre confiance.\n\n";
        $message_ok .= "Vos articles vous seront livrés sous 15 jours.\n\n";
        $message_ok .= "---------------------------\nRAPPEL DE VOTRE COMMANDE\n---------------------------\n\n";
        $message_ok .= "MONTANT TOTAL  : ".fprix($com->montant)." EUR TTC\n";
        $message_ok .= "Mode de paiement  : ".$com->paiement."\n\n";
        $message_ok .= "---------------------------\nAdresse de facturation\n---------------------------\n\n";
        $message_ok .= "Adresse de facturation  :\n".stripslashes($com->client_info1)."\n\n";
        $message_ok .= "---------------------------\nAdresse de livraison\n---------------------------\n\n";
        $message_ok .= "Adresse de livraison  :\n".stripslashes($com->client_info2)."\n\n";
        $message_ok .= "---------------------------\nArticles commandés\n---------------------------\n\n";
        
        $qid_items = mysql_query("
            SELECT
                 p.id
                ,p.reference
                ,p.prix AS curr_prix
                ,oi.nom_produit
                ,oi.prix AS purchase_prix
                ,oi.quantite
                ,oi.tva
                ,oi.promotion
                ,oi.prix * oi.quantite AS total
                ,oi.couleur
                ,oi.taille
                ,oi.nom_produit
                ,oi.produit_id
            FROM peel_commandes_articles oi
                LEFT JOIN peel_produits p ON (oi.produit_id = p.id)
            WHERE commande_id = '$commandeid'
            ");
                    
                if ($qid_items) {
        
                    if (mysql_num_rows($qid_items)) {
                        
                        while ($prod = mysql_fetch_array($qid_items)) {
                        
        $message_ok .= $prod["nom_produit"]."\n";
        $message_ok .= "Référence : ".$prod["reference"]."\n";
        $message_ok .= "Quantité : ".$prod["quantite"]."\n";
        $message_ok .= "Prix : ".fprix($prod["total"])." EUR TTC\n";
                     } 
                    }
                } 
        $message_ok .= "\nFRAIS D'EXPEDITION\n";            
        $message_ok .= fprix($com->cout_transport)." EUR TTC\n\n";    
        #$message_ok .= "Vous pouvez suivre en temps réel l'état d'avancement de votre commande :\n - cliquez sur MON COMPTE,\n - identifiez-vous\n - cliquez ensuite sur Historique des commandes.\n\n";
        $message_ok .= "Nous vous remercions pour votre confiance.\n\n";
        $message_ok .= "Si vous souhaitez découvrir nos offres d’abonnement, cliquez sur l’un des liens ci-dessous : \n\n";
        $message_ok .= "- Courrier international : http://www.courrierinternational.com/espaceabo/abonnement.asp \n\n";
        $message_ok .= "- Ulysse : http://www.ulyssemag.com/decouvrez/ \n\n";
        $message_ok .= "A bientôt sur la boutique en ligne de Courrier International / Ulysse Magazine.\n\n";
        
        mail($email,"$object_ok","$message_ok",$headers);    

}

function tr_rollover($i) {

if ($i % 2 == 0) { ?>

            <tr class="classe1" onmouseover="this.className='classe3';" onmouseout="this.className='classe1';">

<?php } else { ?>

            <tr class="classe2" onmouseover="this.className='classe3';" onmouseout="this.className='classe2';">

<?php } 
            
}        

function affiche_etat_stock($stock) {

global $repertoire_upload;

$contrainte = ($stock > 0) ? " WHERE id = '1'" : " WHERE id = '2'";
                           
$sqlEtatStock = "SELECT id, nom_".$_SESSION['langue']." as nom, image, valeur FROM peel_etatstock ".$contrainte;
                        
$resEtatStock = mysql_query($sqlEtatStock);
                        
if (mysql_num_rows($resEtatStock) > 0) {
                                    
    $EtatStock = mysql_fetch_object($resEtatStock);
                                    
    echo "<p><img class=\"alignerimage\" src=\"$repertoire_upload/".$EtatStock->image."\">&nbsp;".html_entity_decode($EtatStock->nom)."</p>";
                                    
}

}    

function ajoute_stock_caddie($id, $cId, $sId, $quantite) {

if (mysql_num_rows(mysql_query("SELECT 1 FROM peel_stocks_temp WHERE produit_id = '$id' AND couleur_id = '$cId' AND taille_id = '$sId'")) == 0) {
    
    $query = mysql_query("SELECT stock FROM peel_stocks WHERE produit_id = '$id' AND couleur_id = '$cId' AND taille_id = '$sId'");
    
    $obj = mysql_fetch_object($query);
    
    $stock_dispo = ($obj->stock - $quantite >= 0) ? $obj->stock - $quantite : 0;
    
    $sql = "INSERT INTO peel_stocks_temp (produit_id, couleur_id, taille_id, stock, o_timestamp) VALUES ('$id', '$cId', '$sId', '$stock_dispo', now())";
    
    @mysql_query($sql) or die('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . mysql_error());
    
} else {

    $query = mysql_query("SELECT stock FROM peel_stocks_temp WHERE produit_id = '$id' AND couleur_id = '$cId' AND taille_id = '$sId'");
    
    $obj = mysql_fetch_object($query);
    
    $stock_dispo = ($obj->stock - $quantite >= 0) ? $obj->stock - $quantite : 0;
    
    $sql = "UPDATE peel_stocks_temp SET stock = '$stock_dispo', o_timestamp = now() WHERE produit_id = '$id' AND couleur_id = '$cId' AND taille_id = '$sId'";
    
    @mysql_query("UPDATE peel_stocks_temp SET stock = '$stock_dispo', o_timestamp = now() WHERE produit_id = '$id' AND couleur_id = '$cId' AND taille_id = '$sId'")
    or die('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . mysql_error());

}

}

function enleve_stock_caddie($id, $cId, $sId, $quantite) {

if (mysql_num_rows(mysql_query("SELECT 1 FROM peel_stocks_temp WHERE produit_id = '$id' AND couleur_id = '$cId' AND taille_id = '$sId'")) == 0) {
    
    $query = mysql_query("SELECT stock FROM peel_stocks WHERE produit_id = '$id' AND couleur_id = '$cId' AND taille_id = '$sId'");
    
    $obj = mysql_fetch_object($query);
    
    $stock_dispo = ($obj->stock + $quantite >= 0) ? $obj->stock + $quantite : 0;
    
    @mysql_query("INSERT INTO peel_stocks_temp (produit_id, couleur_id, taille_id, stock, o_timestamp) VALUES ('$id', '$cId', '$sId', '$stock_dispo', now())")
    or die('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . mysql_error());

} else {

    $query = mysql_query("SELECT stock FROM peel_stocks_temp WHERE produit_id = '$id' AND couleur_id = '$cId' AND taille_id = '$sId'");
    
    $obj = mysql_fetch_object($query);
    
    $stock_dispo = ($obj->stock + $quantite >= 0) ? $obj->stock + $quantite : 0;
    
    @mysql_query("UPDATE peel_stocks_temp SET stock = '$stock_dispo', o_timestamp = now() WHERE produit_id = '$id' AND couleur_id = '$cId' AND taille_id = '$sId'")
    or die('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . mysql_error());

}

}

function decremente_stock($produitid, $cId, $sId, $quantite, $commandeid, $nom_produit, $couleur, $taille) {

global $support, $seuil, $site, $support;

$s = mysql_fetch_array(mysql_query("SELECT stock FROM peel_stocks WHERE produit_id = '$produitid' AND couleur_id = '$cId' AND taille_id = '$sId'"));
                
$stock = $s['stock'] -  $quantite;
                
$stock_restant = ($stock >= 0) ? $stock : 0;

$stock_to_order = ($stock < 0) ? $quantite - $s['stock'] : 0;    
                
mysql_query("UPDATE peel_stocks SET stock = '".$stock_restant."' WHERE produit_id = '$produitid' AND couleur_id = '$cId' AND taille_id = '$sId'");

$sqlStockTemp = "SELECT stock FROM peel_stocks_temp WHERE produit_id = '$produitid' AND couleur_id = '$cId' AND taille_id = '$sId'";
                
$resStockTemp = mysql_query($sqlStockTemp);
                
$StockTemp = mysql_fetch_array($resStockTemp);

($stock_restant = $StockTemp['stock']) ? mysql_query("DELETE FROM peel_stocks_temp WHERE produit_id = '$produitid' AND couleur_id = '$cId' AND taille_id = '$sId'") : "";
    
if ($s['stock'] <= $seuil) {

    $message  = "Seuil d'alerte atteint pour le produit $nom_produit.\r\n";
    $message .= (!empty($couleur)) ? "Couleur : $couleur \r\n" : "";
    $message .=  (!empty($taille)) ? "Taille : $taille \r\n" : "";
    $message .=  "Stock restant : ".$s['stock']."\r\n";

    mail($support,"[$site] Notification d'alerte STOCK",$message,"FROM:$support");
    
}

return $stock_to_order;

}

function incremente_stock($quantite, $produit_id, $couleur_id, $taille_id) {

mysql_query("UPDATE peel_stocks SET stock = stock + $quantite WHERE produit_id = '".$produit_id."' AND couleur_id = '".$couleur_id."' AND taille_id = '".$taille_id."'");

}

function efface_stock_perime() {

global $timemax;

$sqlStockTemp = "SELECT produit_id, couleur_id, taille_id, o_timestamp FROM peel_stocks_temp";

$resStockTemp = mysql_query($sqlStockTemp);

if (mysql_num_rows($resStockTemp) > 0 ) {

    while ($StockTemp = mysql_fetch_array($resStockTemp)) {
    
        $temps = time();
        
        $tempsstock = strtotime($StockTemp['o_timestamp']);
        
        $nbmin=($temps - $tempsstock)/60;
        
        if  ($nbmin > $timemax) {

        mysql_query("DELETE FROM peel_stocks_temp WHERE couleur_id = '".intval($StockTemp['couleur_id'])."' AND taille_id = '".intval($StockTemp['taille_id'])."' AND produit_id = '".intval($StockTemp['produit_id'])."'");
        
        } 
        
        
    }
    
}    

}

function desactive_vente_flash() {

$sqlFlash = "SELECT id, flash_start, flash_end FROM peel_produits WHERE on_flash = '1' AND etat = '1'";

$resFlash = mysql_query($sqlFlash);

if (mysql_num_rows($resFlash) > 0 ) {

    while ($Flash = mysql_fetch_array($resFlash)) {
    
        $temps = time();
        
        $tempsFlash = strtotime($Flash['flash_end']);
        
        $nbmin = ($temps - $tempsFlash)/60;//Nombre de jours entre les deux 
        
        if  ($nbmin > 0) {
        
        mysql_query("update peel_produits SET on_flash ='0', flash_start = '', flash_end = '',  prix_flash = '' WHERE id = '".$Flash['id']."'");
        
        } 
        
        
    }
    
}    

}

function calcul_prix_catalogue(&$id) {

$sql = "SELECT prix, prix_revendeur, prix_flash, on_flash FROM peel_produits WHERE id = '".intval($id)."'";

$query = mysql_query($sql);

$obj = mysql_fetch_object($query);

if ($obj->on_flash == 1) {

    $prix_cat = $obj->prix_flash;
    
} else {

    $prix_cat = (isset($_SESSION['utilisateur']['priv']) && $_SESSION['utilisateur']['priv'] == "reve") ?  $obj->prix_revendeur :  $obj->prix;
            
}

return $prix_cat;

}

function calcul_prix_achat(&$id) {

$sql = "SELECT prix_achat FROM peel_produits WHERE id = '".intval($id)."'";

$query = mysql_query($sql);

$obj = mysql_fetch_object($query);

$prix_achat = $obj->prix_achat;
    
return $prix_achat;

}

function cree_cheque_cadeau($id) {

global $wwwroot; 
global $site;
global $support;

$queryCA = mysql_query("SELECT ca.prix, ca.email_check, u.email, u.prenom, u.civilite, u.nom_famille FROM peel_commandes_articles ca 
LEFT JOIN peel_commandes c ON (ca.commande_id = c.id) 
INNER JOIN peel_utilisateurs u ON (c.id_utilisateur = u.id_utilisateur) 
WHERE ca.commande_id = '$id'");

if (mysql_num_rows($queryCA) > 0) {

while ($CA = mysql_fetch_array($queryCA)) {

    if (!empty($CA['email_check'])) {
                
        $code = "CHQ-".strtoupper(MDP());
                    
        $email_ami = $CA['email_check'];
        
        $email_client = $CA['email'];
        
        $date_debut = date("Y-m-d");
        
        $date_fin = mktime(0,0,0, date('m'), date('d')+30, date('Y'));
        
        $date_fin = date("Y-m-d",$date_fin);
        
        $remise_valeur = $CA['prix'];
        
        $type = '2';
        
        $montant_min = $CA['prix'];
        
        $sql = "
        INSERT INTO peel_codes_promos (
        nom
        , date_debut
        , date_fin
        , remise_percent
        , remise_valeur
        , on_type
        , montant_min
        , etat
        , source
        )
        VALUES (
        '".$code."'
        , '".$date_debut."'
        , '".$date_fin."'
        , '0'
        , '$remise_valeur'
        , '2'
        , '$remise_valeur'
        , '1'
        , 'CHQ'
        )
        ";
        
        mysql_query($sql);
        
        $codepromo_id = mysql_insert_id();
        
        mysql_query("INSERT INTO peel_sites_pivots (site_id, codepromo_id) VALUES ('".intval($_SESSION['ecom']['id'])."', '".$codepromo_id."')");
                            
        $message = "Bonjour,\n\r";
        $message .= "Votre ami ".html_entity_decode($CA['prenom'])." ".html_entity_decode($CA['nom_famille'])." a souhaité vous offrir un chèque cadeau sur le site $site.\n\r";
        $message .= "Pour en bénéficier, connectez vous simplement au site $wwwroot et utilisez votre code $code.\n\rVous bénéficierez alors d'une remise de ".fprix($CA['prix'])." EURO TTC sur votre commande.\n\r";
        $message .= "A bientôt sur $site.";
                    
        mail($email_ami,"[$site] ".$_SESSION['utilisateur']['email']." vous offre un chèque cadeau",$message,"FROM:$email_client");

        mail($email_client ,"[$site - copie du message envoyé à ".$email_ami."] ".$email_client." vous offre un chèque cadeau",$message,"FROM:$support");
                    
        $message_support = "Bonjour,\n\rLe code promo $code via le module de CHEQUE CADEAU vient d'être créé sur $site.\n\r";
        
        mail($support ,"[$site] Création d'un chèque cadeau",$message_support,"FROM:$support");
        
        echo "Le code $code a été créé pour $email_ami<br />";
                    
        }
    }
}

}

function cree_cheque_cadeau_client($id_utilisateur, $source, $montant) {

global $wwwroot; 
global $site;
global $support;
global $avoir;

$query = mysql_query("SELECT email FROM peel_utilisateurs WHERE id_utilisateur = '".intval($id_utilisateur)."'");

$obj = mysql_fetch_object($query);

        $code = $source."-".strtoupper(MDP());
                    
        $email_ami = $obj->email;
        
        $date_debut = date("Y-m-d");
        
        $date_fin = mktime(0,0,0, date('m'), date('d')+30, date('Y'));
        
        $date_fin = date("Y-m-d",$date_fin);
        
        $remise_valeur = $montant;
        
        $type = '2';
        
        $montant_min = $montant;
        
        $sql = "
        INSERT INTO peel_codes_promos (
        nom
        , date_debut
        , date_fin
        , remise_percent
        , remise_valeur
        , on_type
        , montant_min
        , etat
        , source
        , id_utilisateur
        )
        VALUES (
        '".$code."'
        , '".$date_debut."'
        , '".$date_fin."'
        , '0'
        , '$remise_valeur'
        , '2'
        , '$remise_valeur'
        , '1'
        , '$source'
        , '".intval($id_utilisateur)."'
        )
        ";
        
        if (mysql_num_rows(mysql_query("SELECT 1 FROM peel_codes_promos WHERE etat = '1' AND on_type='2' AND id_utilisateur = '".intval($id_utilisateur)."'")) == 0) {
        
        mysql_query($sql);
        
        }
        
        $codepromo_id = mysql_insert_id();
        
        mysql_query("INSERT INTO peel_sites_pivots (site_id, codepromo_id) VALUES ('".intval($_SESSION['ecom']['id'])."', '".$codepromo_id."')");
                            
        $message = "Bonjour,\r\n";
        $message .= "$site vous offre un chèque cadeau valable 30 jours d'un montant de $montant TTC.\r\n";
        $message .= "Pour en bénéficier, connectez vous simplement au site $wwwroot et utilisez votre code $code.\r\n";
        $message .= "A bientôt sur $site.";
        
        mail($email_ami,"[$site] $site vous offre un chèque cadeau",$message,"FROM:$support");
                    
        $message_support = "Bonjour,\n\rLe code promo $code vient d'être créé via le module de parrainnage sur $site.";
        
        mail($support ,"[$site] Création d'un chèque cadeau",$message_support,"FROM:$support");
                    
        return $code;
}

function affiche_banner() {

global $repertoire_upload;
global $module_pub;

if ($module_pub == 1) {

$toDayDate = date('Y-m-d H:m:s');

$queryBanner = mysql_query("SELECT id, image, lien, target FROM peel_banniere WHERE etat = '1' AND TO_DAYS(date_fin) >= TO_DAYS('".$toDayDate."')");                      
                      
$bannerCount = mysql_num_rows($queryBanner);

if($bannerCount>0) {

echo "<h2>".PUBLICITE."</h2>";

echo "<div id=\"publicite\">";

          while($bannerRand = mysql_fetch_array($queryBanner)) {
                $bannerId[$bannerRand['id']] = $bannerRand['id'];
          }

          srand ((double) microtime() * 10000000);
          
          $idBanner = array_rand($bannerId,1);

          mysql_query("UPDATE peel_banniere SET vue = vue + 1 WHERE id = '".$idBanner."'");

          $queryBanner2 = mysql_query("SELECT * FROM peel_banniere WHERE id = '".$idBanner."'");
          
          $banner = mysql_fetch_array($queryBanner2);

          if(empty($banner['lien'])) {
          
             echo "<img src=\"$repertoire_upload/".$banner['image']."\" border=\"0\" alt=\"".$banner['lien']."\">";
          }
          
          else {
          
             echo "<a href=\"bannerHit.php?id=".$banner['id']."&url=".$banner['lien']."\" target=\"".$banner['target']."\">";
             echo "<img src=\"$repertoire_upload/".$banner['image']."\" target=\"_self\" border=\"0\" alt=\"".$banner['lien']."\">";
             echo "</a>";
          }
          
echo "</div>";

}

}

}

function affiche_rss() {

global $module_rss;
global $wwwroot;

if ($module_rss == 1) {

    echo "<li><img src=\"$wwwroot/icones/rss.png\" width=\"16\" height=\"16\" alt=\"rss\" border=\"0\">&nbsp;<a href=\"$wwwroot/rss.php?critere=on_promo\">".RSS."</a></li>";

}

}

function calcul_largeur_image($image) {

list($width, $height, $type, $attr) = getimagesize($image);

return $width;

}

function affiche_erreur_caddie() {

if (count($_SESSION['caddie']->message_erreur_caddie) > 0) {

    echo html_entity_decode($_SESSION['caddie']->message_erreur_caddie['CODE_PROMO']);

}

}

function affiche_meta() {

$sql_Meta = "SELECT * FROM peel_meta WHERE id = '1'"; // On initialise, recherche des meta par d&eacute;fault

if (!empty($_GET['catid']) && empty($_GET['id'])) { // Si on est dans une cat&eacute;gorie

$sql_Meta = "SELECT nom_".$_SESSION['langue']." as meta_titre, description_".$_SESSION['langue']." as meta_desc, meta_key FROM peel_categories WHERE id = '".intval($_GET['catid'])."'";

} elseif (!empty($_GET['id'])) { // Si on est dans une fiche produit

$sql_Meta = "SELECT nom_".$_SESSION['langue']." as meta_titre, descriptif_".$_SESSION['langue']." as meta_desc, meta_key FROM peel_produits WHERE id = '".intval($_GET['id'])."'";

}

$query_Meta = mysql_query($sql_Meta); // Query de la requ&ecirc;te

$m = mysql_fetch_array($query_Meta); // R&eacute;sultant dans un tableau

if (!empty($m['meta_titre'])) { // Si toutes les balises sont remplies

    echo "<title>".trim(strip_tags(html_entity_decode($m['meta_titre'])))." (propulsé par peel.fr)</title>\n";
    
    echo "<meta name=\"Keywords\" content=\"".trim(strip_tags(html_entity_decode($m['meta_key'])))."\">\n";

    echo "<meta name=\"description\" content=\"".trim(strip_tags(html_entity_decode($m['meta_desc'])))."\">\n";
    
} else { // Sinon on utilise les meta par d&eacute;fault

$sql_Meta = "SELECT * FROM peel_meta WHERE id = '1'";

$query_Meta = mysql_query($sql_Meta);

$m = mysql_fetch_array($query_Meta);

    echo "<title>".trim(strip_tags(html_entity_decode($m['meta_titre'])))." (propulsé par peel.fr)</title>\n";
    
    echo "<meta name=\"Keywords\" content=\"".trim(strip_tags(html_entity_decode($m['meta_key'])))."\">\n";

    echo "<meta name=\"description\" content=\"".trim(strip_tags(html_entity_decode($m['meta_desc'])))."\">\n";

}

}

function controle_stock($produitid, $couleurId, $tailleId) {

$query = mysql_query("SELECT stock FROM peel_stocks_temp WHERE produit_id = '$produitid' AND couleur_id = '$couleurId' AND taille_id = '$tailleId'");
                    
$objStock = mysql_fetch_object($query);
                    
$stock_dispo = $objStock->stock;

return $stock_dispo;

}

?>

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Après quelques recherches, les fichiers de peel premium V5 ne sont pas en cause dans mon problème.

Il s'agissait de réglages différents dans le php.ini, entre ma version et celle qui permet au module de fonctionner.

Pour info, et pour que cela puisse aider des personnes avec le même problème que moi, j'ai modifié les valeurs suivantes :

enable_dl : on

safe_mode : off

safe_mode_gid : off

short_open_tag : on

y2k_compliance : on

Peel premium v5 semble fonctionner correctement désormais.

Merci pour votre aide.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping