Changeset 10243 in spip-zone
- Timestamp:
- Mar 8, 2007, 6:54:36 AM (14 years ago)
- 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 24 24 $flux['data'] .= accesgroupes_formulaire_zones('auteurs', $id_auteur, $nouv_zone, $supp_zone, $connect_statut == '0minirezo', generer_url_ecrire('auteurs_edit',"id_auteur=$id_auteur")); 25 25 } 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 } 26 42 return $flux; 27 43 } -
_plugins_/_dev_/acces_groupes/1_9_2/exec/accesgroupes_admin.php
r10027 r10243 48 48 define('_DIR_PLUGIN_ACCESGROUPES',(_DIR_PLUGINS.$pp[0])); 49 49 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"); 51 51 $url_naviguer = "naviguer"; 52 52 // initialisation d'un éventuel message de maintenance + état d'erreur potentiel -
_plugins_/_dev_/acces_groupes/1_9_2/inc/accesgroupes_options.php
r10027 r10243 11 11 // merci ESJ pour la subtilité du include() php à la place du inclure_spip() 12 12 $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 13 15 if (in_array($exec, array('naviguer','rubriques_edit','articles','articles_edit','articles_versions','breves_edit'))) { // ,'breves_voir' 14 16 // 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() … … 17 19 include_spip('inc/accesgroupes_prive'); 18 20 } 19 21 */ 22 if (defined("_ECRIRE_INC_VERSION")){ 23 // appel de la gestion de l'espace privé... 24 include_spip('inc/accesgroupes_prive'); 25 } 20 26 // CACHE : nécessité d'un cache différencié selon les rubriques autorisées/restreintes 21 27 // ajouter un marqueur de cache pour permettre de differencier le cache en fonction des rubriques autorisees … … 36 42 37 43 // fct pour construire et renvoyer le tableau des rubriques à accès restreint dans la partie PUBLIQUE 38 // 44 // clone de la fct accesgroupes_liste_rubriques_restreintes() de inc/accesgroupes_fonctions.php 39 45 function accesgroupes_combin($id_parent = 0) { 40 46 $id_parent = intval($id_parent); // securite … … 75 81 } 76 82 } 77 78 79 83 80 84 // détermine si une rubrique $rub est restreinte ou non (en fct de la provenance $prive_public : prive | public) … … 505 509 // trouver si c'est la rubrique en cours qui est restreinte ou un de ses ascendants 506 510 $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, 508 512 spip_accesgroupes_groupes.nom 509 513 FROM spip_accesgroupes_acces … … 595 599 global $connect_statut, $connect_toutes_rubriques, $options; 596 600 global $connect_id_auteur; 597 global $spip_lang_rtl, $spip_lang_right; 601 global $spip_lang_rtl, $spip_lang_right; 598 602 $exec = $flux['args']['exec']; 599 603 $auteur=((isset($_GET['id_auteur']))?$_GET['id_auteur']:0); // Auteur en cours... … … 649 653 } 650 654 651 function accesgroupes_formulaire_rejoindre_groupe($ auteur) {655 function accesgroupes_formulaire_rejoindre_groupe($id_rubrique,$auteur) { 652 656 $out = ""; 653 657 $out = generer_url_post_ecrire("auteur_infos","id_auteur=$auteur"); … … 655 659 $out.= "<br />"._T('accesgroupes:choix_groupe'); 656 660 // 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, 659 668 spip_accesgroupes_groupes.nom 660 669 FROM spip_accesgroupes_acces … … 663 672 WHERE demande_acces = 1 664 673 AND actif = 1 674 $where 665 675 "; 666 676 $result22 = spip_query($sql22); 667 //echo '<br>mysql_error $sql22 = '.mysql_error();677 //echo "<br>$sql22<br>mysql_error sql22 = ".mysql_error(); 668 678 $out.= " <select name=\"groupe_demande_acces\" size=\"1\">"; 669 679 while ($row22 = spip_fetch_array($result22)) { -
_plugins_/_dev_/acces_groupes/1_9_2/inc/accesgroupes_prive.php
r10027 r10243 1 1 <?php 2 function autoriser_rubrique_voir($faire, $type, $id, $qui, $opt) { 2 include_spip("inc/accesgroupes_fonctions"); 3 4 function autoriser_rubrique_creerarticledans($faire, $type, $id, $qui, $opt) { 3 5 static $rub_exclues=NULL; 4 6 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 16 function 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(); 6 20 $rub_exclues = array_flip($rub_exclues); 7 21 } … … 13 27 14 28 function autoriser_article_voir($faire, $type, $id, $qui, $opt) { 29 static $art_exclus=NULL; 15 30 //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; 18 39 } 19 40 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 } 41 function 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); 45 47 } 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; 49 52 } 50 53 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); 54 function 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); 56 60 } 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; 86 65 } 87 66 ?> -
_plugins_/_dev_/acces_groupes/1_9_2/plugin.xml
r10027 r10243 51 51 </pipeline> 52 52 <pipeline> 53 <!-- 53 54 <nom>affiche_milieu</nom> 54 55 <inclure>accesgroupes_pipelines.php</inclure> 55 56 </pipeline> 57 --> 56 58 </plugin> 57 59
Note: See TracChangeset
for help on using the changeset viewer.