Bonjour,
Je suis en train de monté un plugin pour creer des droits avec :
[(#AUTORISERpublierdedans,rubrique,#ID_RUBRIQUE)
Affichage controllé
]
J'ai traité Spip comme un site collaboratif avec un maximum de possibilités
de modification via l'espace public
(bouton pour télécharger des docs, créer des événement etc...).
Le but de plugin est de masquer ces boutons aux membres ui ne sont pas
autoriser à modifier une rubrique.
Je ne peux pas les placer en rédacteur sinon ils ne peuvent pas modifier les
rubriques dont ils ont la charge.
Donc je me suis dit :
$auteursession = $GLOBALS['auteur_session']['id_auteur'] ; ==> me donne
l'auteur
et j'ai évidemment la rubrique du contexte
me reste plus qu'a créer une requête qui va vérifier dans les tables
spip_zones ...
<?php
//[(#AUTORISERpublierdedans,rubrique,#ID_RUBRIQUE)
//c OK je peux ...
//]
if (!defined("_ECRIRE_INC_VERSION")) return ;
include_spip('base/abstract_sql') ;
function droitecrit_autoriser()
// declarations d'autorisations (si id_rub = id_zone prive ==oui et id_zone
id_auteur alors OK
function publier_rub($qui, $id_rubrique)
$auteursession = $GLOBALS['auteur_session']['id_auteur'] ;
//$id_rubrique = #ID_RUBRIQUE ;
// requetes retourne id_rub / prive = oui / id_auteur
$r = spip_query("
SELECT *
FROM spip_zones, spip_zones_rubriques, spip_zones_auteurs
WHERE ( (spip_zones.privee REGEXP 'oui')
AND
(spip_zones_rubriques.id_zone = spip_zones.id_zone)
AND
(spip_zones_auteurs.id_zone = spip_zones.id_zone)
AND
(spip_zones_auteurs.id_auteur = $auteursession)
AND
(spip_zones_rubriques.id_rubrique = $id_rubrique)
)
ORDER BY spip_zones_auteurs.id_auteur ASC
") ;
while($row = spip_fetch_array($r)) // parcours des resultats
$idrubprivee = $row['id_rubrique'] ;
$idauteur = $row['id_auteur'] ;
// aucune donnée == rien a faire
if ((empty($idrubprivee))&&(empty($idauteur)))
return false ;
else
return autoriser('publierdedans', 'rubrique', $idrubprivee, $idauteur,
$opt) ;
?>
je ne comprends pas où est mon erreur ...
j'avoue je ne suis pas développeuse ;(
Est ce que quelqu'un peut me donner une piste ...
Merci
Penchaki