casimir14
Utilisateur open source-
Compteur de contenus
51 -
Inscrit(e) le
-
Dernière visite
Tout ce qui a été posté par casimir14
-
casimir14 a ajouté un message dans un sujet produits dans catalogue !
c'est bon ça marche je sais pas pourquoi mais maintenant ça s'affiche
-
0
-
-
casimir14 a ajouté un message dans un sujet edito
ça marche pas y'a une page d'erreur
-
0
-
-
casimir14 a ajouté un message dans un sujet produits dans catalogue !
tu as vu sur mon site le problème du catalogue ?
-
0
-
-
casimir14 a ajouté un message dans un sujet edito
ouais c'est gentil mais je comprends pas grand chose :)
-
0
-
-
casimir14 a ajouté un message dans un sujet edito
je crois que je vais me passer de l'edito lol merci quand même c'est super
-
0
-
-
casimir14 a ajouté un message dans un sujet edito
ouiille je suis pas douée tu peux m'expliquer ?
-
0
-
-
casimir14 a ajouté un message dans un sujet edito
y'a pas
<?php
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érifie si l'utilisateur est identifié. Si non affiche
* l'é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 $repertoire_modele, $wwwroot;
if ( $_SESSION['utilisateur']['priv'] != "admin") {
?>
<html>
<head>
<title>Privilèges Non accordé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écessaires pour accéder à l'administration du site.
<p></p>Insérer votre identifiant et votre mot de passe.
</h1>
</body>
</html> <?php
die;
}
}
function necessite_priv_affilie($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 $repertoire_modele;
global $wwwroot;
if ( $_SESSION['utilisateur']['priv'] != "affi") {
?>
<html>
<head>
<title>Privilèges Non accordé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écessaires pour accéder à l'interface Affilié.
<p></p>Insérer votre identifiant et votre mot de passe.
</h1>
</body>
</html> <?php
die;
}
}
function a_priv($priv) {
/* Renvoie true si l'utilisateur de la session a le privilè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égories des produits, en commençant de top jusquà la
* categorie specifiee par $id */
global $wwwroot;
$qid = mysql_query("SELECT parent_id, nom FROM peel_categories WHERE id = $catid AND etat = 1");
if ($qid) {
if (mysql_num_rows($qid)) {
list($parent, $nom) = mysql_fetch_row($qid);
$nom = "<a class=\"petit \" 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) . " > " . $nom;
} elseif ($catid > 0) {
return "parcourir : <a class=\"petit\" href=\"$wwwroot/achat/index.php\">accueil</a> > " . $nom;
} elseif ($catid == 0) {
return "parcourir : <a class=\"petit\" href=\"$wwwroot/achat/index.php\">accueil</a>";
}
}
function construit_arbo_cat(&$sortie, &$preselectionne, $parent=0, $indent="") {
/* Parcours récurcivement l'arbre des catégories, commençant d'un parent
* il descend dans l'arbre et affiche les options pour une liste de boîtes de sélection
* Les élément preselectionnés sont marqué comme tel */
$qid = mysql_query("SELECT id, nom, parent_id FROM peel_categories WHERE parent_id = $parent ORDER BY nom");
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'])."</option>";
if ($cat['id'] != $parent) {
construit_arbo_cat($sortie, $preselectionne, $cat['id'], $indent." ");
}
}
}
}
}
function construit_select_cat(&$sortie, &$preselectionne, $parent=0, $indent="") {
/* Parcours récurcivement l'arbre des catégories, commençant d'un parent
* il descend dans l'arbre et affiche les options pour une liste de boîtes de sélection
* Les élément preselectionnés sont marqué comme tel */
$qid = mysql_query("SELECT id, nom, parent_id FROM peel_categories WHERE parent_id = $parent ORDER BY nom");
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_select_cat($sortie, $preselectionne, $cat['id'], $indent." ");
}
}
}
}
}
function affiche_arbre_rubrique($rubid=false) {
echo recupere_arbre_rubrique($rubid);
}
function recupere_arbre_rubrique($rubid=0) {
/* Renvoie l'arbre des catégories des produits, en commençant de top jusquà la
* categorie specifiee par $id */
global$wwwroot;
$qid = mysql_query("SELECT parent_id, nom FROM peel_rubriques WHERE id = $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 = "parcourir : ";
}
}
else {
$parent = 0;
$nom = "";
}
if ($parent > 0) {
return affiche_arbre_rubrique($parent) . " > " . $nom;
} elseif ($rubid > 0) {
return "parcourir : <a class=\"petit\" href=\"$wwwroot/lire/index.php\">Accueil</a> > " . $nom;
} elseif ($rubid == 0) {
return "parcourir : <a class=\"petit\" href=\"$wwwroot/lire/index.php\">Accueil</a>";
}
}
function construit_arbo_rub(&$sortie, &$preselectionne, $parent=0, $indent="") {
/* Parcours récurcivement l'arbre des catégories, commençant d'un parent
* il descend dans l'arbre et affiche les options pour une liste de boîtes de sélection
* Les élément preselectionnés sont marqué comme tel */
$qid = mysql_query("SELECT id, nom, parent_id FROM peel_rubriques WHERE parent_id = $parent ORDER BY nom");
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'];
if ($rub['id'] != $parent) {
construit_arbo_rub($sortie, $preselectionne, $rub['id'], $indent." ");
}
}
}
}
}
function construit_menu(&$sortie, &$selectionne, $parent=0, $indent="") {
global $wwwroot;
$qid = mysql_query("SELECT id, parent_id, nom FROM peel_categories WHERE parent_id = $parent AND etat = 1");
if ($qid) {
if (mysql_num_rows($qid) > 0) {
while ($cat = mysql_fetch_array($qid)) {
$sortie .= "
<tr><td>
$indent<a class=\"normal\" href=\"$wwwroot/achat/index.php?catid=" . $cat['id'] ."\">". $cat['nom'] ."\"</a></td></tr>";
if ($cat['id'] != $parent) {
construit_menu($sortie, $selectionne, $cat['id'], $indent." ");
}
}
}
}
}
// Fonction récursive pour rechercher si $noeud fait partie de l'arborescence d'un noeud donné
// Utilisé par construit_menu afin d'ouvrir les DIV necesssaires dans l'arborescence
function parent_noeud_cat($noeud_cat,$aktul_cat,&$actif_cat){
// Si c'est pas la racine
if($aktul_cat != 0 && $noeud_cat != 0){
// Recherche le parent du noeud à tester
$sql=mysql_query("SELECT id, parent_id FROM peel_categories WHERE id = $aktul_cat");
// récupère le résultat
$cat=mysql_fetch_array($sql);
// Appel récursif jusqu'à la racine
parent_noeud_cat($noeud_cat,$cat['parent_id'],$actif_cat);
// Si le noeud testé est le noeud recherché
if($cat['parent_id']==$noeud_cat){
// Met le drapeau à 1
$actif_cat=1;
}
}
}
// Ca peut-être simpa d'avoir une variable pour choisir avec ou sans arborescence ...
// la fonction est appelé comme construit_menu (ne pas s'occuper de $indent)
// Pour du HTML strict, il y a 2 erreurs qui sont la fermeture des balises <b>
// On peut aller plus loin avec du javascript sur l'icone qui affiche / Cache le DIV sur l'évenements
// OnMouseClic ; ainsi on ne rechargerait pas la page à chaque fois.
function construit_menu_arborescent_cat(&$sortie_cat, &$selectionne_cat, $parent_cat=0, $indent_cat=-1)
{
global $wwwroot, $catid;
$indent_cat +=1;
if(is_array($catid)) $catid=0;
// Recherche de tous les noeuds ayant $parent comme noeud parent
$qid = mysql_query("SELECT id, parent_id, nom FROM peel_categories WHERE parent_id = $parent_cat AND etat = 1 ORDER BY nom");
// Si la requete a abouti
if($qid){
// Pour toutes les entrées
while($cat = mysql_fetch_array($qid)){
// Boucle pour ajouter l'indentation (une image vide)
// Pour aller plus loin on peut gérer des lignes de suite
for($i=0;$i<$indent_cat;$i++){
$sortie_cat .= "<img src=\"$wwwroot/images/mnu_empty.gif\" border=\"0\" alt=\"\" />";
}
// Recherche d'enfant pour déterminer l'aspect de l'icone (feuille ou dossier)
$fils_cat = mysql_query("SELECT id, parent_id, nom FROM peel_categories WHERE parent_id = ".$cat['id']." AND etat = 1 ORDER BY nom");
$div_cat = mysql_num_rows($fils_cat);
// Si il y a des enfants
if ($div_cat) {
// Ajout de l'icone du dossier
$sortie_cat .= "<img src=\"$wwwroot/images/menplus.gif\" border=\"0\" alt=\"\" /> ";
// Ajout du lien (identique à construit menu)
$sortie_cat .= "<a class=\"normal\" href=\"$wwwroot/achat/index.php?catid=" . $cat['id'] ."\">";
// Test si le noeud est le noeud actif (id), si oui, ajoute du gras (plus visuel)
if($cat['id']==$catid) $sortie_cat .= "<b>";
// Ajoute le nom de la catégorie et débute un calque DIV ayant pour ID l'Id de la catégorie
$sortie_cat .= $cat['nom']."</a></b><br /><div id=.$cat['id];
// Recherche si le noeud fait partie de l'arborescence du noeud actif
parent_noeud_cat($cat['id'],$catid, $actif_cat=0);
// Si Oui,
if(($cat['id'] == $catid) || ($actif_cat == 1)){
// Rends le calque visible
$sortie_cat.= " style=\"display:yes\">\n";
}
else{
// Sinon, rends le calque invisible
$sortie_cat.= " style=\"display:none\">\n";
}
}
// Sinon, c'est un document
else{
// Ajoute l'image du document
$sortie_cat .= "<img src=\"$wwwroot/images/menminus.gif\" border=\"0\" alt=\"\" /> ";
// Ajoute le lien (identique à construit_menu)
$sortie_cat .= "<a class=\"normal\" href=\"$wwwroot/achat/index.php?catid=" . $cat['id'] ."\">";
// Si c'est la feuille active, la met en gras
if($cat['id']==$catid) $sortie_cat .= "<b>";
// Ajoute le nom
$sortie_cat .= $cat['nom']."</a></b><br />\n";
}
// Si c'est un noeud (catégorie)
if($div_cat){
// Appel récursif pour ajout des enfants
construit_menu_arborescent_cat($sortie_cat, $selectionne_cat, $cat['id'], $indent_cat);
// Ferme le calque
$sortie_cat.="</div>";
}
}
}
}
// Fonction récursive pour rechercher si $noeud fait partie de l'arborescence d'un noeud donné
// Utilisé 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 à tester
$sql=mysql_query("SELECT id, parent_id FROM peel_rubriques WHERE id = $aktul_rub");
// récupère le résultat
$rub=mysql_fetch_array($sql);
// Appel récursif jusqu'à la racine
parent_noeud_rub($noeud_rub,$rub['parent_id'],$actif_rub);
// Si le noeud testé est le noeud recherché
if($rub['parent_id']==$noeud_rub){
// Met le drapeau à 1
$actif_rub=1;
}
}
}
// Ca peut-être simpa d'avoir une variable pour choisir avec ou sans arborescence ...
// la fonction est appelé comme construit_menu (ne pas s'occuper de $indent)
// Pour du HTML strict, il y a 2 erreurs qui sont la fermeture des balises <b>
// On peut aller plus loin avec du javascript sur l'icone qui affiche / Cache le DIV sur l'évenements
// OnMouseClic ; ainsi on ne rechargerait pas la page à chaque fois.
function construit_menu_arborescent_rub(&$sortie_rub, &$selectionne_rub, $parent_rub=0, $indent_rub=-1)
{
global $wwwroot, $rubid;
$indent_rub +=1;
if(is_array($rubid)) $rubid=0;
// Recherche de tous les noeuds ayant $parent comme noeud parent
$qid = mysql_query("SELECT id, parent_id, nom FROM peel_rubriques WHERE parent_id = $parent_rub AND etat = 1 ORDER BY nom");
// Si la requete a abouti
if($qid){
// Pour toutes les entrées
while($rub = mysql_fetch_array($qid)){
// Boucle pour ajouter l'indentation (une image vide)
// Pour aller plus loin on peut gérer des lignes de suite
for($i=0;$i<$indent_rub;$i++){
$sortie_rub .= "<img src=\"$wwwroot/images/mnu_empty.gif\" border=\"0\" alt=\"\" />";
}
// Recherche d'enfant pour déterminer l'aspect de l'icone (feuille ou dossier)
$fils_rub = mysql_query("SELECT id, parent_id, nom FROM peel_rubriques WHERE parent_id = ".$rub['id']." AND etat = 1 ORDER BY nom");
$div_rub = mysql_num_rows($fils_rub);
// Si il y a des enfants
if ($div_rub) {
// Ajout de l'icone du dossier
$sortie_rub .= "<li><img src=\"$wwwroot/images/menplus.gif\" border=\"0\" alt=\"\" /> ";
// Ajout du lien (identique à construit menu)
$sortie_rub .= "<a class=\"normal\" href=\"$wwwroot/lire/index.php?rubid=" . $rub['id'] ."\">";
// Test si le noeud est le noeud actif (id), si oui, ajoute du gras (plus visuel)
if($rub['id']==$rubid) $sortie_rub .= "<b>";
// Ajoute le nom de la catégorie et débute un calque DIV ayant pour ID l'Id de la catégorie
$sortie_rub .= $rub['nom']."</a></b></li><div id=.$rub['id];
// Recherche si le noeud fait partie de l'arborescence du noeud actif
parent_noeud_rub($rub['id'],$rubid, $actif_rub=0);
// Si Oui,
if(($rub['id'] == $rubid) || ($actif_rub == 1)){
// Rends le calque visible
$sortie_rub.= " style=\"display:yes\">\n";
}
else{
// Sinon, rends le calque invisible
$sortie_rub.= " style=\"display:none\">\n";
}
}
// Sinon, c'est un document
else{
// Ajoute l'image du document
$sortie_rub .= "<li><img src=\"$wwwroot/images/menminus.gif\" border=\"0\" alt=\"\" /> ";
// Ajoute le lien (identique à construit_menu)
$sortie_rub .= "<a class=\"normal\" href=\"$wwwroot/lire/index.php?rubid=" . $rub['id'] ."\">";
// Si c'est la feuille active, la met en gras
if($rub['id']==$rubid) $sortie_rub .= "<b>";
// Ajoute le nom
$sortie_rub .= $rub['nom']."</a></b></li>\n";
}
// Si c'est un noeud (catégorie)
if($div_rub){
// Appel récursif pour ajout des enfants
construit_menu_arborescent_rub($sortie_rub, $selectionne_rub, $rub['id'], $indent_rub);
// Ferme le calque
$sortie_rub.="</div>";
}
}
}
}
function recupere_articles_caddie() {
/* Retourne $qid de tous les éléments du caddie */
global $_SESSION, $tauxtva;
$in_clause = $_SESSION['caddie']->recupere_produitid_list();
if (empty($in_clause)) {
return false;
}
$requete = "SELECT p.id, p.reference, p.nom, p.promotion, p.descriptif, p.image1, p.tva, e.prix_ttc AS ecotaxe
, IF(ISNULL(e.prix_ttc),p.prix, (p.prix + e.prix_ttc)) AS prix_catalogue
, IF(ISNULL(e.prix_ttc),p.prix * (1-p.promotion/100),(p.prix * (1-p.promotion/100) + e.prix_ttc)) AS prix_vente
, p.on_stock, p.stock
FROM peel_produits p LEFT JOIN peel_ecotaxes e ON (p.id_ecotaxe = e.id) WHERE p.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 */
$corps_message = "Le mot de passe de votre compte client du site $site a été réinitialisé.\n\n";
$corps_message .= "Votre identifiant est le suivant: ".$utilisateur['email'].".\n";
$corps_message .= "Votre nouveau mot de passe est : $nouveau_mot_passe\n";
mail($utilisateur['email'],"Nouveau mot de passe de votre compte client $site","$corps_message","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 ê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élaires sur la carte de crédit pour discrétion
*/
return substr($ccnum, 0, 4) . "..." . substr($ccnum, -4);
}
function enregistre_commandeinfo(&$frm) {
/* Conserve les infos de la commande dans la variable de session
* $_SESSION['commande']. */
$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['paiement'] = $frm['paiement'];
$commande['transport'] = $frm['transport'];
$commande['cgv'] = $frm['cgv'];
$_SESSION['commande'] = $commande;
}
function charge_commande() {
/* Cette fonction est la contrepartie de enregistre_commandeinfo.
* Utilisé pour récupérer l'information de la commande */
if (empty($_SESSION['commande'])) {
return false;
} else {
return $_SESSION['commande'];
}
}
function vide_commandeinfo() {
/* Vide les paramètres de commande d'une session */
unset($_SESSION['commande']);
}
function print_societe() {
/* Affiche la liste des catégories qui sont spéciales */
$qid = mysql_query("SELECT * FROM peel_societe");
if ($qid) {
if (mysql_num_rows($qid) > 0) {
$ligne = mysql_fetch_object($qid);
print "<div class=\"petit\">";
if (!empty($ligne->societe)) { print "<b>" . $ligne->societe . "</b><br />";}
if (!empty($ligne->adresse)) { print $ligne->adresse . "<br />";}
if (!empty($ligne->code_postal)) { print $ligne->code_postal . " ";}
if (!empty($ligne->ville)) { print $ligne->ville . "<br />";}
if (!empty($ligne->pays)) { print $ligne->pays . "<br />";}
if (!empty($ligne->tel)) { print "Tel. : " . $ligne->tel . "<br />";}
if (!empty($ligne->fax)) { print "Fax. : " . $ligne->fax . "<br />";}
if (!empty($ligne->siren)) { print "SIREN : " . $ligne->siren . "<br />";}
print "</div>";
}
}
}
function print_rib() {
/* Affiche la liste des catégories qui sont spé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éro de compte :</b> $ligne->numero_compte<br />";}
if (!empty($ligne->cle_rib)) { print "<b>Clé 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 />";}
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,2, ',', ' ');
return $prix_ok;
}
# fonction de validation d'adresse mail trouvé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éation d'un mot de passe crypté
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évrier', 'mars', 'avril', 'mai', 'juin',
'juillet', 'août', 'septembre', 'octobre', 'novembre',
'dé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;
// 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"
.$commande['pays1']."\n"
.$commande['contact1']."\n"
.$commande['email1']."\n";
// Addresse de livraison
$client_info2 =
$commande['client2']."\n"
.$commande['adresse2']."\n"
.$commande['code_postal2']."\n"
.$commande['ville2']."\n"
.$commande['pays2']."\n"
.$commande['contact2']."\n"
.$commande['email2']."\n";
// Calcul le panier total T.T.C
$caddie_total = $_SESSION['caddie']->total + $_SESSION['caddie']->cout_transport;
$sql = "
INSERT INTO peel_commandes (
email
,id_utilisateur
, o_timestamp
, statut
, statut_details
, client_info1
, client_info2
, commentaires
, montant
, paiement
, transport
, cout_transport
) VALUES (
'{$_SESSION['utilisateur']['email']}'
,'{$_SESSION['utilisateur']['id_utilisateur']}'
,now()
,1
,'attente de règlement'
,'".addslashes($client_info1)."'
,'".addslashes($client_info2)."'
,'".addslashes($commande['commentaires'])."'
,'".$caddie_total."'
,'".$_SESSION['caddie']->paiement."'
,'".$_SESSION['caddie']->transport."'
,'".$_SESSION['caddie']->cout_transport."'
)";
$qid = mysql_query($sql);
$commandeid = mysql_insert_id();
/* ajout des articles à la table commandes_articles */
$qid = recupere_articles_caddie();
if ($qid) {
if (mysql_num_rows($qid) > 0) {
while ($article = mysql_fetch_array($qid)) {
$prix = $article['prix_vente'] ;
$ecotaxe = $article['ecotaxe'];
$requete = "INSERT INTO peel_commandes_articles (
commande_id, produit_id, nom_produit, prix, ecotaxe, quantite, promotion, tva
) VALUES (
'$commandeid'
,'".$article['id']."'
,'".htmlspecialchars($article['nom'], ENT_QUOTES)."'
,'".$prix."'
,'".$ecotaxe."'
,'".$_SESSION['caddie']->articles[$article['id']]."'
,'".$article['promotion']."'
,'".$article['tva']."'
)";
mysql_query($requete);
if ($article['on_stock'] == 1) {
$stock_restant = $article['stock'] - $_SESSION['caddie']->articles[$article['id']];
mysql_query("UPDATE peel_produits SET stock = '".intval($stock_restant)."' WHERE id = '".$article['id']."'");
if ($stock_restant <= 0)
$contenu = "Le produit ".html_entity_decode($article['nom'])." est actuellement en rupture de stock sur votre boutique en ligne.\n\rIl ne peut plus être commandé. Pensez à réapprovisionner votre back office.";
mail($support,"[$site] Notification d'alerte d'un produit hors stock", $contenu,"From:$support");
}
}
}
}
return $commandeid;
}
function email_commande(&$commandeid) {
global $wwwroot;
global $site;
global $support;
$result = mysql_query("SELECT email, o_timestamp, montant FROM peel_commandes WHERE id ='".$commandeid."'");
$com = mysql_fetch_object($result);
$goto = "/factures/facture_html.php?mode=proforma&id=$commandeid×tamp=".urlencode($com->o_timestamp)."";
$urlcommande = $wwwroot.$goto;
// Mail d'information envoyé à l'administrateur
mail($support,"Nouvelle commande sur votre site web $site","Une commande portant le numéro $commandeid vient d'être enregistrée sur le site $site.","FROM:$support");
$facturation = "Votre commande n° $commandeid a bien été enregistrée sur le site $site.\r\n\r\n"
."Date : ".return_date_fr($com->o_timestamp)."\r\n\r\n"
."Montant : $com->montant EUR TTC\r\n\r\n"
."Pour éditer votre bon de commande, cliquez sur le lien suivant :\n $urlcommande\r\n\r\n"
."et envoyez votre règlement figurant sur ce dernier.\r\n\r\n"
."Nous vous remercions pour votre confiance\r\n\r\nL'équipe du site $site.";
mail($com->email,"[$site] Confirmation de prise de commande",$facturation,"FROM:$support");
}
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é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éfini, retourne $default, sinon retourne $var */
return isset($var) ? $var : $default;
}
function vn(&$var, $default=0) { // Variable nulle
/* if $var n'est pas défini, retourne $default, sinon retourne $var */
return isset($var) ? $var : $default;
}
function pv(&$var) { // print var
/* retourne $var avec les caractères HTML correctement traité (comme "<", ">", etc.),
* ou si $var n'est pa défini, retourne une chaîne vide.
* Cette fonction doit être appelé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<b>Erreur :</b>\n<ul>";
if (in_array($the_file_type,$allowed_types)) {}
if ($the_file == "none") {
$error .= "\n<li>Vous n'avez rien uploadé.</li>";
} else { # Vérification du type de fichier uploadé
if (!in_array($the_file_type,$allowed_types)) {
$error .= "\n<li>Le type de fichier que vous essayez d'uploader n'est pas autorisé, vous ne pouvez télé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 être plus large que " . $image_max_width . " Pixels</li>";
}
if ($height > $image_max_height) {
$error .= "\n<li>Votre image ne devrait ê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é 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) {
return $error;
} 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érifier le chemin de la variable $path et les permissions du répertoire /upload (il doit ê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è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 modifier($id, $type) {
global $wwwroot;
if (est_identifie()) {
if (a_priv("admin")) {
switch($type) {
case "produits" :
echo "<a href=\"$wwwroot/administrer/produits.php?mode=modif&id=$id\">MODIFIER LE PRODUIT</a>";
break;
case "articles" :
echo "<a href=\"$wwwroot/administrer/articles.php?mode=modif&id=$id\">MODIFIER L'ARTICLE</a>";
break;
}
}
}
}
?>
-
0
-
-
casimir14 a ajouté un message dans un sujet produits dans catalogue !
mp envoyé
-
0
-
-
casimir14 a ajouté un message dans un sujet edito
y'a rien en page d'accueil !
-
0
-
-
casimir14 a ajouté un message dans un sujet produits dans catalogue !
oui tout est rempli je vois tout sur la page d'accueil mais rien dans le menu "Catalogue"
-
0
-
-
casimir14 a ajouté un message dans un sujet edito
une page d'accueil qui reste, car quand j'ajoute des produits ça s'affiche par date donc mon edito ne restera pas visible en permanence !
-
0
-
-
casimir14 a ajouté un message dans un sujet edito
oui merci ça j'ai vu :)
en fait je voudrais une page statique pour expliquer au personne ce que l'on trouve dans ce site
-
0
-
-
casimir14 a ajouté un message dans un sujet produits dans catalogue !
j'ai déjà ajouté 5 produits et ça ne s'affiche pas dans le catalogue
http://www.rue-des-sims.com/cata.gif
-
0
-
-
casimir14 a ajouté un message dans un sujet produits dans catalogue !
oui mais y'a pas "ajouter dans le catalogue" !
-
0
-
-
casimir14 a ajouté un sujet dans PEEL SHOPPING : logiciel open source de boutique en ligne
editobonjour
c'est encore moi :)
Si par exemple je veux mettre une sorte d'edito sur ma page d'accueil pour décrire ce qu'est ce site, dans quel fichier je dois le mettre, merci de vos réponses
- 28 réponses
- 9 476 vues
-
casimir14 a ajouté un sujet dans PEEL SHOPPING : logiciel open source de boutique en ligne
produits dans catalogue !bonjour
comment met-on des produits dans le catalogue ? merci de vos réponses
- 11 réponses
- 3 769 vues
-
casimir14 a ajouté un message dans un sujet Etape 3 - Confirmation de votre demande
ooh merci beaucoup paulanna ça marche c'est chouette :)
-
0
-
-
casimir14 a ajouté un message dans un sujet espace sur la page d'accueil!!!
MErci beaucoup ça marche :)
-
0
-
-
casimir14 a ajouté un message dans un sujet espace sur la page d'accueil!!!
la feuille de style se trouve où ?
-
0
-
-
casimir14 a ajouté un message dans un sujet Etape 3 - Confirmation de votre demande
cela se trouve à la fin de la commande, "Résumé de la commande" au niveau de "Bon de commande : cliquez ici. "
la facture ne s'affiche pas
http://www.rue-des-sims.com/commande.gif
-
0
-
-
casimir14 a ajouté un sujet dans PEEL SHOPPING : logiciel open source de boutique en ligne
espace sur la page d'accueil!!!bonjour
je viens de découvrir le programme pour créer une boutique et je trouve cela génial depuis le temps que je cherchais un truc fonctionnel je vous remercie. :)
Donc evidemment cela engendre beaucoup de questions!
je me demande pourquoi il y a un vide immense au début de la page d'accueil y'a un gros blanc voir l'image sur ce lien: j'ai tracé une croix
http://www.rue-des-sims.com/accueil.gif
merci de votre réponse
- 4 réponses
- 2 611 vues
-
casimir14 a ajouté un message dans un sujet Etape 3 - Confirmation de votre demande
ça change pas toujours pareil
quand je clique sur: "Bon de commande : cliquez ici. "
il ne se passe rien :)
-
0
-
-
casimir14 a ajouté un message dans un sujet Etape 3 - Confirmation de votre demande
je n'ai rien modifié:
<?php
include("../configuration.inc.php");
/* Charge les détails d'une commande et les affiche */
$timestamp = urldecode($_GET['timestamp']);
$id = $_GET['id'];
$mode = $_GET['mode'];
switch ($mode) {
case "proforma" :
$libelle = "BON DE COMMANDE";
break;
case "facture" :
$libelle = "FACTURE";
break;
}
if (!empty($id) && !empty($timestamp)) {
$qid_commande = mysql_query("SELECT * FROM peel_commandes WHERE id = '$id' AND o_timestamp = '$timestamp'");
$qid_items = mysql_query("
SELECT
p.reference
,p.nom
,p.promotion
,p.prix AS curr_prix
,oi.prix AS purchase_prix
,oi.quantite
,oi.tva
,oi.promotion
,oi.prix * oi.quantite AS total
FROM peel_commandes_articles oi
LEFT JOIN peel_produits p ON (oi.produit_id = p.id)
WHERE commande_id = '$id'
");
$commande = mysql_fetch_object($qid_commande);
?>
<html>
<head>
<TITLE><?php echo $libelle." numéro ".$id." du ".return_date_fr($commande->o_timestamp)."";?></TITLE>
<link REL="stylesheet" type="text/css" href="<?php echo $stylefile?>">
<script LANGUAGE="JavaScript" SRC="<?php echo $wwwroot?>/lib/js/window.js"></script>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" bgcolor="white">
<tr>
<td valign="top">
<div align="center">
<center>
<table border="0" cellspacing="0" width="90%" bgcolor="white">
<tr>
<td valign="top">
<div class="titre"><?php echo $libelle." numéro ".$id." du ".return_date_fr($commande->o_timestamp)."";?></div>
<div align="left">
<table border="1" cellpadding="5" cellspacing="0" width="60%" bordercolor="#000000">
<tr>
<td bgcolor="#ffffff" align="center" class="normal">
<?php
print_societe();
?>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</center>
</div>
<p align="center" class="normal"><a class="normal" href="java script:window.print();"><b>Imprimer le Facture</b></a></p>
<div align="center"><center>
<table border="0" cellpadding="0" cellspacing="0" width="90%" bgcolor="white">
<tr>
<td valign="top" width="50%">
<table border="1" cellpadding="5" cellspacing="1" width="100%" bordercolor="#808080">
<tr>
<td bgcolor="#f3e2a0" class="normal"><b>Adresse de facturation</b></td>
</tr>
<tr>
<td class="normal"><?php echo nl2br(stripslashes($commande->client_info1))?></td>
</tr>
</table>
</td>
<td valign="top" width="50%">
<table border="1" cellpadding="5" cellspacing="1" width="100%" bordercolor="#808080">
<tr>
<td bgcolor="#f3e2a0" class="normal"><b>Adresse de livraison</b></td>
</tr>
<tr>
<td class="normal"><?php echo nl2br(stripslashes($commande->client_info2))?></td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</div>
<div align="center">
<table border="1" cellpadding="3" cellspacing="0" bordercolor="#000000" width="90%" bgcolor="white">
<tr>
<td align="center" bgcolor="#f3e2a0" class="label">Ref</td>
<td align="center" bgcolor="#f3e2a0" class="label">Produit</td>
<td align="center" bgcolor="#f3e2a0" class="label">Quantité</td>
<td align="center" bgcolor="#f3e2a0" class="label">Prix unitaire</td>
<td align="center" bgcolor="#f3e2a0" class="label">Prix Total</td>
</tr>
<?php
$ensemble_total_ht = 0;
$ensemble_total_ttc = 0;
if ($qid_items) {
if (mysql_num_rows($qid_items)) {
while ($prod = mysql_fetch_array($qid_items)) {
$prix = $prod['purchase_prix'];
$prix_ht = $prod['purchase_prix'] / (1+$prod['tva']/100);
$total_ttc = $prod['total'] ;
$total_ht = $total_ttc / (1+$prod['tva']/100);
$ensemble_total_ht += $total_ht;
$ensemble_total_ttc += $total_ttc ;
$tva = $ensemble_total_ttc - $ensemble_total_ht;
?>
<tr>
<td class="normal"><?php echo $prod['reference'] ?></td>
<td class="normal"><?php print $prod['nom'];if ($prod['promotion'] != 0) {print " (- ".$prod['promotion']." % )";} ?>
</td>
<td class="normal" align="center"><?php echo $prod['quantite']?></td>
<td class="normal" align="center">
<?php echo fprix($prix)?></td>
<td class="normal" align="center">
<?php echo fprix($prod['total'])?> € T.T.C
</td>
</td>
</tr>
<?php } ?>
</table>
<?php
}
} ?>
<br />
<table border="1" cellpadding="3" cellspacing="0" width="90%" bordercolor="#000000">
<tr>
<td align="left" bgcolor="#ffffff" class="normal">Mode de paiement </td>
<td align="right" bgcolor="#ffffff" class="normal"><?php echo $commande->paiement?></td>
</tr>
<tr>
<td align="left" bgcolor="#ffffff" class="normal">TOTAL HT </td>
<td align="right" bgcolor="#ffffff" class="normal"><b><?php echo fprix($ensemble_total_ht)?> € H.T.</b></td>
</tr>
<tr>
<td align="left" bgcolor="#ffffff" class="normal">TVA </td>
<td align="right" bgcolor="#ffffff" class="normal"><b><?php echo fprix($tva)?> €</b></td>
</tr>
<tr>
<td align="left" bgcolor="#ffffff" class="normal">Transport (<?php echo $commande->transport?>)</td>
<td align="right" bgcolor="#ffffff" class="normal">
<?php echo "<b>".fprix($commande->cout_transport)."€ TTC</b>"; ?>
</td>
</tr>
<tr>
<td align="center" bgcolor="#f3e2a0" class="normal"><div align="left"><p><b>Total
TTC</b>
</div>
</td>
<td align="right" bgcolor="#f3e2a0" class="normal"><b><?php echo number_format($ensemble_total_ttc + $commande->cout_transport,2)?> € T.T.C</b></td>
</tr>
</table>
</center></div>
<p align="center" class="petit"><i>Les prix indiqués sont en Euros. </i></p>
<?php
if ($libelle == "BON DE COMMANDE") {
?>
<div align="center">
<center>
<table border="0" cellpadding="2" cellspacing="0" width="90%">
<tr>
<td width="100%">
<div align="right">
<table border="0" cellpadding="0" cellspacing="0" width="250" bgcolor="#000000">
<tr>
<td bgcolor="#ffffff" class="normal">
<div align="left">
<p class="normal" align="center"><u><strong><br />
</strong></u>
<i>ACCORD POUR COMMANDE</i>
</div>
</td>
</tr>
</table>
</div>
<div align="right">
<table border="1" cellpadding="5" cellspacing="0" width="250" bgcolor="#000000">
<tr>
<td bgcolor="#FFFFFF" align="center">
<div align="center">
<p class="normal"><i>Signature <br />
</i></p>
</div>
<div align="center">
<p class="normal"> </p>
</div>
<div align="center">
<p class="normal">
</div>
<div align="center">
<p class="normal">
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</center>
</div>
<?php } ?>
</td>
</tr>
</table>
<?php } ?>
</div>
</body>
<script language="javascript">
window.print();
</script>
</html>
-
0
-
-
casimir14 a ajouté un sujet dans PEEL SHOPPING : logiciel open source de boutique en ligne
page d'erreurbonjour
j'ai un soucis quand je veux créer un compte client je remplis tous les champs mais une fois que j'enregistre ça me renvoie sur une page d'erreur:
Action annulée
Internet Explorer ne peut pas ouvrir la page Web requise. La page n'est peut-être pas disponible temporairement.
--------------------------------------------------------------------------------
Essayez de la manière suivante :
Cliquez sur le bouton Actualiser ou réessayez ultérieurement.
Si vous avez déjà visité cette page et souhaitez voir ce qui a été stocké sur votre ordinateur, cliquez sur Fichier, puis sur Travailler hors connexion.
Pour obtenir des informations sur la navigation hors connexion avec Internet Explorer, cliquez sur le menu ?, puis sur Sommaire et index.
Internet Explorer
merci de votre aide
- 0 réponse
- 1 465 vues
-
casimir14 a ajouté un message dans un sujet Etape 3 - Confirmation de votre demande
euuh oui mais je modifie quoi à l'intérieur ?
-
0
-