Crabs Contents Management System

crabs_cms-1.0.4 ©2006-2008 - Christophe Cazajus (crabs-mettre_le_signe_at-crabs-world.com)

~~ / DEFAUT / forum.xsl
Makefile param.php index.html site.xsl site.css forum.xsl forum.css album.png dernier.png haut.png precedent.png premier.png slide.png suivant.png vide.png
    1 <?xml version="1.0" encoding="iso-8859-15" ?>
    2 <xsl:stylesheet
    3     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    4     version="1.0">
    5 <xsl:output encoding="iso-8859-15" method="html"
    6     doctype-public="-//W3C//DTD HTML 4.01//EN"
    7     doctype-system="http://www.w3.org/TR/html4/strict.dtd" />
    8 <xsl:strip-space elements="*"/>
    9 <xsl:preserve-space elements="index dossier article nouveaute"/>
   10 <!--GPL-->
   11 <!--
   12    =============================================================================
   13     crabs_cms-1.0.4 : Crabs Contents Management System
   14     Copyright (C) 2006-2008 : Christophe Cazajus (crabs-mettre_le_signe_at-crabs-world.com)
   15 
   16     Ce source fait partie d'un projet logiciel libre. Vous pouvez le distribuer
   17     et/ou le modifier en respectant les termes de la GNU General Public License
   18     version 2 ou (suite a votre propre choix) une version ulterieure.
   19 
   20     Ce programme est distribue dans l'espoir qu'il puisse etre utile, mais
   21     sans aucune garantie, meme si il est associe a un produit qui vous en
   22     propose une. Conformez-vous a la GNU General Public License pour avoir
   23     plus de precisions.
   24 
   25     L'auteur ne peut etre tenu responsable de l'utilisation faite des
   26     composantes associees a ce projet (en partie ou dans leur totalite).
   27 
   28     Une copie du fichier de la GNU GPL est fournie dans le repertoire DOC
   29     de ce projet sous le nom gnu_gpl.txt
   30 
   31    =============================================================================
   32 -->
   33 <!--
   34 ###                                                     ####
   35 ###     LA PAGE                                         ####
   36 ###                                                     ####
   37 -->
   38 <xsl:template match="/">
   39 <html>
   40 <head>
   41     <link rel="stylesheet" href="{//document/root}/STYLE/forum.css"
   42         type="text/css" />
   43     <title><xsl:value-of select="//document/titre"/></title>
   44     <xsl:if test="//document/description">
   45         <meta name="description" content="{//document/description}"/>
   46     </xsl:if>
   47 </head>
   48 <body>
   49     <div id="logo"><xsl:value-of select="//document/titre"/></div>
   50     <div id="menu_principal">
   51         <xsl:choose><xsl:when test="//document/membre">
   52             <span class="a_droite">
   53                 <a href="{//document/root}/MEMBRE/logout.php"
   54                 title="Redevenir anonyme"
   55                 >Déconnexion</a>
   56             </span>
   57             <span class="a_droite">
   58                 <a href="{//document/root}/MEMBRE/GESTION/"
   59                 title="Gestion du site"
   60                 >Membres</a>
   61             </span>
   62             <span class="a_droite">
   63                 <a href="contribution.php"
   64                 title="vos contributions et messages dans le forum"
   65                 >Contributions</a>
   66             </span>
   67         </xsl:when><xsl:when test="//document/forum_membre">
   68             <span class="a_droite">
   69                 <a href="{//document/root}/FORUM/logout.php"
   70                 title="Redevenir anonyme"
   71                 >Déconnexion</a>
   72             </span>
   73             <span class="a_droite">
   74                 <a href="contribution.php"
   75                 title="vos contributions et messages dans le forum"
   76                 >Contributions</a>
   77             </span>
   78         </xsl:when><xsl:otherwise>
   79             <span class="a_droite">
   80                 <a href="{//document/root}/membre.php"
   81                 title="Reservé aux membres"
   82                 >Connexion</a>
   83             </span>
   84         </xsl:otherwise></xsl:choose>
   85         <xsl:apply-templates select="//document/menu/item" mode="menu"/>
   86         <span class="item">
   87             <a href="index.php" title="Accéder au forum du site"
   88                 >Forums</a>
   89         </span>
   90     </div>
   91     <xsl:apply-templates />
   92     <div class="charte">
   93     <xsl:variable name="post">
   94         <xsl:choose><xsl:when test="//document/membre">
   95             <xsl:text>oui</xsl:text>
   96         </xsl:when><xsl:when test="//document/forum_membre">
   97             <xsl:text>oui</xsl:text>
   98         </xsl:when><xsl:otherwise>
   99             <xsl:text>non</xsl:text>
  100         </xsl:otherwise></xsl:choose>
  101     </xsl:variable>
  102     <xsl:choose><xsl:when  test="$post='non'">
  103         <p>Suite à l'utilisation abusive des forums publics par des
  104         &#xab;&#160;robots spammer&#160;&#xbb; vous devez ouvrir un
  105         compte pour participer aux forums.</p>
  106         <p>Vous choisirez votre pseudo, qui ne devra pas déjà être
  107         utilisé, et vous préciserez une adresse mail valide. Cette adresse
  108         ne servira qu'aux services propres à votre connexion&#160;:</p>
  109         <ul>
  110          <li>recevoir le mail de confirmation de l'inscription,</li>
  111          <li>recevoir, dans le cas de l'oubli de l'actuel, un nouveau mot de
  112          passe (uniquement à cette adresse).</li>
  113         </ul>
  114         <p>Nous nous engageons à conserver ces informations uniquement dans
  115         le cadre du fonctionnement du site afin de vous permettre de participer
  116         aux forums.</p>
  117         <p>Utiliser le lien suivant pour vous inscrire :
  118         <a href="inscrire.php">Vous inscrire</a>.</p>
  119         <p>Si vous disposez d'un compte valide, utilisez la page de connexion
  120         (lien &#xab;connexion&#xbb; dans le menu en haut de la page).</p>
  121         <p>Votre navigateur devra être comptible avec le XML + XSL, cas de la
  122         plus part des navigateurs modernes. Afin de le vérifier, veillez à ce
  123         que la page d'inscription s'affiche correctement.</p>
  124     </xsl:when><xsl:otherwise>
  125         <p>écrire la charte</p>
  126     </xsl:otherwise></xsl:choose>
  127     </div>
  128     <div id="bas_de_page">
  129         <p>Site de demonstration de Crabs-CMS</p>
  130         <!-- merci de laisser ce lien -->
  131         <p><a href="http://www.crabs-world.com/">
  132             <img src="{//document/root}/IMAGES/crabe.jpeg"
  133                 alt="Développement Crabs CMS sur le Monde de Crabs"
  134                 title="Développement Crabs CMS sur le Monde de Crabs"
  135                 width="100" height="40" />
  136         </a></p>
  137     </div>
  138 </body>
  139 </html>
  140 </xsl:template>
  141 
  142 <!-- ICI les elements à ingnorer -->
  143 <xsl:template match="titre"></xsl:template>
  144 <xsl:template match="accueil"></xsl:template>
  145 <xsl:template match="root"></xsl:template>
  146 <xsl:template match="urladd"></xsl:template>
  147 <xsl:template match="ext"></xsl:template>
  148 <xsl:template match="description"></xsl:template>
  149 <xsl:template match="menu"></xsl:template>
  150 <xsl:template match="liste"></xsl:template>
  151 
  152 <xsl:template match="item" mode="menu">
  153     <span class="item">
  154     <a href="{//document/root}/{//document/urladd}{@page}.{//document/ext}"
  155         title="{@titre}"
  156     ><xsl:value-of select="@titre_item"/></a>
  157     </span>
  158 </xsl:template>
  159 
  160 <!--
  161 ###                                                     ####
  162 ###     PAGE : LA LISTE DES FORUMS                      ####
  163 ###                                                     ####
  164 -->
  165 <xsl:template match="forums">
  166     <div id="forums">
  167         <h1>Les forums</h1>
  168         <xsl:apply-templates mode="forums" />
  169     </div>
  170 </xsl:template>
  171 <xsl:template match="forum" mode="forums">
  172     <div class="forum">
  173         <div class="titre">
  174             <a href="forum.php?f={@fid}"><xsl:value-of select="titre"/></a>
  175         </div>
  176         <div class="info"><xsl:value-of select="info"/></div>
  177         <div class="item">forum '<xsl:value-of select="item"/>'</div>
  178     </div>
  179 </xsl:template>
  180 <!--
  181 ###                                                     ####
  182 ###     PAGE : LA LISTE DES THREADS                     ####
  183 ###                                                     ####
  184 -->
  185 <xsl:template match="threads">
  186     <div id="forums">
  187         <xsl:apply-templates mode="threads" select="forums"/>
  188         <h1><xsl:value-of select="forums/forum[@courant='oui']/titre"/></h1>
  189         <table class="threads">
  190             <tr>
  191                 <th>Sujet</th>
  192                 <th>Auteur</th>
  193                 <th>Date</th>
  194                 <th colspan="2">Réponses</th>
  195             </tr>
  196             <xsl:apply-templates mode="threads" select="thread"/>
  197         </table>
  198         <xsl:if test="@post='oui'">
  199             <xsl:variable name="pseudo">
  200                 <xsl:choose><xsl:when test="//document/membre">
  201                     <xsl:value-of select="//document/membre/@pseudo"/>
  202                 </xsl:when><xsl:when test="//document/forum_membre">
  203                     <xsl:value-of select="//document/forum_membre/@pseudo"/>
  204                 </xsl:when><xsl:otherwise>
  205                     <xsl:text>Inconnu (pas normal...)</xsl:text>
  206                 </xsl:otherwise></xsl:choose>
  207             </xsl:variable>
  208             <form method="post" action="thread_ouvrir.php"><table>
  209                 <input type="hidden" name="pseudo" value="{$pseudo}"/>
  210                 <input type="hidden" name="fid" value="{@fid}"/>
  211                 <tr><th colspan="2">Ouvrir une discussion</th></tr>
  212                 <tr>
  213                     <td class="label">Pseudo :</td>
  214                     <td class="saisie"><xsl:value-of select="$pseudo"/></td>
  215                 </tr><tr>
  216                     <td class="label">Sujet :</td>
  217                     <td class="saisie">
  218                         <input type="text" size="60" name="titre" value=""/>
  219                     </td>
  220                 </tr><tr>
  221                     <td class="label">Message :</td>
  222                     <td class="saisie">
  223                         <textarea name="question" rows="12" cols="60"
  224                             ></textarea>
  225                     </td>
  226                 </tr><tr>
  227                     <td class="bouton" colspan="2">
  228                         <input name="ok" value="Envoyer" type="submit" />
  229                     </td>
  230                 </tr>
  231             </table></form>
  232         </xsl:if>
  233         <xsl:apply-templates mode="threads" select="forums"/>
  234     </div>
  235 </xsl:template>
  236 <xsl:template match="forums" mode="threads">
  237     <div class="acces_forums">
  238         <xsl:text>Les forums : </xsl:text>
  239         <xsl:apply-templates mode="threads" select="forum"/>
  240     </div>
  241 </xsl:template>
  242 <xsl:template match="forum" mode="threads">
  243     <xsl:if test="position()&gt;1">, </xsl:if>
  244     <a href="forum.php?f={@fid}" title="Aller sur le forum '{titre}'">
  245         <xsl:value-of select="item"/>
  246     </a>
  247 </xsl:template>
  248 <xsl:template match="thread" mode="threads">
  249     <tr>
  250         <td>
  251             <a href="thread.php?q={qid}"><xsl:value-of select="titre"/></a>
  252         </td>
  253         <td style="width:70px;"><xsl:value-of select="qui"/></td>
  254         <td style="width:40px;"><xsl:value-of select="quand"/></td>
  255         <td style="width:180px;">
  256             <xsl:if test="nb_reponse &gt; 0">
  257                 <a href="thread.php?q={qid}#fr{lqid}">
  258                     <xsl:value-of select="lqui"/>
  259                     <xsl:text> le </xsl:text>
  260                     <xsl:value-of select="lquand"/>
  261                 </a>
  262             </xsl:if>
  263         </td>
  264         <td style="width:20px;"><xsl:value-of select="nb_reponse"/></td>
  265     </tr>
  266 </xsl:template>
  267 <!--
  268 ###                                                     ####
  269 ###     PAGE : LES MESSAGES D'UN THREAD                 ####
  270 ###                                                     ####
  271 -->
  272 <xsl:template match="thread">
  273     <div id="forums">
  274         <xsl:apply-templates mode="threads" select="forums"/>
  275         <h1><xsl:value-of select="le_thread/sujet"/></h1>
  276         <p class="action">
  277             <a href="forum.php?f={@fid}">
  278                 <xsl:value-of select="forums/forum[@courant='oui']/titre"/>
  279             </a>
  280             <xsl:text> (</xsl:text>
  281             <xsl:value-of select="forums/forum[@courant='oui']/item"/>
  282             <xsl:text>)</xsl:text>
  283         </p>
  284         <xsl:apply-templates mode="thread" select="le_thread/message"/>
  285         <xsl:choose><xsl:when test="@ouvert='Y'">
  286             <xsl:if test="@post='oui'">
  287                 <xsl:variable name="pseudo">
  288                     <xsl:choose><xsl:when test="//document/membre">
  289                         <xsl:value-of select="//document/membre/@pseudo"/>
  290                     </xsl:when><xsl:when test="//document/forum_membre">
  291                         <xsl:value-of select="//document/forum_membre/@pseudo"/>
  292                     </xsl:when><xsl:otherwise>
  293                         <xsl:text>Inconnu (pas normal...)</xsl:text>
  294                     </xsl:otherwise></xsl:choose>
  295                 </xsl:variable>
  296                 <form method="post" action="thread_repondre.php"><table>
  297                     <input type="hidden" name="pseudo" value="{$pseudo}"/>
  298                     <input type="hidden" name="fid" value="{@fid}"/>
  299                     <input type="hidden" name="qid" value="{@qid}"/>
  300                     <tr><th colspan="2">Continuer la discussion</th></tr>
  301                     <tr>
  302                         <td class="label">Pseudo :</td>
  303                         <td class="saisie"><xsl:value-of select="$pseudo"/></td>
  304                     </tr><tr>
  305                         <td class="label">Sujet :</td>
  306                         <td class="saisie">
  307                             <xsl:value-of select="le_thread/sujet"/>
  308                         </td>
  309                     </tr><tr>
  310                         <td class="label">Message :</td>
  311                         <td class="saisie">
  312                             <textarea name="reponse" rows="12" cols="60"
  313                             ></textarea>
  314                         </td>
  315                     </tr><tr>
  316                         <td class="bouton" colspan="2">
  317                             <input name="ok" value="Envoyer" type="submit" />
  318                         </td>
  319                     </tr>
  320                 </table></form>
  321             </xsl:if>
  322         </xsl:when><xsl:otherwise>
  323             <p class="ferme">Cette discussion est fermée.</p>
  324         </xsl:otherwise></xsl:choose>
  325         <xsl:apply-templates mode="threads" select="forums"/>
  326     </div>
  327 </xsl:template>
  328 
  329 <xsl:template match="message" mode="thread">
  330     <div class="message">
  331         <div class="qui_quand">
  332             <xsl:text>Par </xsl:text>
  333             <xsl:value-of select="pseudo"/>
  334             <xsl:text>, le </xsl:text>
  335             <xsl:value-of select="date"/>
  336             <a name="{@table}{@id}">&#160;</a>
  337         </div>
  338         <div class="texte"><xsl:copy-of select="texte"/></div>
  339         <xsl:if test="//document/thread/@modere='oui'">
  340             <p class="action">
  341                 <a href="modere.php?t={@table}&amp;id={@id}&amp;q={../../@qid}">Modérer</a>
  342                 <xsl:text>, </xsl:text>
  343                 <a href="supprime.php?t={@table}&amp;id={@id}&amp;f={../../@fid}&amp;q={../../@qid}">supprimer</a>
  344                 <xsl:text>, </xsl:text>
  345                 <xsl:choose><xsl:when test="//document/thread/@ouvert='Y'">
  346                     <a href="ferme.php?q={//document/thread/@qid}">fermer</a>
  347                 </xsl:when><xsl:otherwise>
  348                     <a href="ouvre.php?q={//document/thread/@qid}">ouvrir</a>
  349                 </xsl:otherwise></xsl:choose>
  350                 <xsl:text>.</xsl:text>
  351             </p>
  352         </xsl:if>
  353     </div>
  354 </xsl:template>
  355 
  356 <xsl:template match="modere">
  357     <div id="forums">
  358     <form method="post" action="modere_done.php"><table>
  359         <input type="hidden" name="table" value="{@table}"/>
  360         <input type="hidden" name="id" value="{@id}"/>
  361         <input type="hidden" name="qid" value="{@qid}"/>
  362         <tr><th colspan="2">Modérer la discussion</th></tr>
  363         <xsl:if test="titre">
  364             <tr>
  365                 <td class="label">Sujet :</td>
  366                 <td class="saisie">
  367                     <input type="text" size="60" name="titre" value="{titre}"/>
  368                 </td>
  369             </tr>
  370         </xsl:if>
  371         <tr>
  372             <td class="label">Message :</td>
  373             <td class="texte">
  374                 <textarea name="texte" rows="12" cols="60"
  375                     ><xsl:value-of select="texte"/></textarea>
  376             </td>
  377         </tr><tr>
  378             <td class="bouton" colspan="2">
  379                 <input name="ok" value="Modérer" type="submit" />
  380             </td>
  381         </tr>
  382     </table></form>
  383     </div>
  384 </xsl:template>
  385 
  386 <xsl:template match="inscrire">
  387     <div id="forums">
  388     <xsl:for-each select="erreur|info">
  389         <p class="{name()}"><xsl:value-of select="text()"/></p>
  390     </xsl:for-each>
  391     <xsl:if test="@formulaire='oui'">
  392         <form method="post" action="inscrire.php"><table>
  393             <tr><th colspan="2">Création d'un compte Forum</th></tr>
  394             <tr>
  395                 <td class="label">Pseudo :</td>
  396                 <td class="saisie">
  397                     <input type="text" size="32" name="p" value="{pseudo}"/>
  398                 </td>
  399             </tr>
  400             <tr>
  401                 <td class="label">Email :</td>
  402                 <td class="saisie">
  403                     <input type="text" size="64" name="e" value="{email}"/>
  404                 </td>
  405             </tr>
  406             <tr>
  407                 <td class="bouton" colspan="2">
  408                     <input name="ok" value="Envoyer" type="submit" />
  409                 </td>
  410             </tr>
  411         </table></form>
  412     </xsl:if>
  413     </div>
  414 </xsl:template>
  415 
  416 <xsl:template match="confirme">
  417     <div id="forums">
  418     <xsl:for-each select="erreur|info">
  419         <p class="{name()}"><xsl:value-of select="text()"/></p>
  420     </xsl:for-each>
  421     <xsl:if test="@formulaire='oui'">
  422         <form method="post" action="confirme.php"><table>
  423             <input type="hidden" name="c" value="{cle}"/>
  424             <tr><th colspan="2">Confirmation de la création d'un compte</th></tr>
  425             <tr>
  426                 <td class="label">Pseudo :</td>
  427                 <td class="saisie">
  428                     <input type="text" size="32" name="p" value="{pseudo}"/>
  429                 </td>
  430             </tr>
  431             <tr>
  432                 <td class="label">Mot de Passe :</td>
  433                 <td class="saisie">
  434                     <input type="password" size="32" name="op" value=""/>
  435                 </td>
  436             </tr>
  437             <tr>
  438                 <td class="label">Nouveau Mot de Passe :</td>
  439                 <td class="saisie">
  440                     <input type="password" size="32" name="np1" value=""/>
  441                 </td>
  442             </tr>
  443             <tr>
  444                 <td class="label">Confirmation :</td>
  445                 <td class="saisie">
  446                     <input type="password" size="32" name="np2" value=""/>
  447                 </td>
  448             </tr>
  449             <tr>
  450                 <td class="bouton" colspan="2">
  451                     <input name="ok" value="Confirmer" type="submit" />
  452                 </td>
  453             </tr>
  454         </table></form>
  455     </xsl:if>
  456     </div>
  457 </xsl:template>
  458 <!--
  459 ###                                                     ####
  460 ###     PAGE : LES CONTRIBUTIONS                        ####
  461 ###                                                     ####
  462 -->
  463 <xsl:template match="contributions">
  464     <div id="forums">
  465         <xsl:apply-templates mode="threads" select="forums"/>
  466         <h1>Contributions</h1>
  467         <table class="threads">
  468             <tr>
  469                 <th>Sujet</th>
  470                 <th>Auteur</th>
  471                 <th>Date</th>
  472                 <th colspan="2">Réponses</th>
  473             </tr>
  474             <xsl:apply-templates mode="contrib" select="thread"/>
  475         </table>
  476         <xsl:apply-templates mode="threads" select="forums"/>
  477     </div>
  478 </xsl:template>
  479 
  480 <xsl:template match="thread" mode="contrib">
  481     <tr>
  482         <td>
  483             <a href="thread.php?q={qid}"><xsl:value-of select="titre"/></a>
  484         </td>
  485         <td style="width:70px;"><xsl:value-of select="qui"/></td>
  486         <td style="width:40px;"><xsl:value-of select="quand"/></td>
  487         <td style="width:180px;">
  488             <xsl:if test="nb_reponse &gt; 0">
  489                 <a href="thread.php?q={qid}#fr{lqid}">
  490                     <xsl:value-of select="lqui"/>
  491                     <xsl:text> le </xsl:text>
  492                     <xsl:value-of select="lquand"/>
  493                 </a>
  494             </xsl:if>
  495         </td>
  496         <td style="width:20px;"><xsl:value-of select="nb_reponse"/></td>
  497     </tr>
  498 </xsl:template>
  499 
  500 </xsl:stylesheet>
  501 
Makefile param.php index.html site.xsl site.css forum.xsl forum.css album.png dernier.png haut.png precedent.png premier.png slide.png suivant.png vide.png
~~ / DEFAUT / forum.xsl

Haut de page

Contacter crabs

Date de génération : 24/10/2008 21:34