Changeset 32268 in spip-zone


Ignore:
Timestamp:
Oct 21, 2009, 8:16:30 PM (10 years ago)
Author:
marcimat@…
Message:

Changements :

  • trier les suggestions par date
  • fermer les suggestions et commentaires : on oblige les identifications et inscriptions.
Location:
_galaxie_/programmer.spip.org
Files:
15 edited
1 copied

Legend:

Unmodified
Added
Removed
  • _galaxie_/programmer.spip.org/plugin_documentation/body-layout.html

    r31435 r32268  
    22                [(#REM) Entete de la page + titre du site ]
    33        <div id="header">
    4                 <INCLURE{fond=inclure/entete}{id_rubrique}{id_article}>                         
     4                <INCLURE{fond=inclure/entete, id_rubrique, id_article} />                               
    55        </div>
    66       
     
    1010                [(#REM) Appeler le fond contenu/article ou contenu/article-xxx si un modele est passe
    1111                                        en declinant pour chaque type ]
    12                         <INCLURE{fond=contenu/#ENV{type}|concat{#ENV{presentation,''}|?{-#ENV{presentation}}}}{env}>
     12                        <INCLURE{fond=contenu/#ENV{type}|concat{#ENV{presentation,''}|?{-#ENV{presentation}}}}{env} />
    1313                </div>
    1414                <div id="links">
    1515                        [(#REM) Menu de navigation laterale ]
    16                         <INCLURE{fond=navigation/#ENV{type}}{env}>
     16                        <INCLURE{fond=navigation/#ENV{type}, env} />
    1717           
    1818                        [(#REM) Menu de navigation laterale ]
    19                         <INCLURE{fond=extra/#ENV{type}}{env}>           
     19                        <INCLURE{fond=extra/#ENV{type}, env} />         
    2020                </div>
    2121        </div>
     
    2323        <div id="footer">
    2424                [(#REM) Pied de page ]
    25                 <INCLURE{fond=inclure/pied}{lang=#ENV{lang}}>
     25                <INCLURE{fond=inclure/pied, lang=#ENV{lang}, self=#SELF} />
    2626        </div>
    2727</div>
  • _galaxie_/programmer.spip.org/plugin_documentation/contenu/page-editer_suggestion.html

    r31998 r32268  
    66                <h1 class="titre">#GET{texte}</h1>
    77        </div>
    8         #FORMULAIRE_EDITER_TICKET{#ENV{id_ticket,oui},#URL_PAGE{suggestion}}
     8        [(#AUTORISER{modifier,ticket,#ENV{id_ticket,oui}})
     9                #FORMULAIRE_EDITER_TICKET{#ENV{id_ticket,oui},#URL_PAGE{suggestion}}
     10        ]
     11        [(#AUTORISER{modifier,ticket,#ENV{id_ticket,oui}}|non)
     12                <p><:documentation:tickets_sur_inscription:>
     13                        [(#CONFIG{accepter_inscriptions}|=={oui}|oui) <a href="#URL_PAGE{inscription}"><:documentation:sinscrire:></a> ]
     14                </p>
     15               
     16                <h2 class='titre'><:documentation:titre_identification:></h2>
     17                [(#FORMULAIRE_LOGIN{#SELF})]
     18        ]       
    919</div>
  • _galaxie_/programmer.spip.org/plugin_documentation/contenu/page-suggestion.html

    r31828 r32268  
    7676                #FORMULAIRE_FORUM_TICKET{#ID_TICKET}
    7777        ]
     78        [(#AUTORISER{commenter, ticket, #ID_TICKET}|non)
     79                <p><:documentation:tickets_sur_inscription:>
     80                        [(#CONFIG{accepter_inscriptions}|=={oui}|oui) <a href="#URL_PAGE{inscription}"><:documentation:sinscrire:></a> ]
     81                </p>
     82               
     83                <h2 class='titre'><:documentation:titre_identification:></h2>
     84                [(#FORMULAIRE_LOGIN{#SELF})]   
     85        ]
    7886</div>
    7987</BOUCLE_suggestion_contenu>
  • _galaxie_/programmer.spip.org/plugin_documentation/documentation_autorisations.php

    r30770 r32268  
    11<?php
    2 
    32
    43function documentation_autoriser(){}
    54
    6 // Autorisation de commenter des tickets
    7 function autoriser_ticket_commenter($faire, $type, $id, $qui, $opt){
    8         // toujours
    9         return true;
    10 }
    11 
    12 // Autorisation de creer ou modifier des tickets
    13 function autoriser_ticket_creer($faire, $type, $id, $qui, $opt){
    14         return autoriser("ecrire", "ticket", $id, $qui, $opt);
    15 }
    16 
    17 // Autorisation de creer ou modifier des tickets
    18 function autoriser_ticket_ecrire($faire, $type, $id, $qui, $opt){
    19         // creer : toujours
    20         if (!intval($id)) return true;
    21         // modifier : admin ou le redacteur de ticket.
    22         if (!$qui['id_auteur']) return false;
    23         if ($qui['statut'] == '0minirezo' AND !$qui['restreint']) return true;
    24         return sql_allfetsel("id_auteur", "spip_tickets", "id_auteur=" . $qui['id_auteur']);
    25 }
    265
    276?>
  • _galaxie_/programmer.spip.org/plugin_documentation/documentation_pipelines.php

    r32220 r32268  
    3131}
    3232
    33 
    34 
    35 function doc_nospam_tester_spam($texte, $params) {
    36         $infos = analyser_spams($texte);
    37         if ($infos['nombre_liens'] > 0) {
    38                 foreach ($params as $desc) {
    39                         list($nom, $op, $val) = $desc;
    40                         eval("\$test = (\$infos['$nom'] $op $val);");
    41                         if ($test) {
    42                                 return true;
    43                         }
    44                 }
    45         }
    46         return false;
    47 }
    48 
    49 
    50 // verifier qu'un ticket identique n'a pas ete publie il y a peu
    51 function test_doublon_ticket($champs, $table='spip_tickets'){
    52         $champs[] = "maj>DATE_SUB(NOW(),INTERVAL 1 hour)";
    53         return sql_countsel($table, $champs);
    54 }
    55 
    56 // verifier que cette ip n'en est pas a son N-ieme post en peu de temps
    57 // plus de 5 messages en 5 minutes c'est suspect ...
    58 function test_ticket_ip_furieuse(){
    59         $champs = array();
    60         $champs[] = 'ip=' . sql_quote($GLOBALS['ip']);
    61         $champs[] =  "maj>DATE_SUB(NOW(),INTERVAL 10 minute)";
    62         $nb1 = sql_countsel('spip_tickets',$champs);
    63         $nb2 = sql_countsel('spip_tickets_forum',$champs);
    64         if (($nb1 + $nb2) > 5) {
    65                 return true;
    66         }       
    67         return false;
    68 }
    69 
    70 
    71 
    72                        
    73 // ne pas accepter ce qu'on peut appeler du spam
    74 function documentation_formulaire_verifier($flux){
    75         if ($flux['args']['form'] == 'editer_ticket'
    76         OR  $flux['args']['form'] == 'forum_ticket') {
    77                 if (include_spip('inc/nospam')) {
    78                         $is_commentaire = ($flux['args']['form'] == 'forum_ticket');
    79                        
    80                         $testsA = $testsB = $testsC = $testsM = array(
    81                                 array('caracteres_texte_lien_min', '<', 4),
    82                                 array('nombre_liens', '>', 3),
    83                                 array('caracteres_utiles', '<', 10),
    84                         );
    85                         $testsB[1][2] = 0; // nombre_liens > 0
    86                         $testsC[1][2] = 1; // nombre_liens > 1
    87                         $testsC[2][2] = 3; // caracteres_utiles < 3
    88                         $testsM[2][2] = 5; // caracteres_utiles < 5
    89 
    90                         if (!$is_commentaire) { // ticket
    91                                 if (doc_nospam_tester_spam(_request('texte'),   $testsA)
    92                                 or  doc_nospam_tester_spam(_request('titre'),   $testsB)
    93                                 or  doc_nospam_tester_spam(_request('exemple'), $testsC)) {
    94                                         $flux['data']['message_erreur'] .= _T('nospam:erreur_spam');
    95                                 }
    96                         } else { // commentaire
    97                                 if (doc_nospam_tester_spam(_request('texte'),   $testsM)) {
    98                                         $flux['data']['message_erreur'] .= _T('nospam:erreur_spam');
    99                                 }
    100                         }
    101                         // doublons
    102                         $table = $is_commentaire ? 'spip_tickets_forum' : 'spip_tickets';
    103                         if (test_doublon_ticket(array('texte='. sql_quote(_request('texte'))), $table)) {
    104                                 $flux['data']['message_erreur'] .= _T('nospam:erreur_spam_doublon');
    105                         }
    106                         // ip vilaine
    107                         if (test_ticket_ip_furieuse()) {
    108                                 $flux['data']['message_erreur'] .= _T('nospam:erreur_spam_ip');
    109                         }                       
    110                 }
    111         }
    112         return $flux;
    113 }
    11433
    11534// ajouter automatiquement des title "art30" sur les raccourcis [->art30]
  • _galaxie_/programmer.spip.org/plugin_documentation/editer_suggestion.html

    r30784 r32268  
    11[(#PLUGIN{tickets}|oui)
    2 <INCLURE{fond=layout}{env}{type=page}{composition=editer_suggestion} />
     2<INCLURE{fond=layout, env, type=page, composition=editer_suggestion} />
    33]
  • _galaxie_/programmer.spip.org/plugin_documentation/inclure/liste_suggestions.html

    r31553 r32268  
    1616        </thead>
    1717        <tbody>
    18 <BOUCLE_detaillee(TICKETS){par severite}{par type}{!par date}{pagination 10 #GET{hash_pagination}}{id_auteur?}{id_assigne?}{statut IN #ENV{statut,.*}}{type?}{jalon?}>
     18<BOUCLE_detaillee(TICKETS){!par date}{pagination 10 #GET{hash_pagination}}{id_auteur?}{id_assigne?}{statut IN #ENV{statut,.*}}{type?}{jalon?}>
    1919                <tr class="[(#COMPTEUR_BOUCLE|alterner{odd,even})]">
    2020                        <td><img[ src="(#CHEMIN{[prive/images/(#STATUT|tickets_icone_statut)]})"][ alt="(#STATUT|tickets_texte_statut)"][ title="(#STATUT|tickets_texte_statut)"] /></td>
  • _galaxie_/programmer.spip.org/plugin_documentation/inclure/pied.html

    r31925 r32268  
    11<div class='liens'>
    2         <a href="http://www.spip.net/" title="<:site_realise_avec_spip:>"><img src="#CHEMIN{spip.png}" alt="SPIP" width="48" height="16" /></a> |
    3         <a href="#URL_ECRIRE"><:espace_prive:></a> |
    4         [(#CONFIG{accepter_inscriptions}|=={oui}|oui)<a href="#URL_PAGE{inscription}"><:documentation:sinscrire:></a> | ]
     2        <a href="http://www.spip.net/" title="<:site_realise_avec_spip:>"><img src="#CHEMIN{spip.png}" alt="SPIP" width="48" height="16" /></a>[
     3        (#SESSION{id_auteur}|oui)| <a href="#URL_LOGOUT" rel="nofollow"><:icone_deconnecter:></a>
     4        ][(#SESSION{id_auteur}|non)| <a href="[(#URL_PAGE{login}|parametre_url{url,#SELF})]" rel="nofollow" class='login_modal'><:lien_connecter:></a>][
     5        (#AUTORISER{ecrire})| <a href="#URL_ECRIRE"><:espace_prive:></a>] |
     6        [(#CONFIG{accepter_inscriptions}|=={oui}|et{#SESSION{id_auteur}|non})<a href="#URL_PAGE{inscription}"><:documentation:sinscrire:></a> | ]
    57        [(#PLUGIN{tickets}|oui)<a href="#URL_PAGE{suggestions}"><:documentation:suggestions:></a> | ]
    68        <a href="#URL_PAGE{suivi}"><:documentation:suivi:></a> |
  • _galaxie_/programmer.spip.org/plugin_documentation/lang/documentation_fr.php

    r31925 r32268  
    5252       
    5353        'licence'=>"Licence",
    54        
     54
    5555        //M
    5656        'mentions_legales' => 'Mentions l&eacute;gales',
     
    9494        'traductions' => 'Traductions',
    9595        'table_des_matieres' => 'Table des matières',
     96        'tickets_sur_inscription' => "
     97                L'&eacute;criture des tickets ou commentaires ne sont
     98                possibles qu'aux personnes identifiées.
     99        ",
     100        'titre_identification' => 'Identification',
     101        'titre_inscription' => 'Inscription',
    96102
    97103);
  • _galaxie_/programmer.spip.org/plugin_documentation/layout.html

    r31599 r32268  
    22<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="#LANG" lang="#LANG" dir="#LANG_DIR">
    33<head>
    4 <INCLURE{fond=head/#ENV{type}}{env}>
    5 <INCLURE{fond=inclure/head,format}>
     4<INCLURE{fond=head/#ENV{type}, env} />
     5<INCLURE{fond=inclure/head,format} />
    66</head>
    77<body class="page_#ENV{type,page}[ #ENV{type,page}_(#ENV{composition,''})]">
  • _galaxie_/programmer.spip.org/plugin_documentation/plugin.xml

    r32010 r32268  
    55        </auteur>
    66        <lien></lien>
    7         <version>1.1.6</version>
     7        <version>1.2.0</version>
    88        <etat>test</etat>
    99    <description>
     
    2323        <pipeline>
    2424                <nom>formulaire_charger</nom>
    25                 <inclure>documentation_pipelines.php</inclure>
    26         </pipeline>
    27         <pipeline>
    28                 <nom>formulaire_verifier</nom>
    2925                <inclure>documentation_pipelines.php</inclure>
    3026        </pipeline>
  • _galaxie_/programmer.spip.org/plugin_documentation/spip_formulaires.css

    r30759 r32268  
    107107.formulaire_login .editer_password .details {display:block;}
    108108.formulaire_login #spip_logo_auteur {float:right;}
     109
     110/* Formulaire inscription, langue et login bien visibles */
     111#posts .formulaire_login,
     112#posts .formulaire_inscription,
     113#posts .formulaire_menu_lang {
     114        margin:1em; padding:.5em;
     115        border:1px solid #aaa;
     116        border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px;
     117        background:#f3f3f3;
     118}
     119#posts .formulaire_spip legend {
     120        background:#f3f3f3;
     121        margin-top:.5em;
     122}
  • _galaxie_/programmer.spip.org/plugin_documentation/suggestion.html

    r30784 r32268  
    11[(#PLUGIN{tickets}|oui)
    2 <INCLURE{fond=layout}{env}{type=page}{composition=suggestion} />
     2<INCLURE{fond=layout, env, type=page, composition=suggestion} />
    33]
  • _galaxie_/programmer.spip.org/plugin_documentation/suggestions.html

    r30784 r32268  
    11[(#PLUGIN{tickets}|oui)
    2 <INCLURE{fond=layout}{env}{type=page}{composition=suggestions} />
     2<INCLURE{fond=layout, env, type=page, composition=suggestions} />
    33]
  • _galaxie_/programmer.spip.org/plugin_documentation/ticket_forum_ouverts.php

    r32220 r32268  
    11<?php
    22
    3 
    4 function documentation_pre_boucle($boucle){
    5         // ARTICLES, RUBRIQUES : {par num titre, titre}
    6         if (in_array($boucle->type_requete, array('rubriques','articles'))
    7         AND !$boucle->order) {
    8                 $boucle->select[] = "0+" . $boucle->id_table . ".titre AS autonum";
    9                 $boucle->order[]  = "'autonum'";
    10                 $boucle->order[]  = "'" . $boucle->id_table . ".titre'";
    11         }
    12         return $boucle;
    13 }
    14 
    15 
    16 function documentation_jquery_plugins($plugins){
    17         $plugins[] = "javascript/menu_documentation.js";
    18         $plugins[] = "javascript/documentation.js";
    19         return $plugins;
    20 }
    21 
    22 // valeurs par defaut sur les nouveaux tickets
    23 function documentation_formulaire_charger($flux){
    24         if ($flux['args']['form'] == 'editer_ticket'
    25                 and (!$flux['args']['args'][0] OR $flux['args']['args'][0] == 'oui') // nouveau ticket
    26                 and !$flux['data']['type']) {
    27                         $flux['data']['type'] = 2;
    28                         $flux['data']['severite'] = 4;
    29         }
    30         return $flux;
    31 }
    32 
     3/*
     4 * Codes pour avoir des forums ouverts
     5 * sur les tickets...
     6 * Mais les spammeurs sont trop corriaces !
     7 * Ce code n'est plus actif
     8 *
     9 */
    3310
    3411
     
    11390}
    11491
    115 // ajouter automatiquement des title "art30" sur les raccourcis [->art30]
    116 // donc, transformer [->art30] en [|art30->art30]
    117 // ce qui permet a l'integrale de gerer des numeros de pages sur les liens
    118 function documentation_pre_liens($texte){       
    119         // uniquement dans le public
    120         if (test_espace_prive()) return $texte;
    12192
    122         $regs = $match = array();
    123         // pour chaque lien
    124         if (preg_match_all(_RACCOURCI_LIEN, $texte, $regs, PREG_SET_ORDER)) {   
    125                 foreach ($regs as $reg) {
    126                         // si le lien est de type raccourcis "art40"
    127                         if (preg_match(_RACCOURCI_URL, $reg[4], $match)) {
    128                                 $title = '|' . $match[1] . $match[2];
    129                                 // s'il n'y a pas deja ce title
    130                                 if (false === strpos($reg[0], $title)) {
    131                                         $lien = substr_replace($reg[0], $title, strpos($reg[0], '->'), 0);
    132                                         $texte = str_replace($reg[0], $lien, $texte);
    133                                 }
    134                         }
    135                 }       
    136         }
    137         return $texte;
     93// autorisations correspondantes :
     94function documentation_autoriser(){}
     95
     96// Autorisation de commenter des tickets
     97function autoriser_ticket_commenter($faire, $type, $id, $qui, $opt){
     98        // toujours
     99        return true;
    138100}
    139101
    140 // transformer les <a title="art30" href="xxx">zzz</a>
    141 // en <a href="#art30">zzz</a> (enfin <a title="art30" href="#art30">zzz</a> en attendant mieux)
    142 // seulement dans le squelette integrale
    143 // pour que le pdf puisse calculer les numero de page des liens
    144 function documentation_affichage_final($page){
    145         // uniquement dans le public
    146         if (test_espace_prive()) return $page;
    147        
    148         if (_request('page') == 'integrale') {
    149                 include_spip('inc/filtres');
    150                 include_spip('inc/liens');
    151                 $as = extraire_balises($page, 'a');
    152                 foreach($as as $a) {
    153                         if ($title = extraire_attribut($a, 'title')) {
    154                                 if (preg_match(_RACCOURCI_URL, $title, $match)) {
    155                                         $old_a = $a;
    156                                         // on laisse le title parce que a[href|="#"] ne semble pas pris en compte avec Prince...
    157                                         // $a = vider_attribut($a, 'title');
    158                                         $a = inserer_attribut($a, 'href', '#' . $title);
    159                                         $page = str_replace($old_a, $a, $page);
    160                                 }
    161                         }
    162                 }
    163         }
    164         return $page;
     102// Autorisation de creer ou modifier des tickets
     103function autoriser_ticket_creer($faire, $type, $id, $qui, $opt){
     104        return autoriser("ecrire", "ticket", $id, $qui, $opt);
    165105}
    166106
     107// Autorisation de creer ou modifier des tickets
     108function autoriser_ticket_ecrire($faire, $type, $id, $qui, $opt){
     109        // creer : toujours
     110        if (!intval($id)) return true;
     111        // modifier : admin ou le redacteur de ticket.
     112        if (!$qui['id_auteur']) return false;
     113        if ($qui['statut'] == '0minirezo' AND !$qui['restreint']) return true;
     114        return sql_allfetsel("id_auteur", "spip_tickets", "id_auteur=" . $qui['id_auteur']);
     115}
     116
     117
    167118?>
Note: See TracChangeset for help on using the changeset viewer.