[SPIP Zone] r3552 - in /_contribs_/_acces_groupes_: AccesGroupes.zip ecrire/accesgroupes_admin.php3 ecrire/accesgroupes_demande.php3 ecrire/lang/accesgroupes_de.php3 ecrire/mes_options-jpk.php3 squelette/formulaire_groupes.html squelette/formulaire_groupe

Author: coyote90@free.fr
Date: Tue Jun 13 07:19:51 2006
New Revision: 3552

Log:
Correction modification groupe
Renomme les fonctions en AccesGroupes_ en prévision du plugin
Ajout langue allemande (traduction de Martin Rass)
Ajoute .zip pour récup de la dernière version avec un seul fichier (utile pour les non utilisateur de svn)

Added:
    _contribs_/_acces_groupes_/AccesGroupes.zip (with props)
    _contribs_/_acces_groupes_/ecrire/lang/accesgroupes_de.php3
Modified:
    _contribs_/_acces_groupes_/ecrire/accesgroupes_admin.php3
    _contribs_/_acces_groupes_/ecrire/accesgroupes_demande.php3
    _contribs_/_acces_groupes_/ecrire/mes_options-jpk.php3
    _contribs_/_acces_groupes_/squelette/formulaire_groupes.html
    _contribs_/_acces_groupes_/squelette/formulaire_groupes.php3

Added: _contribs_/_acces_groupes_/AccesGroupes.zip

Binary file - no diff available.

Propchange: _contribs_/_acces_groupes_/AccesGroupes.zip
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: _contribs_/_acces_groupes_/ecrire/accesgroupes_admin.php3

--- _contribs_/_acces_groupes_/ecrire/accesgroupes_admin.php3 (original)
+++ _contribs_/_acces_groupes_/ecrire/accesgroupes_admin.php3 Tue Jun 13 07:19:51 2006
@@ -1,6 +1,6 @@
<?php
/*
- Gestion des acces auw rubriques et articles par groupes d'utilisateurs
+Gestion des accès aux rubriques et articles par groupes d'utilisateurs
   Contrib de Coyote, alias JPK ou Jean-Pierre KUNTZ
   V0.1 - 16 juillet 2005
        version initiale avec gestion multilingue
@@ -14,27 +14,24 @@
        Correction du test d’accès, utilisation du login au lieu de l’id_auteur
   v0.62 - mars 2006 cy_altern
        restrictions séparées possibles pour public/privé
+v0.63 - juin 2006 coyote
+ Correction modif groupe
+ renomme les fonctions en AccesGroupes_ en prévision du plugin...
*/
-
$msg_text = '';
$alerte = 0;

-// modifs clem pour utilisation d'un préfixe au noms de tables SPIP et/ou _jpk
-include_once("inc_config-jpk.php3");
-
-
-
// DETECTION DE L'EXTENSION (.php3 OU .php)
     $ext = "php";
     if (substr($_SERVER['PHP_SELF'],-1) == 3) $ext = "php3";
     include ("inc.$ext");
-
+// modifs clem pour utilisation d'un préfixe au noms de tables SPIP et/ou _jpk
+include_once("inc_config-jpk.$ext");
/* INITIALISATION DES TABLES DE JPK_GROUPES
* définition et test existence des tables jpk_
* + création de la table si pas encore installée.
* PAS de DROP donc pas de risque de RAZ des contenus existants
*/
-
     $sql6881 = "SHOW TABLES LIKE '$Tjpk_groupes'";
     @$result6881 = spip_query($sql6881);
     if (! @$data6881 = spip_num_rows($result6881) AND spip_num_rows($result6881) < 1) {
@@ -57,7 +54,6 @@
            $msg_text .= "<br />"._T('accesgroupes:creation_table')." ".$Tjpk_groupes."\r\n";
        }
     }
-
     $sql6882 = "SHOW TABLES LIKE '$Tjpk_groupes_auteurs'";
     $result6882 = spip_query($sql6882);
     if (! @$data6882 = spip_num_rows($result6882) AND spip_num_rows($result6882) < 1) {
@@ -79,8 +75,6 @@
            $msg_text .= "<br />"._T('accesgroupes:creation_table')." ".$Tjpk_groupes_auteurs."\r\n";
        }
     }
-
-
     $sql6883 = "SHOW TABLES LIKE '$Tjpk_groupes_acces'";
     $result6883 = spip_query($sql6883);
     if (! @$data6883 = spip_num_rows($result6883) AND spip_num_rows($result6883) < 1) {
@@ -93,8 +87,6 @@
                             dtfn date default NULL,
                             proprio bigint(21) NOT NULL default '0',
                             prive_public SMALLINT(6) NOT NULL default '0',
-
-
                           KEY id_groupe (id_groupe),
                           KEY id_rubrique (id_rubrique),
                           KEY id_article (id_article) )";
@@ -107,7 +99,6 @@
            $msg_text .= "<br />"._T('accesgroupes:creation_table')." ".$Tjpk_groupes_acces."\r\n";
        }
     }
-
// patch pour passer de v0.61 à v0.62
     $sql701 = "SHOW COLUMNS FROM $Tjpk_groupes_acces";
     $result701 = spip_query($sql701);
@@ -127,7 +118,6 @@
              $msg_text .= _T('accesgroupes:OK_patch0.62');
         }
     }
-
     $sql702 = "SHOW COLUMNS FROM $Tjpk_groupes";
     $result702 = spip_query($sql702);
     $col_names = array();
@@ -146,39 +136,63 @@
              $msg_text .= _T('accesgroupes:OK_patch0.62');
         }
     }
-
+//patch id_groupe > id_grpacces 20060610
+if (!in_array('id_grpacces', $col_names)) {
+ spip_query("ALTER TABLE $Tjpk_groupes CHANGE `id_groupe` `id_grpacces` BIGINT( 20 ) NOT NULL AUTO_INCREMENT ");
+ spip_query("ALTER TABLE $Tjpk_groupes_acces CHANGE `id_groupe` `id_grpacces` BIGINT( 21 ) DEFAULT '0' NOT NULL ");
+ spip_query("ALTER TABLE $Tjpk_groupes_auteurs CHANGE `id_groupe` `id_grpacces` BIGINT( 21 ) DEFAULT '0' NOT NULL ");
+ if (mysql_error() != '') {
+ $alerte = 1;
+ $msg_text .= _T('accesgroupes:erreur_patch0.63');
+ }
+ else {
+ $msg_text .= _T('accesgroupes:OK_patch0.63');
+ }
+}
// fin patch
-
-
     if ($msg_text != '') {
        $tete_msg = '<div style="background: #ddd; border: solid 1px #000; padding: 10px; text-align: center;"><span style="color: '.($alerte != 1 ? '#6c3' : '#f00').'; text-align: center; font-weight: bold; font-size: 1.2em;">';
- $tete_msg .= _T('accesgroupes:installation').($alerte != 1 ? _T('accesgroupes:install_ok') : _T('accesgroupes:install_pas_ok') ).'<br />';
- $queue_msg = '</span></div>';
+ $tete_msg .= _T('accesgroupes:installation').($alerte != 1 ? _T('accesgroupes:install_ok') : _T('accesgroupes:install_pas_ok') ).'</span><br />';
+ $queue_msg = '</div>';
        $msg_text = $tete_msg.$msg_text.$queue_msg;
     }
-
// FIN INITIALISATION TABLES JPK_GROUPES
-
-
/* LES FONCTIONS
*/
-
+function AccesGroupes_couleur_prive_public($rub){
+ switch($rub){
+ case 0:
+ $style .= "color: #f00;";//rouge
+ break;
+ case 1:
+ $style .= "color: #093;";//vert
+ break;
+ case 2:
+ $style .= "color: #ff0;";//jaune
+ break;
+ default:
+ $style .= "color: #000;";//noir
+ }
+return $style;
+}
// affichage de la liste des rubriques disponibles pour l'utilisateur
// rubriques privées en rouge + vert + jaune + bleu
// modif de la fonction trouvée dans rubrique_edit.php3
-function enfant($leparent, $groupe_ec = 0){
+function AccesGroupes_enfant($leparent, $groupe_ec = 0){
         global $id_parent;
         global $id_rubrique;
         global $connect_toutes_rubriques;
         global $i;
         global $couleur_claire, $spip_lang_left;
         global $browser_name, $browser_version;
+
+ // modifs clem pour utilisation d'un préfixe dans les noms de tables
         global $Tspip_rubriques, $Tspip_auteurs, $Tspip_auteurs_rubriques, $Tjpk_groupes_acces, $Tjpk_groupes_auteurs, $Tjpk_groupes;
+ // fin modif
     
         $i++;
         $query="SELECT * FROM $Tspip_rubriques WHERE id_parent='$leparent' ORDER BY 0+titre,titre";
         $result=spip_query($query);
-
         while($row = spip_fetch_array($result)){
               $my_rubrique = $row['id_rubrique'];
               $titre = typo($row['titre']);
@@ -188,21 +202,17 @@
               $style = "";
               $espace = "";
               $prive = $row['prive'];
-
               if ($my_rubrique != $id_rubrique){
-
                   if (eregi("mozilla", $browser_name)) {
                       //$style .= "padding-$spip_lang_left: 16px; ";
                       $style .= "margin-$spip_lang_left: ".($i*16)."px;";
- }
- else {
+ } else {
                       for ($count = 0; $count <= $i; $count ++) {
                           $espace .= "&nbsp;&nbsp;&nbsp;&nbsp;";
                       }
                   }
-
                   if ($i > 3) {
- $style .= "color: #666;";
+ $style .= "color: #666666;";
                   }
                   if ($i > 4) {
                      $style .= "font-style: italic;";
@@ -223,16 +233,13 @@
                   
                   }
                // affiche en rouge/vert/jaune/bleu les rubriques privées : prive_public = 0 => prive+public | 1 => prive | 2 => public
-
- $prive_public_ec = trouve_prive_public($my_rubrique);
- $prive_public_ec == 0 ? $style .= "color: #f00;" : ($prive_public_ec == 1 ? $style .= "color: #093;" : $style .= "color: #ff0;");
-
- if ($id_groupe_ec == $groupe_ec) {
-
- }
- else {
- $style .= "color: #00f;";
+ $prive_public_ec = AccesGroupes_trouve_prive_public($my_rubrique);
+ $style .= AccesGroupes_couleur_prive_public($prive_public_ec);
+ if ($id_groupe_ec <> $groupe_ec && $prive_public_ec < 10) {
+ //$style .= "color: #00f;";
+ //pourquoi changer la couleur ???
                            }
+
                   if ($statut_rubrique != 'publie') {
                      $titre = "($titre , non publi&eacute;e)";
                   }
@@ -243,405 +250,216 @@
                   if ($browser_name == "MSIE" AND floor($browser_version) == "5") {
                      $selec_rub = ""; // Bug de MSIE MacOs 9.0
                   }
-
                   if (acces_rubrique($my_rubrique)) {
- echo "<option".mySel($my_rubrique,$id_parent)." class='$selec_rub' style=\"$style\">$espace".supprimer_tags($titre)."\n";
+ echo "<option".mySel($my_rubrique,$id_parent)." class='$selec_rub' style=\"$style\">$espace".supprimer_tags($titre)."-".$prive_public_ec."-Rub:".$my_rubrique."\n";
                       if ($id_groupe_ec == $groupe_ec) {
                          echo "<script language=\"JavaScript\" type=\"text/javascript\">

[... 1709 lines stripped ...]