Sam59

Utilisateur open source
  • Compteur de contenus

    362
  • Inscrit(e) le

  • Dernière visite


Messages posté(e)s par Sam59


  1. Bonjour,

    Suite à la mise en place de l'URL Rewriting qui fonctionne très bien, j'ai remis à jour mes fichiers sur mon site local sous easyphp 1.8 qui me sert de base de développement et de tests.

    Depuis l'URL Rewiting, mon site en local ne fonctionne plus. Après pas mal de recherche sur le net, j'ai activé le moteur rewrite dans le httpd.conf.

    Par contre, je pense qu'il faut aussi modifier le .htaccess. Sous easyphp, celui-ci se trouve ans le répertoire home, alors que les fichiers du site sont dans www.

    Quelq'un a t-il une config correcte du .htaccess sous easyphp 1.8 pour me la montrer SVP ?

    Merci d'avance.

    ADD :

    Problème résolu.

    Il suffit de déplacer le htaccess du répertoire home vers le www. (j'avais pourtant lu le contraire)...


  2. La voici :

    function print_categorie() {

    /* Affiche la liste des catégories qui sont spéciales */

    global $wwwroot, $repertoire_modele;

    $qid = mysql_query("SELECT id, nom_".$_SESSION['langue'].", image FROM peel_categories WHERE etat = '1' AND on_special = '1'") or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());

    if (mysql_num_rows($qid) > 0) {

    $nb_cellules = mysql_num_rows($qid);

    $nb_colonnes = 2;

    echo "<table align=\"center\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">";

    echo "<tr><td colspan=".$nb_colonnes." class=\"entete\">".CATALOG."</td></tr>";

    $j = 0;

    while ($cat = mysql_fetch_array($qid))

    {

    if ( $j % $nb_colonnes == 0 ) {

    echo "<tr valign=top>";

    }

    if($j % $nb_colonnes !=0 OR $j % $nb_colonnes == 0 ) {

    // on affiche une cellule

    echo "<td class=petit width=50%>";

    echo "<table align=\"center\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\">";

    echo "<tr><td align=\"center\"><a class=\"label\" href=\"achat/index.php?catid=".$cat['id'].">".stripslashes($cat['nom_'.$_SESSION['langue'].''])."</a></td></tr>";

    echo "<tr><td align=\"center\" valign=\"middle\">";

    if (!empty($cat['image'])) {

    echo "<div align=\"center\"><img src=\"administrer/upload/".$cat['image']."\" title=\"".stripslashes($cat['nom_'.$_SESSION['langue'].''])."\" /></div>";

    } else {

    echo "<div align=center><img src=\"$wwwroot/images/photo-non-disponible.gif\"></div>";

    }

    echo "</td></tr>";

    echo "</td></tr></table>";

    }

    echo "</td>";

    $j++;

    if ( $j % $nb_colonnes == 0 OR $j == $nb_cellules ) {

    echo "</tr>";

    }

    }

    echo "</table>";

    }

    }

    et cette ligne me semble curieuse :

    echo "<tr><td align=\"center\"><a class=\"label\" href=\"achat/index.php?catid=".$cat['id'].">".stripslashes($cat['nom_'.$_SESSION['langue'].''])."</a></td></tr>";

    Car dans ma barre d'adresse j'ai ceci :

    http://127.0.0.1/achat/index.php?catid=11&...<td%20align=

    Et à mon avis, c'est pô normal :)


  3. Hé hé, cela a bien résolu l'un des deux problèmes, celui de l'erreur en bas de page sur la page achat/index.php.

    Il reste celle du menu catégorie (l'arbre dont je parle dans le premier post.

    Il s'agit bien de la fonction noeud_parent_cat() de template.php :

    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 &agrave; tester
    $sql=mysql_query("SELECT id, parent_id FROM peel_categories WHERE id = $aktul_cat");
    // r&eacute;cup&egrave;re le r&eacute;sultat
    $cat=mysql_fetch_array($sql);
    // Appel r&eacute;cursif jusqu'&agrave; la racine
    parent_noeud_cat($noeud_cat,$cat['parent_id'],$actif_cat);
    // Si le noeud test&eacute; est le noeud recherch&eacute;
    if($cat['parent_id']==$noeud_cat){
    // Met le drapeau &agrave; 1
    $actif_cat=1;
    }
    }
    }[/codebox]

    Cette fonction est appelée par la fonction construit_menu_arborescent_cat qui elle a toujours été appelée, même avant que je n'affiche les catégories en page d'accueil. Seulement cette fonction possède des paramètres :

    function construit_menu_arborescent_cat(&$sortie_cat, &$selectionne_cat, $parent_cat=0, $indent_cat=-1)

    Et elle même passe des paramètre à parent_noeud_cat :

    parent_noeud_cat($cat['id'],$catid, $actif_cat=0);

    La fonction construit_menu_arborescent est :

    [codebox]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&eacute;es
    while($cat = mysql_fetch_array($qid)){
    // Boucle pour ajouter l'indentation (une image vide)
    // Pour aller plus loin on peut g&eacute;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&eacute;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);
    // Si il y a des enfants
    if ($div_cat) {
    // Ajout de l'icone du dossier
    $sortie_cat .= "<img src='$wwwroot/images/triangle_haut_orange.gif' border=0>&nbsp;";
    // Ajout du lien (identique &agrave; construit menu)
    $sortie_cat .= "<a class=menuleft 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&eacute;gorie et d&eacute;bute un calque DIV ayant pour ID l'Id de la cat&eacute;gorie
    $sortie_cat .= stripslashes($cat['nom_'.$_SESSION['langue'].'']);

    // if (!empty($cat['nb'])) {$sortie_cat .= " (".$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"; sam : affichage direct des sous menus
    $sortie_cat.= " style=\"display:yes\">\n";
    }
    }
    // Sinon, c'est un document
    else{
    // Ajoute l'image du document
    $sortie_cat .= "<img src='$wwwroot/images/puces_texte_footer.gif' border=0>&nbsp;";
    // Ajoute le lien (identique &agrave; 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 .= stripslashes($cat['nom_'.$_SESSION['langue'].'']);

    // if (!empty($cat['nb'])) {$sortie_cat .= " (".$cat['nb'].") "; }

    $sortie_cat .= "</a></b><br />";
    }
    // Si c'est un noeud (cat&eacute;gorie)
    if($div_cat){
    // Appel r&eacute;cursif pour ajout des enfants
    construit_menu_arborescent_cat($sortie_cat, $selectionne_cat, $cat['id'], $indent_cat);
    // Ferme le calque
    $sortie_cat.="</div>";
    }
    }
    }
    }

    Elle est appelée dans haut.php comme ceci :

    <!-- CATALOGUE PRODUIT -->	
    <table border="0" cellspacing="0" cellpadding="0" width="220" style="border-top:0px solid #EEEEEE;border-left:0px solid #EEEEEE;border-right:0px solid #EEEEEE;padding-top:16px;padding-left:5px;padding-right:5px;padding-bottom:16px;">
    <tr><td class="normal2" width="220">
    <?php
    echo "<div class=\"entete\"><img src=\"$wwwroot/images/fleche.gif\">&nbsp;".CATALOG."</div>";

    if (!isset($_GET['catid'])) { $catid = 0; } else {$catid = $_GET['catid']; }

    $frm['parent'] = array($catid);

    construit_menu_arborescent_cat($categorie_options, $frm['parent']);

    echo "<div style=\"padding:4px\">".$categorie_options."</div>";

    ?>
    </td></tr>
    </table>
    <!-- FIN PRODUIT -->[/codebox]

    Je soupçonne qu'un paramètre soit correct dans le cas où on affiche l'arborescence en page d'accueil, mais pas lorsque qu'on entre dans une catégorie...

    En fait je pense que cette fonction n'était pas appelée jusqu'à présent car je n'utilisais pas l'affichage des catégories en page d'accueil.


  4. Non aucune,

    j'ai juste voulu utiliser l'affichage des catégories en page d'accueil, que je n'utilisais pas jusque là.

    J'ai donc ajouté l'appel à la fonction print_categorie() dans la page index.php car il n'y était pas.

    Dès lors l'image des catégories d'affiche bien en page d'accueil. Lorsque je clique sur l'image de l'une d'entre elles, cela engendre l'affichage de la page achat/index.php, avec les articles de la catégorie.

    Mais dans cette page, j'ai l'erreur en question dans l'arbre des catégories en colonne de gauche. Mais l'arbre est tout de même correctement affiché.

    De plus je viens de constater que j'ai une seconde erreur de ce type en base de page :

    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\achat\index.php on line 142
    [/codebox]

    Les lignes en question sont :

    [codebox]//Boutons pr&eacute;c&eacute;dent et suivant
    if($start)
    {print("<a class=petit href=\"achat/index.php?catid=".$catid."&start=".($start-$nb)."\">Page pr&eacute;c&eacute;dente</a>");}

    $result=mysql_query("SELECT COUNT(*) FROM peel_produits p, peel_produits_categories pc WHERE p.id = pc.produit_id AND pc.categorie_id = $catid AND p.etat = 1");

    $row=mysql_fetch_row($result);

    if($row[0]>($start+$nb))
    {
    if($start)
    {print(" / ");}
    print("<a class=petit href=\"achat/index.php?catid=".$catid."&start=".($start+$nb)."\">Page suivante</a>");
    }

    La ligne 142 est le $row=mysql_fetch_row($result);

    Voila toute l'histoire... :)


  5. Bonjour,

    J'ai un

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\modeles\default\template.php on line 411
    [/codebox]

    La fonction est :

    [codebox]// 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_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 &agrave; tester
    $sql=mysql_query("SELECT id, parent_id FROM peel_categories WHERE id = $aktul_cat");
    // r&eacute;cup&egrave;re le r&eacute;sultat
    $cat=mysql_fetch_array($sql);
    // Appel r&eacute;cursif jusqu'&agrave; la racine
    parent_noeud_cat($noeud_cat,$cat['parent_id'],$actif_cat);
    // Si le noeud test&eacute; est le noeud recherch&eacute;
    if($cat['parent_id']==$noeud_cat){
    // Met le drapeau &agrave; 1
    $actif_cat=1;
    }
    }
    }

    Quelqu'un aurait une petite idée ?


  6. Je pense que nous serions tous très friend d'un petit cours de référencement de la part d' eric-lavoisier.

    Cette question nous tiens forcément tous à coeur, et c'est un sujet très vaste et complexe.

    Pour ma part, j'essaie de m'inspirer au mieux des conseils de webrankinfo mais bon.... un peu de tri et un tuto simple qui va à l'essentiel, je n'ose plus l'espérer :P

    Un grand merci d'avance donc à Eric s'il trouve un peu de temps pour nous rédiger cela... :)

    Sam.


  7. Pas sûr car dans ma versin (2.9), la fonction d'envoi de mail de la page fonciton.php n'est pas forcément appelée, et l'envoi des mails est le plus souvent géré directement dans la page fin_commande.php.

    Je pense qu'il faut donc vérifier dans cette page.

    Tu dois trouver des blocs :

    CASE CHECK

    CASE TRANSFER

    CASE CB

    CASE PAYPAL

    Il faut voir ce qui se trouve dans ces blocs te voir si l'envoi des mails n'y est pas directement géré.


  8. Oui mais encore faut-il que le robot qui te spamme sache qu'on attend une réponse à un calcul ce qui est peu probable.

    Les robots déchiffrent les cryptos, mais comme veux tu qu'ils sachent qu'il faut partir à la recherche d'un script de calcul mathématique. Où alors, on retombe dans le spam humain et là, il n'y a rien à faire... :)


  9. Pour conclure ce sujet, en fait la démarche de TinyMCE est d'intégrer les balises <p> dans la BDD. C'est assez logique.

    De fait, le PDF ne les interprète pas. Donc l'idéal est d'ajouter un strip_tags. Mais ce faisant, on perd du coup les renvois à la ligne.

    Conclusion, pour arrêter de tourner en rond, je vais retirer TinyMCE... après tout, quelques balises à la main ne seront pas si pénibles que ça :)

    En tout cas, merci une fois de plus à Paulanna et Willy de s'être intéressé à mon post. :unsure:


  10. oui en effet le strip_tags enleve donc tous les tags

    faut voir nl2br

    maintenant pour faire du code html dans le PDF, c'est délicat pour l'expliquer vraiment, fais des recherches sur le net

    En fait je pense qu'il ne faut pas toucher au PDF.

    Mais la situation se résume juste à cela :

    Lorsque je modifie ma commande client (commande.php, fonction update commande) par le BO, l'entrée dans la Base de donnée (table commande) n'est plus la même qu'avant l'install de tinyMCE.

    Avant l'install :

    NOM Prenom

    Adresse

    Tel

    Mail

    Après l'install :

    <p>Nom Prenom</p><p>Adresse</p><p>Tel</p><p>Mail</p>

    Donc la question se réusme simplement à : pourquoi TinyMCE n'écrit pas dans la BDD de la même manière qu'avant ?


  11. Ha oui, il y a aussi l'hirstoire de ligne blanche... Classique :)

    Sinon pour tes lignes, tu lui demandes de faire koi enter chaque ligne ?

    des <BR> ?

    Willy

    J'aimerais bien justement qu'il me mette des <BR>.

    J'ai ceci :

    <td colspan=4 class=normal><textarea name="facturation" rows="10"><?=html_entity_decode($commande->client_info1)?></textarea></td>

    En fait, si modifie l'adresse du client pour ajouter les retours à la ligne, c'est bien loliement interprété dans la page commande_detail.php, mais dans la facture pdf, il ajoute des <p></p> à la place des retours à la ligne, sans les interpréter.


  12. Bon j'ai toujours un hic, depuis que j'ai installé TinyMCE, lorsque je rentre en modif sur un article par exemple, j'ai un warning en haut de page :

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/freestyle/domains/freestyle-creation.com/public_html/administrer/articles.php:2) in /home/freestyle/domains/freestyle-creation.com/public_html/configuration.inc.php on line 79

    Cela ne se produit qu'en gestion des articles.

    C'est grave docteur ?

    De plus, lorsque je rentre dans une commande (commande_detal.php), l'adresse de livraison de mon client se retrouve tout sur une seule ligne. C'est ennuyeux car de fait, c'est également ce qui apparait sur la facture.

    Avant l'installation, j'avait bien un retour à la ligne après le nom, l'adresse, le tel... pour que ca se présente correctement.

    Quelqu'un a déjà eu le problème ?

    :)

Twitter Advisto ecommerce

Facebook PEEL Shopping