\***************************************************************************/
/**
- * Définit les autorisations du plugin mots
+ * Définit les autorisations du plugin mots
*
- * @package Mots\Autorisations
-**/
-if (!defined('_ECRIRE_INC_VERSION')) return;
+ * @package SPIP\Mots\Autorisations
+ **/
+if (!defined('_ECRIRE_INC_VERSION')) {
+ return;
+}
-/** Fonction d'appel pour le pipeline */
-function mots_autoriser(){}
+/**
+ * Fonction d'appel pour le pipeline
+ *
+ * @pipeline autoriser
+ */
+function mots_autoriser() {
+}
/**
- * Autorisation de voir un élément de menu
+ * Autorisation de voir un élément de menu
*
* @param string $faire Action demandée
- * @param string $type Type d'objet sur lequel appliquer l'action
- * @param int $id Identifiant de l'objet
- * @param array $qui Description de l'auteur demandant l'autorisation
- * @param array $opt Options de cette autorisation
+ * @param string $type Type d'objet sur lequel appliquer l'action
+ * @param int $id Identifiant de l'objet
+ * @param array $qui Description de l'auteur demandant l'autorisation
+ * @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
-**/
-function autoriser_mots_menu_dist($faire, $type, $id, $qui, $opt){
- if ($qui['statut'] == '0minirezo')
- return ($GLOBALS['meta']['articles_mots'] != 'non' OR sql_countsel('spip_groupes_mots'));
- $where = "";
- if ($qui['statut']=='1comite')
+ **/
+function autoriser_mots_menu_dist($faire, $type, $id, $qui, $opt) {
+ if ($qui['statut'] == '0minirezo') {
+ return ($GLOBALS['meta']['articles_mots'] != 'non' or sql_countsel('spip_groupes_mots'));
+ }
+ $where = '';
+ if ($qui['statut'] == '1comite') {
$where = "comite='oui' OR forum='oui'";
- if ($qui['statut']=='6forum')
+ }
+ if ($qui['statut'] == '6forum') {
$where = "forum='oui'";
+ }
+
return ($where
- AND $GLOBALS['meta']['articles_mots'] != 'non'
- AND sql_countsel('spip_groupes_mots',$where));
+ and $GLOBALS['meta']['articles_mots'] != 'non'
+ and sql_countsel('spip_groupes_mots', $where));
}
/**
* Autorisation de voir le bouton d'accès rapide à la création d'un mot clé
*
* @param string $faire Action demandée
- * @param string $type Type d'objet sur lequel appliquer l'action
- * @param int $id Identifiant de l'objet
- * @param array $qui Description de l'auteur demandant l'autorisation
- * @param array $opt Options de cette autorisation
+ * @param string $type Type d'objet sur lequel appliquer l'action
+ * @param int $id Identifiant de l'objet
+ * @param array $qui Description de l'auteur demandant l'autorisation
+ * @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
-**/
-function autoriser_motcreer_menu_dist($faire, $type, $id, $qui, $opt){
+ **/
+function autoriser_motcreer_menu_dist($faire, $type, $id, $qui, $opt) {
// [fixme] Meta 'article_mots' mal nommée maintenant
// car elle désigne l'activation ou non des mots clés, quelque soit l'objet.
return ($GLOBALS['meta']['articles_mots'] != 'non'
- AND sql_countsel('spip_groupes_mots')
- AND autoriser('creer','mot',null,$qui,$opt));
+ and sql_countsel('spip_groupes_mots')
+ and autoriser('creer', 'mot', null, $qui, $opt));
}
* qui gère cela par type d'auteur (administrateur, rédacteurs, visiteurs)
*
* @param string $faire Action demandée
- * @param string $type Type d'objet sur lequel appliquer l'action
- * @param int $id Identifiant de l'objet
- * @param array $qui Description de l'auteur demandant l'autorisation
- * @param array $opt Options de cette autorisation
+ * @param string $type Type d'objet sur lequel appliquer l'action
+ * @param int $id Identifiant de l'objet
+ * @param array $qui Description de l'auteur demandant l'autorisation
+ * @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
-**/
+ **/
function autoriser_groupemots_voir_dist($faire, $type, $id, $qui, $opt) {
- if ($qui['statut'] == '0minirezo') return true;
- $acces = sql_fetsel("comite,forum", "spip_groupes_mots", "id_groupe=".intval($id));
- if ($qui['statut']=='1comite' AND ($acces['comite'] == 'oui' OR $acces['forum'] == 'oui'))
+ if ($qui['statut'] == '0minirezo') {
return true;
- if ($qui['statut']=='6forum' AND $acces['forum'] == 'oui')
+ }
+ $acces = sql_fetsel('comite,forum', 'spip_groupes_mots', 'id_groupe=' . intval($id));
+ if ($qui['statut'] == '1comite' and ($acces['comite'] == 'oui' or $acces['forum'] == 'oui')) {
return true;
+ }
+ if ($qui['statut'] == '6forum' and $acces['forum'] == 'oui') {
+ return true;
+ }
+
return false;
}
* Autorisation de créer un groupe de mots
*
* @param string $faire Action demandée
- * @param string $type Type d'objet sur lequel appliquer l'action
- * @param int $id Identifiant de l'objet
- * @param array $qui Description de l'auteur demandant l'autorisation
- * @param array $opt Options de cette autorisation
+ * @param string $type Type d'objet sur lequel appliquer l'action
+ * @param int $id Identifiant de l'objet
+ * @param array $qui Description de l'auteur demandant l'autorisation
+ * @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
-**/
+ **/
function autoriser_groupemots_creer_dist($faire, $type, $id, $qui, $opt) {
return
$qui['statut'] == '0minirezo'
- AND !$qui['restreint'];
+ and !$qui['restreint'];
}
* Cela inclut également l'ajout ou modification des mots lui appartenant
*
* @param string $faire Action demandée
- * @param string $type Type d'objet sur lequel appliquer l'action
- * @param int $id Identifiant de l'objet
- * @param array $qui Description de l'auteur demandant l'autorisation
- * @param array $opt Options de cette autorisation
+ * @param string $type Type d'objet sur lequel appliquer l'action
+ * @param int $id Identifiant de l'objet
+ * @param array $qui Description de l'auteur demandant l'autorisation
+ * @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
-**/
+ **/
function autoriser_groupemots_modifier_dist($faire, $type, $id, $qui, $opt) {
return
- $qui['statut'] == '0minirezo' AND !$qui['restreint']
- AND autoriser('voir','groupemots',$id,$qui,$opt);
+ $qui['statut'] == '0minirezo' and !$qui['restreint']
+ and autoriser('voir', 'groupemots', $id, $qui, $opt);
}
* Autorisation de supprimer un groupe de mots
*
* @param string $faire Action demandée
- * @param string $type Type d'objet sur lequel appliquer l'action
- * @param int $id Identifiant de l'objet
- * @param array $qui Description de l'auteur demandant l'autorisation
- * @param array $opt Options de cette autorisation
+ * @param string $type Type d'objet sur lequel appliquer l'action
+ * @param int $id Identifiant de l'objet
+ * @param array $qui Description de l'auteur demandant l'autorisation
+ * @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
-**/
+ **/
function autoriser_groupemots_supprimer_dist($faire, $type, $id, $qui, $opt) {
- if (!autoriser('modifier','groupemots',$id))
+ if (!autoriser('modifier', 'groupemots', $id)) {
return false;
- return sql_countsel('spip_mots','id_groupe='.intval($id))?false:true;
+ }
+
+ return sql_countsel('spip_mots', 'id_groupe=' . intval($id)) ? false : true;
}
/**
* Autorisation de modifier un mot
*
* Il faut avoir le droit de modifier le groupe parent
- *
+ *
* Note : passer l'id_groupe dans le tableau d'option
* permet de gagner du CPU et une requête SQL (c'est ce que fait l'espace privé)
- *
+ *
* @param string $faire Action demandée
- * @param string $type Type d'objet sur lequel appliquer l'action
- * @param int $id Identifiant de l'objet
- * @param array $qui Description de l'auteur demandant l'autorisation
- * @param array $opt Options de cette autorisation
+ * @param string $type Type d'objet sur lequel appliquer l'action
+ * @param int $id Identifiant de l'objet
+ * @param array $qui Description de l'auteur demandant l'autorisation
+ * @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
-**/
+ **/
function autoriser_mot_modifier_dist($faire, $type, $id, $qui, $opt) {
return
- isset($opt['id_groupe'])
- ? autoriser('modifier', 'groupemots', $opt['id_groupe'], $qui, $opt)
- : (
- $t = sql_getfetsel("id_groupe", "spip_mots", "id_mot=".intval($id))
- AND autoriser('modifier', 'groupemots', $t, $qui, $opt)
+ isset($opt['id_groupe'])
+ ? autoriser('modifier', 'groupemots', $opt['id_groupe'], $qui, $opt)
+ : (
+ $t = sql_getfetsel('id_groupe', 'spip_mots', 'id_mot=' . intval($id))
+ and autoriser('modifier', 'groupemots', $t, $qui, $opt)
);
}
*
* Si l'id_groupe est passé en option,
* vérifie également que l'auteur a le droit de modifier ce groupe
- *
+ *
* @param string $faire Action demandée
- * @param string $type Type d'objet sur lequel appliquer l'action
- * @param int $id Identifiant de l'objet
- * @param array $qui Description de l'auteur demandant l'autorisation
- * @param array $opt Options de cette autorisation
+ * @param string $type Type d'objet sur lequel appliquer l'action
+ * @param int $id Identifiant de l'objet
+ * @param array $qui Description de l'auteur demandant l'autorisation
+ * @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
-**/
+ **/
function autoriser_mot_creer_dist($faire, $type, $id, $qui, $opt) {
- if ($qui['statut'] != '0minirezo' OR $qui['restreint'])
+ if ($qui['statut'] != '0minirezo' or $qui['restreint']) {
return false;
+ }
$where = '';
// si objet associe, verifier qu'un groupe peut etre associe
// a la table correspondante
if (isset($opt['associer_objet'])
- AND $associer_objet = $opt['associer_objet']){
- if (!preg_match(',^(\w+)\|[0-9]+$,',$associer_objet,$match))
+ and $associer_objet = $opt['associer_objet']
+ ) {
+ if (!preg_match(',^(\w+)\|[0-9]+$,', $associer_objet, $match)) {
return false;
- $where = "tables_liees REGEXP '(^|,)".addslashes(table_objet($match[1]))."($|,)'";
+ }
+ $where = "tables_liees REGEXP '(^|,)" . addslashes(table_objet($match[1])) . "($|,)'";
}
// si pas de groupe de mot qui colle, pas le droit
- if (!sql_countsel('spip_groupes_mots',$where))
+ if (!sql_countsel('spip_groupes_mots', $where)) {
return false;
+ }
+
+ if (isset($opt['id_groupe'])) {
+ return autoriser('modifier', 'groupemots', $opt['id_groupe']);
+ }
- if (isset($opt['id_groupe']))
- return autoriser('modifier','groupemots',$opt['id_groupe']);
-
return true;
}
* Par défaut : pouvoir créer un mot dans le groupe
*
* @param string $faire Action demandée
- * @param string $type Type d'objet sur lequel appliquer l'action
- * @param int $id Identifiant de l'objet
- * @param array $qui Description de l'auteur demandant l'autorisation
- * @param array $opt Options de cette autorisation
+ * @param string $type Type d'objet sur lequel appliquer l'action
+ * @param int $id Identifiant de l'objet
+ * @param array $qui Description de l'auteur demandant l'autorisation
+ * @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
-**/
+ **/
function autoriser_mot_supprimer_dist($faire, $type, $id, $qui, $opt) {
// On cherche le groupe du mot
- $id_groupe = $opt['id_groupe'] ? $opt['id_groupe'] : sql_getfetsel('id_groupe', 'spip_mots', 'id_mot = '.intval($id));
-
- return autoriser('creer', 'mot', $id, $qui, array('id_groupe'=>$id_groupe));
+ $id_groupe = $opt['id_groupe'] ?
+ $opt['id_groupe'] : sql_getfetsel('id_groupe', 'spip_mots', 'id_mot = ' . intval($id));
+
+ return autoriser('creer', 'mot', $id, $qui, array('id_groupe' => $id_groupe));
}
* On interdit aussi d'associer des mots à d'autres mots ou groupes de mots
*
* @param string $faire Action demandée
- * @param string $type Type d'objet sur lequel appliquer l'action
- * @param int $id Identifiant de l'objet
- * @param array $qui Description de l'auteur demandant l'autorisation
- * @param array $opt Options de cette autorisation
+ * @param string $type Type d'objet sur lequel appliquer l'action
+ * @param int $id Identifiant de l'objet
+ * @param array $qui Description de l'auteur demandant l'autorisation
+ * @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
*/
-function autoriser_associermots_dist($faire,$type,$id,$qui,$opt){
+function autoriser_associermots_dist($faire, $type, $id, $qui, $opt) {
// jamais de mots sur des mots
- if ($type=='mot') return false;
- if ($type=='groupemots') return false;
- $droit = substr($qui['statut'],1);
+ if ($type == 'mot') {
+ return false;
+ }
+ if ($type == 'groupemots') {
+ return false;
+ }
+ $droit = substr($qui['statut'], 1);
- if (!isset($opt['groupe_champs']) AND !isset($opt['id_groupe'])){
+ if (!isset($opt['groupe_champs']) and !isset($opt['id_groupe'])) {
// chercher si un groupe est autorise pour mon statut
// et pour la table demandee
$table = addslashes(table_objet($type));
- if (sql_countsel('spip_groupes_mots',"tables_liees REGEXP '(^|,)$table($|,)' AND ".addslashes($droit)."='oui'"))
+ if (sql_countsel('spip_groupes_mots', "tables_liees REGEXP '(^|,)$table($|,)' AND " . addslashes($droit) . "='oui'")) {
return true;
- }
- // cas d'un groupe en particulier
+ }
+ } // cas d'un groupe en particulier
else {
// on recupere les champs du groupe s'ils ne sont pas passes en opt
- if (!isset($opt['groupe_champs'])){
- if (!$id_groupe = $opt['id_groupe'])
+ if (!isset($opt['groupe_champs'])) {
+ if (!$id_groupe = $opt['id_groupe']) {
return false;
+ }
include_spip('base/abstract_sql');
- $opt['groupe_champs'] = sql_fetsel("*", "spip_groupes_mots", "id_groupe=".intval($id_groupe));
+ $opt['groupe_champs'] = sql_fetsel('*', 'spip_groupes_mots', 'id_groupe=' . intval($id_groupe));
}
$droit = $opt['groupe_champs'][$droit];
return
($droit == 'oui')
- AND
+ and
// on verifie que l'objet demande est bien dans les tables liees
in_array(
table_objet($type),
explode(',', $opt['groupe_champs']['tables_liees'])
);
}
+
return false;
}
-
/**
* Autorisation d'affichier le sélecteur de mots
- *
+ *
* Vérifie le droit d'afficher le selecteur de mots
* pour un groupe de mot donné, dans un objet / id_objet donné
*
* C'est fonction de la configuration du groupe de mots.
*
* @param string $faire Action demandée
- * @param string $type Type d'objet sur lequel appliquer l'action
- * @param int $id Identifiant de l'objet
- * @param array $qui Description de l'auteur demandant l'autorisation
- * @param array $opt Options de cette autorisation
+ * @param string $type Type d'objet sur lequel appliquer l'action
+ * @param int $id Identifiant de l'objet
+ * @param array $qui Description de l'auteur demandant l'autorisation
+ * @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
*/
-function autoriser_groupemots_afficherselecteurmots_dist($faire,$type,$id,$qui,$opt){
+function autoriser_groupemots_afficherselecteurmots_dist($faire, $type, $id, $qui, $opt) {
if (!isset($opt['minirezo']) || !isset($opt['comite'])) {
$i = sql_fetsel(
array('minirezo', 'comite'),
'spip_groupes_mots',
- 'id_groupe=' . intval($id));
- if (!$i) return false; # le groupe n'existe pas
+ 'id_groupe=' . intval($id)
+ );
+ if (!$i) {
+ return false;
+ } # le groupe n'existe pas
$admin = $i['minirezo'];
$redac = $i['comite'];
} else {
$redac = $opt['comite'];
}
$statuts = array();
- if ($admin == 'oui') $statuts[] = '0minirezo';
- if ($redac == 'oui') $statuts[] = '1comite';
+ if ($admin == 'oui') {
+ $statuts[] = '0minirezo';
+ }
+ if ($redac == 'oui') {
+ $statuts[] = '1comite';
+ }
return in_array($qui['statut'], $statuts);
}
/**
* Autorisation d'affichier le formulaire de logo
- *
+ *
* @param string $faire Action demandée
- * @param string $type Type d'objet sur lequel appliquer l'action
- * @param int $id Identifiant de l'objet
- * @param array $qui Description de l'auteur demandant l'autorisation
- * @param array $opt Options de cette autorisation
+ * @param string $type Type d'objet sur lequel appliquer l'action
+ * @param int $id Identifiant de l'objet
+ * @param array $qui Description de l'auteur demandant l'autorisation
+ * @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
*/
-function autoriser_mot_iconifier_dist($faire,$type,$id,$qui,$opt){
- return (($qui['statut'] == '0minirezo') AND !$qui['restreint']);
+function autoriser_mot_iconifier_dist($faire, $type, $id, $qui, $opt) {
+ return (($qui['statut'] == '0minirezo') and !$qui['restreint']);
}
/**
* Autorisation d'affichier le formulaire de logo
- *
+ *
* @param string $faire Action demandée
- * @param string $type Type d'objet sur lequel appliquer l'action
- * @param int $id Identifiant de l'objet
- * @param array $qui Description de l'auteur demandant l'autorisation
- * @param array $opt Options de cette autorisation
+ * @param string $type Type d'objet sur lequel appliquer l'action
+ * @param int $id Identifiant de l'objet
+ * @param array $qui Description de l'auteur demandant l'autorisation
+ * @param array $opt Options de cette autorisation
* @return bool true s'il a le droit, false sinon
*/
-function autoriser_groupemots_iconifier_dist($faire,$type,$id,$qui,$opt){
- return (($qui['statut'] == '0minirezo') AND !$qui['restreint']);
+function autoriser_groupemots_iconifier_dist($faire, $type, $id, $qui, $opt) {
+ return (($qui['statut'] == '0minirezo') and !$qui['restreint']);
}
-
-?>