Browse Source

Appeler par defaut les autorisation modifier/creer dans la fonction formulaires_editer_objet_charger() utilisee par tous les formulaire edition objet standard. Ajustements sur les autorisation creer article et rubrique par defaut

pull/123/head
Cerdic 2 months ago
parent
commit
4ab3448f48
  1. 18
      ecrire/inc/autoriser.php
  2. 12
      ecrire/inc/editer.php

18
ecrire/inc/autoriser.php

@ -590,10 +590,12 @@ function autoriser_rubrique_publierdans_dist($faire, $type, $id, $qui, $opt) {
* @return bool true s'il a le droit, false sinon
**/
function autoriser_rubrique_creer_dist($faire, $type, $id, $qui, $opt) {
return
((!$id and autoriser('defaut', null, null, $qui, $opt))
or $id and autoriser('creerrubriquedans', 'rubrique', $id, $qui, $opt)
);
if (!empty($opt['id_parent'])) {
return autoriser('creerrubriquedans', 'rubrique', $opt['id_parent'], $qui);
}
else {
return autoriser('defaut', null, null, $qui, $opt);
}
}
/**
@ -734,7 +736,13 @@ function autoriser_article_modifier_dist($faire, $type, $id, $qui, $opt) {
* @return bool true s'il a le droit, false sinon
**/
function autoriser_article_creer_dist($faire, $type, $id, $qui, $opt) {
return (sql_countsel('spip_rubriques') > 0 and in_array($qui['statut'], array('0minirezo', '1comite')));
if (!empty($opt['id_parent'])) {
// creerarticledans rappelle autoriser(creer,article) sans id, donc on verifiera condition du else aussi
return autoriser('creerarticledans', 'rubrique', $opt['id_parent'], $qui);
}
else {
return (sql_countsel('spip_rubriques') > 0 and in_array($qui['statut'], array('0minirezo', '1comite')));
}
}
/**

12
ecrire/inc/editer.php

@ -318,6 +318,18 @@ function formulaires_editer_objet_charger(
// on le garde pour compat
$contexte['_action'] = array("editer_$type", $id);
// et in fine placer l'autorisation
if (intval($id)){
if (!autoriser('modifier', $type, intval($id))){
$valeurs['editable'] = '';
}
}
else {
if (!autoriser('creer', $type, 0, null, ['id_parent' => $id_parent])) {
$valeurs['editable'] = '';
}
}
return $contexte;
}

Loading…
Cancel
Save