Changeset 10243 in spip-zone


Ignore:
Timestamp:
Mar 8, 2007, 6:54:36 AM (14 years ago)
Author:
coyote90@…
Message:

maj... correctifs divers...

Location:
_plugins_/_dev_/acces_groupes/1_9_2
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_dev_/acces_groupes/1_9_2/accesgroupes_pipelines.php

    r10027 r10243  
    2424                $flux['data'] .= accesgroupes_formulaire_zones('auteurs', $id_auteur, $nouv_zone, $supp_zone, $connect_statut == '0minirezo', generer_url_ecrire('auteurs_edit',"id_auteur=$id_auteur"));
    2525        }
     26       
     27        if ($exec == 'naviguer' && $flux['args']['id_rubrique'] > 0){
     28                if( isset($GLOBALS['auteur_session']['id_auteur'])){
     29                // le formulaire qu'on ajoute
     30                $r = "";
     31                $r .= debut_cadre('couleur', _DIR_PLUGINS_ACCESGROUPES."/img_pack/groupe-24.png", '', 'Groupes');
     32                $r .= bouton_block_invisible("grpacces", _DIR_PLUGINS_ACCESGROUPES."/img_pack/groupe-24.png") ;
     33                //$r .= debut_block_invisible('grpacces');
     34                $r .= debut_cadre_formulaire(true);
     35                $r .= accesgroupes_formulaire_rejoindre_groupe($flux['args']['id_rubrique'],$GLOBALS['auteur_session']['id_auteur']);
     36                $r .= fin_cadre_formulaire(true);
     37                //$r .= fin_block_invisible('grpacces');
     38                $r .= fin_cadre('couleur');
     39                $flux['data'] .= $r;
     40                }
     41        }
    2642        return $flux;
    2743}
  • _plugins_/_dev_/acces_groupes/1_9_2/exec/accesgroupes_admin.php

    r10027 r10243  
    4848        define('_DIR_PLUGIN_ACCESGROUPES',(_DIR_PLUGINS.$pp[0]));
    4949       
    50         $url_auteur = ($GLOBALS['spip_version_code']>1.92)?"auteur_infos":"auteurs_edit";
     50        $url_auteur = (($GLOBALS['spip_version_code']>1.92)?"auteur_infos":"auteurs_edit");
    5151        $url_naviguer = "naviguer";
    5252        // initialisation d'un éventuel message de maintenance + état d'erreur potentiel
  • _plugins_/_dev_/acces_groupes/1_9_2/inc/accesgroupes_options.php

    r10027 r10243  
    1111//       merci ESJ pour la subtilité du include() php à la place du inclure_spip()
    1212$exec = _request('exec'); // si on est dans l'espace privé : intégrer le fichier concerné par la surcharge
     13/*
     14// coyote - modif v1.0.3 on ne modifie plus les exec_xxx.php
    1315if (in_array($exec, array('naviguer','rubriques_edit','articles','articles_edit','articles_versions','breves_edit'))) {  // ,'breves_voir'
    1416        // inclure uniquement le fichier exec dont a besoin ET utiliser un include() php et non pas include_spip() pour ne pas se faire couillonner par find_in_path()
     
    1719        include_spip('inc/accesgroupes_prive');
    1820}
    19 
     21*/
     22if (defined("_ECRIRE_INC_VERSION")){
     23        // appel de la gestion de l'espace privé...
     24        include_spip('inc/accesgroupes_prive');
     25}
    2026// CACHE : nécessité d'un cache différencié selon les rubriques autorisées/restreintes
    2127//   ajouter un marqueur de cache pour permettre de differencier le cache en fonction des rubriques autorisees
     
    3642
    3743// fct pour construire et renvoyer le tableau des rubriques à accès restreint dans la partie PUBLIQUE
    38 //              clone de la fct accesgroupes_liste_rubriques_restreintes() de inc/accesgroupes_fonctions.php
     44//      clone de la fct accesgroupes_liste_rubriques_restreintes() de inc/accesgroupes_fonctions.php
    3945function accesgroupes_combin($id_parent = 0) {
    4046        $id_parent = intval($id_parent); // securite                                     
     
    7581        }
    7682}
    77 
    78 
    7983
    8084// détermine si une rubrique $rub est restreinte ou non (en fct de la provenance $prive_public : prive | public)
     
    505509                // trouver si c'est la rubrique en cours qui est restreinte ou un de ses ascendants
    506510                $id_rub_restreinte = accesgroupes_trouve_parent_restreint($id_rubrique, $provenance_prive_public);
    507                 $sql22 = "SELECT spip_accesgroupes_acces.id_grpacces,
     511                $sql22 = "SELECT DISTINCT spip_accesgroupes_acces.id_grpacces,
    508512                                                spip_accesgroupes_groupes.nom
    509513                                                FROM spip_accesgroupes_acces
     
    595599        global $connect_statut, $connect_toutes_rubriques, $options;
    596600        global $connect_id_auteur;
    597         global $spip_lang_rtl, $spip_lang_right;       
     601        global $spip_lang_rtl, $spip_lang_right;
    598602        $exec = $flux['args']['exec'];
    599603        $auteur=((isset($_GET['id_auteur']))?$_GET['id_auteur']:0); // Auteur en cours...
     
    649653}
    650654
    651 function accesgroupes_formulaire_rejoindre_groupe($auteur) {
     655function accesgroupes_formulaire_rejoindre_groupe($id_rubrique,$auteur) {
    652656                $out = "";
    653657                $out = generer_url_post_ecrire("auteur_infos","id_auteur=$auteur");
     
    655659                $out.= "<br />"._T('accesgroupes:choix_groupe');
    656660                // trouver si c'est la rubrique en cours qui est restreinte ou un de ses ascendants
    657                 //$id_rub_restreinte = accesgroupes_trouve_parent_restreint($id_rubrique, $provenance_prive_public);
    658                 $sql22 = "SELECT spip_accesgroupes_acces.id_grpacces,
     661                $where= "";
     662                if ($id_rubrique > 0){
     663                $id_rub_restreinte = accesgroupes_trouve_parent_restreint($id_rubrique, $provenance_prive_public);
     664                $where = " AND id_rubrique = $id_rubrique ";
     665                }
     666               
     667                $sql22 = "SELECT DISTINCT spip_accesgroupes_acces.id_grpacces,
    659668                                                spip_accesgroupes_groupes.nom
    660669                                                FROM spip_accesgroupes_acces
     
    663672                                                WHERE demande_acces = 1
    664673                                                AND actif = 1
     674                                                $where
    665675                                ";
    666676                $result22 = spip_query($sql22);
    667                 //echo '<br>mysql_error $sql22 = '.mysql_error();                                                                       
     677                //echo "<br>$sql22<br>mysql_error sql22 = ".mysql_error();
    668678                $out.= " <select name=\"groupe_demande_acces\" size=\"1\">";
    669679                while ($row22 = spip_fetch_array($result22)) {
  • _plugins_/_dev_/acces_groupes/1_9_2/inc/accesgroupes_prive.php

    r10027 r10243  
    11<?php
    2 function autoriser_rubrique_voir($faire, $type, $id, $qui, $opt) {
     2include_spip("inc/accesgroupes_fonctions");
     3
     4function autoriser_rubrique_creerarticledans($faire, $type, $id, $qui, $opt) {
    35        static $rub_exclues=NULL;
    46        if ($rub_exclues===NULL){
    5                 $rub_exclues = accesgroupes_combin_prive();
     7                $rub_exclues = accesgroupes_liste_rubriques_restreintes();
     8                $rub_exclues = array_flip($rub_exclues);
     9        }
     10       
     11        if (isset($rub_exclues[$id]))
     12        return $id AND false;
     13        return $id AND true;
     14}
     15
     16function autoriser_rubrique_voir0($faire, $type, $id, $qui, $opt) {
     17        static $rub_exclues=NULL;
     18        if ($rub_exclues===NULL){
     19                $rub_exclues = accesgroupes_liste_rubriques_restreintes();
    620                $rub_exclues = array_flip($rub_exclues);
    721        }
     
    1327
    1428function autoriser_article_voir($faire, $type, $id, $qui, $opt) {
     29        static $art_exclus=NULL;
    1530        //echo "$faire $type $id $qui $opt";
    16         return accesgroupes_autoriser($id,$type);
    17        
     31        if ($art_exclus===NULL){
     32                $art_exclus = accesgroupes_liste_articles_restreints();
     33                $art_exclus = array_flip($art_exclus);
     34        }
     35        //echo "<pre>".print_r($art_exclus)."</pre>";
     36        if (isset($art_exclus[$id]))
     37        return false;
     38        return true;
    1839}
    1940
    20 // fct pour construire et renvoyer le tableau des rubriques à accès restreint dans la partie PRIVE
    21 //               clone de la fct accesgroupes_liste_rubriques_restreintes() de inc/accesgroupes_fonctions.php
    22 function accesgroupes_combin_prive($id_parent = 0) {
    23         $id_parent = intval($id_parent); // securite
    24         static $Trub_restreintes; // nécessaire pour que la suite ne soit éxécutée qu'une fois par hit (même si on à n BOUCLES)
    25         if (!is_array($Trub_restreintes)) {
    26                 $Trub_restreintes = array();
    27                 // attaquer à la racine pour mettre tout de suite les éventuels secteurs restreints dans le tableau ce qui accélèrera la suite
    28                 $sql1 = "SELECT id_rubrique, id_parent, id_secteur FROM spip_rubriques";
    29                 $result1 = spip_query($sql1);
    30                 while ($row1 = spip_fetch_array($result1)) {
    31                         $rub_ec = $row1['id_rubrique'];
    32                         $parent_ec = $row1['id_parent'];
    33                         $sect_ec = $row1['id_secteur'];
    34                         // si le parent ou le secteur est déja dans le tableau : vu le principe d'héritage pas la peine d'aller plus loin :)
    35                         /*       if (in_array($parent_ec, $Trub_restreintes) OR in_array($sect_ec, $Trub_restreintes)) {
    36                                         $Trub_restreintes[] = $rub_ec;
    37                                 }
    38                         // sinon c'est plus couteux : il faut faire le test complet de la restriction de la rubrique pour espace public
    39                                 else {*/
    40                         if (accesgroupes_verif_acces($rub_ec, 'prive') == 1 OR accesgroupes_verif_acces($rub_ec, 'prive') == 2) {
    41                                 $Trub_restreintes[] = $rub_ec;
    42                         }
    43                         //       }
    44                 }
     41function autoriser_breves_voir($faire, $type, $id, $qui, $opt) {
     42        static $bre_exclues=NULL;
     43        //echo "$faire $type $id $qui $opt";
     44        if ($bre_exclues===NULL){
     45                $bre_exclues = accesgroupes_liste_breves_restreintes();
     46                $bre_exclues = array_flip($bre_exclues);
    4547        }
    46         //echo '<br>tableau des rubriques = ';
    47         //print_r($Trub_restreintes);
    48         return $Trub_restreintes;
     48        //echo "<pre>".print_r($bre_exclues)."</pre>";
     49        if (isset($bre_exclues[$id]))
     50        return false;
     51        return true;
    4952}
    5053
    51 function accesgroupes_autoriser($id,$type){
    52         static $rub_exclues=NULL;
    53         if ($rub_exclues===NULL){
    54                 $rub_exclues = accesgroupes_combin_prive(0);
    55                 $rub_exclues = array_flip($rub_exclues);
     54function autoriser_forums_voir($faire, $type, $id, $qui, $opt) {
     55        static $for_exclus=NULL;
     56        //echo "$faire $type $id $qui $opt";
     57        if ($for_exclus===NULL){
     58                $for_exclus = accesgroupes_liste_forums_restreints();
     59                $for_exclus = array_flip($for_exclus);
    5660        }
    57         switch($type){
    58         case 'article':
    59                 $table = "articles";
    60                 $champ = "id_article";
    61                 break;
    62         case 'breve';
    63                 $table = "breves";
    64                 $champ = "id_breve";
    65                 break;
    66         case 'forum';
    67                 $table = "forum";
    68                 $champ = "id_forum";
    69                 break;
    70         case 'syndic':
    71                 $table = "syndic";
    72                 $champ = "id_syndic";
    73                 break;
    74         default:
    75         }
    76         // Trouver la rubrique d'appartenance...
    77         $sql = "select id_rubrique from spip_$table where spip_$champ = $id limit 1";
    78         $res = spip_query($sql);
    79         while ($row=spip_fetch_array($res));
    80         // Tester si la rubrique troucée fait partie des rubriques exclues.
    81         if (in_array($row['id_rubrique'],array($rub_exclues))){
    82                 return  false;
    83         }else{
    84                 return  true;
    85         }
     61        //echo "<pre>".print_r($bre_exclues)."</pre>";
     62        if (isset($for_exclus[$id]))
     63        return false;
     64        return true;
    8665}
    8766?>
  • _plugins_/_dev_/acces_groupes/1_9_2/plugin.xml

    r10027 r10243  
    5151</pipeline>
    5252<pipeline>
     53<!--
    5354<nom>affiche_milieu</nom>
    5455<inclure>accesgroupes_pipelines.php</inclure>
    5556</pipeline>             
     57-->
    5658</plugin>
    5759
Note: See TracChangeset for help on using the changeset viewer.