Flux d’activité
Flux d’activité de Messages
-
-
-
car la dimenssion des boutons reste fixe alors que si je mets des "faux boutons" en arriere plans ca pourrait ce desaler si je viens à ajouter des categories
-
c'est peutetre la creation du bouton qu'il faut déplacer
?> <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 ALIGN="CENTER"> <TR><TD> ici -->> <FORM ACTION=" lien vers la categorie "> ici -->> <INPUT TYPE="SUBMIT" VALUE="nom de la categorie"></TD> </FORM></TR> </TABLE> <?
-
à l'endroit où s'affichent les catégories pourquoi ne pas mettre en background (css), l'image d'un joli boutton ?
-
en fait il doit y avoir autant de boutons que de categories (ca c'est bon)
la fonction qui est dans template affiche le nom des catogries et orsqu'on clique dessus la page de la categorie avec tous les produits qu'elle contient s'affiche
a la place de ce simple lien je voudrai le faire sous forme d'un bouton, mais je n'arrive pas a recuperer le lien aisi que le nom de la categorie
-
$value = "Epices";
$action = "$wwwroot/achat/index.php?catid=" . $cat['id'] ."";
sachant que : $cat['id] correspond ou devrait correspondre au numero de la categorie dans la base de donées
-
-
-
-
voila un essai peu concluant ... :
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, nb, nom_".$_SESSION['langue']." FROM peel_categories WHERE parent_id = $parent_cat AND etat = '1' ORDER BY position"); // 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>"; } // Recherche d'enfant pour déterminer l'aspect de l'icone (feuille ou dossier) $fils_cat = mysql_query("SELECT 'id', 'parent_id', nom_".$_SESSION['langue']." FROM peel_categories WHERE 'parent_id' = ".$cat['id']." AND etat = '1' ORDER BY position"); $div_cat = 'mysql_num_rows($fils_cat)'; ici -->> $value = mysql_query("SELECT nom_".$_SESSION['langue']." FROM peel_categories WHERE 'parent_id' = ".$cat['id'].""); // 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> "; // Ajout du lien (identique à construit menu) $sortie_cat .= "<a class=menuleft href=$wwwroot/achat/index.php?catid=" . $cat['id'] .">"; ici -->> $action = "$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 .= html_entity_decode($cat['nom_'.$_SESSION['langue'].'']); $nb = calcul_nbprod_parcat($cat['id']); if (!empty($nb)) {$sortie_cat .= " (".$nb.") "; } $sortie_cat .= "</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> "; // Ajoute le lien (identique à construit_menu) $sortie_cat .= "<a class=menuleft 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 .= html_entity_decode($cat['nom_'.$_SESSION['langue'].'']); $nb = calcul_nbprod_parcat($cat['id']); if (!empty($nb)) {$sortie_cat .= " (".$nb.") "; } $sortie_cat .= "</a></b><br />"; } // 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); ?> <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 ALIGN="CENTER"> <TR><TD> ici -->> <FORM ACTION="<? $action ?> "> ici -->> <INPUT TYPE="SUBMIT" VALUE="<? $value ?>"></TD> </FORM></TR> </TABLE> <? //Ferme le calque $sortie_cat.="</div>"; } } } }
-
il faut créer un bout de code avec une requete mysql disant qu' il faut afficher la rubrique dont l'etat est etat = '1' et dont l'affichage en page d'accueil est on_special = '1'
une fonction commence de cette manière
<?php
rubrique_accueil() {
ici requete mysql (selection des champs, de la table)
ensuite appeller les champs que vous souhaitez afficher (nom et descrition)
} /*fin */
pour l'exécution de la requete vous pouvez vous inspirer du travail effectué sur d'autre page de la boutique
pour appeller cette ensuite faire : <?php rubrique_accueil()?> à l'endroit choisit
-
-
c'est toujours pas clair ?
$value est la variable qui doit prendre le nom de la categorie
$action es t la variable qui doit prendre le lien pour etre redirigé vers la page de la categorie lorsque l'on clique sur le bouton
-
-
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;
}
}
}
}
?>
-
voila ce fonctionne les catégorie n'etaient cochées "en ligne" vous n'avez pas fait attention à ce que j'ai écris plus haut
-
-
arf peut etre manque t il la fonction
regarder ds lib/fonction/fonctions.php s'il existe une fonction genre print_rubrique
-
-
bizzare ce machin ...
je peux avoir ts acces admin pour le back office ? en message privé avec l'adresse du site
-
tu fais comme je t'ai dis tu ajoutes une rubrique que tu coche => en ligne et mettre en page d'accueil et ainsi cette rubrique ne changera pas
ensuite si tu dois ajouter d'autres rubriques ne coche pas "mettre en page d'accueil"
-
-
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 !
-
as tu mis tes produits "en ligne" ? à partir de la fiche produit
les a tu associés à la catégorie correspondante ? et cette catégorie est "en ligne" ?
extraction de données
dans Module PEEL Premium pour PEEL SHOPPING
kefren
Posté(e) · Signaler ce message
ca serait si difficile que ca de recupérer ces deux valeurs ?? J'ai fait tres peu de php, c'est pour cela que je comprend tres mal cette fonction, mais d'apres ce qu'elle genere il me semble pas impossible de récupérer le nom de la categorie (qui est traité dans la fonction) ainsi que le lien :)