Changeset 54449 in spip-zone


Ignore:
Timestamp:
Nov 14, 2011, 5:52:39 PM (8 years ago)
Author:
kent1@…
Message:

Correction d'un gros bug sur les autorisations ...

On gère mieux dans les squelettes lorsque l'on ne dispose pas des droits suffisants ...

On incrémente

Location:
_plugins_/tickets/branches/v1.1
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/tickets/branches/v1.1/contenu/page-editer_ticket.html

    r50194 r54449  
    1212        ]
    1313        [(#AUTORISER{ecrire,ticket,#ENV{id_ticket,oui}}|non)
    14                 <p><:tickets:tickets_sur_inscription:>
    15                         [(#CONFIG{accepter_inscriptions}|=={oui}|oui) <a href="#URL_PAGE{inscription}"><:tickets:sinscrire:></a> ]
    16                 </p>
    17 
    18                 <h2 class='titre'><:tickets:titre_identification:></h2>
    19                 [(#FORMULAIRE_LOGIN{#SELF})]
     14                [(#SESSION{id_auteur}|non)
     15                        <p><:tickets:tickets_sur_inscription:>
     16                                [(#CONFIG{accepter_inscriptions}|=={oui}|oui) <a href="#URL_PAGE{inscription}"><:tickets:sinscrire:></a> ]
     17                        </p>
     18       
     19                        <h2 class='titre'><:tickets:titre_identification:></h2>
     20                        [(#FORMULAIRE_LOGIN{#SELF})]
     21                ]
     22                [(#SESSION{id_auteur}|oui)
     23                        <p>
     24                                <:tickets:tickets_sur_inscription:>
     25                        </p>
     26                        <p>
     27                                <:tickets:tickets_sur_inscription_droits:>
     28                        </p>
     29                ]
    2030        ]
    2131</div>
  • _plugins_/tickets/branches/v1.1/contenu/ticket.html

    r54421 r54449  
    11<BOUCLE_ticket_contenu(TICKETS){id_ticket}>
    22<div id="hierarchie"><a href="#URL_SITE_SPIP/"><:accueil_site:></a><span class="sep"> &gt; </span><a href="#URL_PAGE{tickets}"><:tickets:tickets:></a>[<span class="sep"> &gt; </span><strong class="on">(#TITRE|couper{80})</strong>]</div>
    3 
     3[(#AUTORISER{commenter, ticket, #ID_TICKET}|oui)
     4[(#SET{autoriser_commenter,oui})]]
    45<div class="ticket contenu-principal">
    56
     
    7576                        [(#MODELE{comment}{id_forum}{compteur=#COMPTEUR_BOUCLE}{thread=oui})]
    7677                        [(#BOUTONS_ADMIN_FORUM)]
     78                        [(#GET{autoriser_commenter}|=={oui}|oui)
    7779                        [<p class="repondre"><a
    7880                                href="(#PARAMETRES_FORUM|url_reponse_forum)"
    7981                                onclick="jQuery(this).add_reply_to([(#ID_FORUM)]);return false;"
    80                                 rel="noindex nofollow"><:repondre_message:></a></p>]
     82                                rel="noindex nofollow"><:repondre_message:></a></p>]]
    8183                        <B_comments-fils>
    8284                        <ul class="comments-ul comments-fils">
     
    8587                                        [(#MODELE{comment}{id_forum}{thread=oui})]
    8688                                        [(#BOUTONS_ADMIN_FORUM)]
     89                                        [(#GET{autoriser_commenter}|=={oui}|oui)
    8790                                        [<p class="repondre"><a
    8891                                                href="(#PARAMETRES_FORUM|url_reponse_forum)"
    8992                                                onclick="jQuery(this).add_reply_to([(#ID_FORUM)]);return false;"
    90                                                 rel="noindex nofollow"><:repondre_message:></a></p>]
     93                                                rel="noindex nofollow"><:repondre_message:></a></p>]]
    9194                                        <BOUCLE_comments-fils-etc(boucle_comments-fils)></BOUCLE_comments-fils-etc>
    9295                                </li>
     
    112115                                        <INCLURE{fond=modeles/comment}{id_forum}{thread=oui}>
    113116                                        [(#BOUTONS_ADMIN_FORUM)]
     117                                        [(#GET{autoriser_commenter}|=={oui}|oui)
    114118                                        [<p class="repondre"><a
    115119                                                href="(#PARAMETRES_FORUM|url_reponse_forum)"
    116120                                                onclick="jQuery(this).add_reply_to([(#ID_THREAD)]);return false;"
    117                                                 rel="noindex nofollow"><:repondre_message:></a></p>]
     121                                                rel="noindex nofollow"><:repondre_message:></a></p>]]
    118122                                </li>
    119123                                </BOUCLE_comments-fils-1>
    120124                        </ul>
    121125                        </B_comments-fils-1>
     126                        [(#GET{autoriser_commenter}|=={oui}|oui)
    122127                        [<p class="repondre"><a
    123128                                        href="(#PARAMETRES_FORUM|url_reponse_forum)"
    124129                                        onclick="jQuery(this).add_reply_to([(#ID_THREAD)]);return false;"
    125                                         rel="noindex nofollow"><:repondre_message:></a></p>]
     130                                        rel="noindex nofollow"><:repondre_message:></a></p>]]
    126131                </li>
    127132                </BOUCLE_comments-list-1>
     
    154159        </B_messages>
    155160        [(#REM) Bloc 3: formulaire d'ajout d'un commentaire sur le ticket]
    156         [(#AUTORISER{commenter, ticket, #ID_TICKET}|oui)
     161        [(#GET{autoriser_commenter}|=={oui}|oui)
    157162                #FORMULAIRE_FORUM{#SELF}
    158163        ]
    159         [(#AUTORISER{commenter, ticket, #ID_TICKET}|non)
    160                 <p><:tickets:tickets_sur_inscription:>
    161                         [(#CONFIG{accepter_inscriptions}|=={oui}|oui) <a href="#URL_PAGE{inscription}"><:tickets:sinscrire:></a> ]
    162                 </p>
    163 
    164                 <h2 class='titre'><:tickets:titre_identification:></h2>
    165                 [(#FORMULAIRE_LOGIN{#SELF})]
     164        [(#GET{autoriser_commenter}|=={oui}|non)
     165                [(#SESSION{id_auteur}|non)
     166                        <p><:tickets:tickets_sur_inscription:>
     167                                [(#CONFIG{accepter_inscriptions}|=={oui}|oui) <a href="#URL_PAGE{inscription}"><:tickets:sinscrire:></a> ]
     168                        </p>
     169       
     170                        <h2 class='titre'><:tickets:titre_identification:></h2>
     171                        [(#FORMULAIRE_LOGIN{#SELF})]
     172                ]
     173                [(#SESSION{id_auteur}|oui)
     174                        <p>
     175                                <:tickets:tickets_sur_inscription:>
     176                        </p>
     177                        <p>
     178                                <:tickets:tickets_sur_inscription_droits:>
     179                        </p>
     180                ]
    166181        ]
    167182</div>
  • _plugins_/tickets/branches/v1.1/fonds/cfg_tickets_autorisations.html

    r35952 r54449  
    11<!-- titre=<:tickets:cfg_titre_tickets:> -->
    22<!-- descriptif=<:tickets:cfg_descr_tickets:> -->
     3<!-- onglet=tickets -->
    34<!-- icone=imgs/bugs.png -->
    45<!-- logo=imgs/logo-bugs.png -->
    56<!-- boite=<:tickets:cfg_titre_tickets:> - <:tickets:cfg_form_tickets_autorisations:>-->
     7<!-- liens*=tickets:tickets_general -->
    68<!-- liens*=tickets:tickets_autorisations -->
    7 <!-- liens*=tickets:tickets_general -->
    89#CACHE{0}
    910
  • _plugins_/tickets/branches/v1.1/fonds/cfg_tickets_general.html

    r36016 r54449  
    11<!-- titre=<:tickets:cfg_titre_tickets:> -->
    2 <!-- onglet=tickets -->
     2<!-- liens*=tickets:tickets_general -->
    33<!-- liens*=tickets:tickets_autorisations -->
    4 <!-- liens*=tickets:tickets_general -->
    54<!-- icone=imgs/bugs.png -->
    65<!-- logo=imgs/logo-bugs.png -->
  • _plugins_/tickets/branches/v1.1/formulaires/config_tickets_autorisations.html

    r36016 r54449  
    1616        </div></form>
    1717</div>
    18 <div id="bloc_debug">
    19         <h3> Debug - Etat des variables du fond:</h3>
    20         #CFG_ARBO{tickets/autorisations}
    21 </div>
  • _plugins_/tickets/branches/v1.1/formulaires/config_tickets_general.html

    r51690 r54449  
    9292        </div></form>
    9393</div>
    94 <div id="bloc_debug">
    95         <h3> Debug - Etat des variables du fond:</h3>
    96         #CFG_ARBO{tickets/general}
    97 </div>
  • _plugins_/tickets/branches/v1.1/inc/tickets_autoriser.php

    r54427 r54449  
    7171        $utiliser_defaut = true;
    7272
    73         if(autoriser_ticket_modifier_dist($faire, $type, $id, $qui, $opt)){
    74                 return autoriser_ticket_modifier_dist($faire, $type, $id, $qui, $opt);
     73        if(autoriser('modifier', $type, $id, $qui, $opt)){
     74                return autoriser('modifier', $type, $id, $qui, $opt);
    7575        }
    7676        // Utilisation du CFG si possible
     
    245245        $utiliser_defaut = true;
    246246
    247         // Si l'auteur en question est l'auteur assigné au ticket,
    248         // il peut modifier le ticket
    249         if(intval($id)){
    250                 $id_assigne = sql_getfetsel('id_assigne','spip_tickets','id_ticket='.intval($id));
    251                 if($id_assigne && ($id_assigne == $qui['id_auteur'])){
    252                         return true;
    253                 }
    254         }
    255         // Utilisation du CFG si possible
    256         if(function_exists('lire_config')){
    257                 $type = lire_config('tickets/autorisations/modifier_type', 'par_statut');
    258                 switch($type) {
    259                         case 'webmestre':
    260                                 // Webmestres uniquement
    261                                 $autorise = ($qui['webmestre'] == 'oui');
    262                                 break;
    263                         case 'par_statut':
    264                                 // Traitement spécifique pour la valeur 'tous'
    265                                 if(in_array('tous',lire_config('tickets/autorisations/modifier_statuts',array()))){
    266                                         return true;
    267                                 }
    268                                 // Autorisation par statut
    269                                 $autorise = in_array($qui['statut'], lire_config('tickets/autorisations/modifier_statuts',array('0minirezo')));
    270                                 break;
    271                         case 'par_auteur':
    272                                 // Autorisation par id d'auteurs
    273                                 $autorise = in_array($qui['id_auteur'], lire_config('tickets/autorisations/modifier_auteurs',array()));
    274                                 break;
    275                 }
    276                 if($autorise == true){
    277                         return $autorise;
    278                 }
    279         }
    280 
    281         // Si pas de configuration CFG, on utilise des valeurs par défaut
    282         if($type){
    283                 $utiliser_defaut = false;
    284         }
    285 
    286         // Si $utiliser_defaut = true, on utilisera les valeurs par défaut
    287         // Sinon on ajoute la possibilité de régler par define
    288         $liste = definir_autorisations_tickets('modifier',$utiliser_defaut);
    289         if ($liste['statut'])
    290                 $autorise = in_array($qui['statut'], $liste['statut']);
    291         else if ($liste['auteur'])
    292                 $autorise = in_array($qui['id_auteur'], $liste['auteur']);
    293         if(!$autorise){
    294                 $id_auteur = sql_getfetsel('id_auteur','spip_tickets','id_ticket='.intval($id));
    295                 if($id_auteur = $qui['id_auteur'])
    296                         $autorise = true;
     247        if(is_numeric($id)){
     248                // Si l'auteur en question est l'auteur assigné au ticket,
     249                // il peut modifier le ticket
     250                if(intval($id)){
     251                        $id_assigne = sql_getfetsel('id_assigne','spip_tickets','id_ticket='.intval($id));
     252                        if($id_assigne && ($id_assigne == $qui['id_auteur'])){
     253                                return true;
     254                        }
     255                }
     256                // Utilisation du CFG si possible
     257                if(function_exists('lire_config')){
     258                        $type = lire_config('tickets/autorisations/modifier_type', 'par_statut');
     259                        switch($type) {
     260                                case 'webmestre':
     261                                        // Webmestres uniquement
     262                                        $autorise = ($qui['webmestre'] == 'oui');
     263                                        break;
     264                                case 'par_statut':
     265                                        // Traitement spécifique pour la valeur 'tous'
     266                                        if(in_array('tous',lire_config('tickets/autorisations/modifier_statuts',array()))){
     267                                                return true;
     268                                        }
     269                                        // Autorisation par statut
     270                                        $autorise = in_array($qui['statut'], lire_config('tickets/autorisations/modifier_statuts',array('0minirezo')));
     271                                        break;
     272                                case 'par_auteur':
     273                                        // Autorisation par id d'auteurs
     274                                        $autorise = in_array($qui['id_auteur'], lire_config('tickets/autorisations/modifier_auteurs',array()));
     275                                        break;
     276                        }
     277                        if($autorise == true){
     278                                return $autorise;
     279                        }
     280                }
     281       
     282                // Si pas de configuration CFG, on utilise des valeurs par défaut
     283                if($type){
     284                        $utiliser_defaut = false;
     285                }
     286       
     287                // Si $utiliser_defaut = true, on utilisera les valeurs par défaut
     288                // Sinon on ajoute la possibilité de régler par define
     289                $liste = definir_autorisations_tickets('modifier',$utiliser_defaut);
     290                if ($liste['statut'])
     291                        $autorise = in_array($qui['statut'], $liste['statut']);
     292                else if ($liste['auteur'])
     293                        $autorise = in_array($qui['id_auteur'], $liste['auteur']);
     294                if(!$autorise){
     295                        $id_auteur = sql_getfetsel('id_auteur','spip_tickets','id_ticket='.intval($id));
     296                        if($id_auteur == $qui['id_auteur'])
     297                                $autorise = true;
     298                }
    297299        }
    298300        return $autorise;
  • _plugins_/tickets/branches/v1.1/lang/tickets_en.php

    r54432 r54449  
    191191        'tickets_general' => 'General',
    192192        'tickets_sticked' => 'Sticked bug reports',
    193         'tickets_sur_inscription' => "
    194                 Bug report or comment only available for registered users.
    195         ",
     193        'tickets_sur_inscription' => "Bug report or comment only available for registered users.",
     194        'tickets_sur_inscription_droits' => 'The rights you have are inadequate.',
    196195        'tickets_traites' => 'All processed bug reports',
    197196        'tickets_tries' => 'Bug reports matching your criteria',
  • _plugins_/tickets/branches/v1.1/lang/tickets_fr.php

    r54432 r54449  
    192192        'tickets_general' => 'Général',
    193193        'tickets_sticked' => 'Tickets épinglés',
    194         'tickets_sur_inscription' => "
    195                 L'écriture des tickets ou commentaires n'est
    196                 possible qu'aux personnes identifiées.
    197         ",
     194        'tickets_sur_inscription' => "L'écriture des tickets ou commentaires n'est possible qu'aux personnes identifiées.",
     195        'tickets_sur_inscription_droits' => 'Les droits dont vous disposez sont insuffisants.',
    198196        'tickets_traites' => 'Tous les tickets traités',
    199197        'tickets_tries' => 'Tickets correspondant à vos critères',
  • _plugins_/tickets/branches/v1.1/plugin.xml

    r54440 r54449  
    2525        <icon>imgs/logo-bugs.png</icon>
    2626
    27         <version>1.9.1</version>
     27        <version>1.9.2</version>
    2828        <version_base>1.4</version_base>
    2929        <etat>stable</etat>
Note: See TracChangeset for help on using the changeset viewer.