Skip to content
Extraits de code Groupes Projets
Valider 0f0bd471 rédigé par Fil's avatar Fil
Parcourir les fichiers

une constante define('_ID_WEBMESTRES', '1:5'); dans mes_options permet...

une constante define('_ID_WEBMESTRES', '1:5'); dans mes_options permet d'eviter a ces deux admins de devoir s'authentifier par ftp pour faire les trucs dangereux ... le mecanisme est bon, mais il reste a voir le nommage et la valeur par defaut (je mettrais bien '1' mais ca ouvre un trou); par ailleurs meilleur nommage de autoriser('modererpetition', 'article'), desole pour qui aurait deja exploite cette API
parent e801513e
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -262,7 +262,7 @@ function boites_de_config_articles($id_article)
$regler = $regler_moderation($id_article,"articles","id_article=$id_article");
}
if (autoriser('moderer_petition', 'article', $id_article)) {
if (autoriser('modererpetition', 'article', $id_article)) {
$petitionner = charger_fonction('petitionner', 'inc');
$petition = $petitionner($id_article,"articles","id_article=$id_article");
}
......
......@@ -23,10 +23,10 @@ function exec_controle_petition_dist()
$id_article = intval(_request('id_article'));
if (
autoriser('moderer_petition')
autoriser('modererpetition')
OR (
$id_article > 0
AND autoriser('moderer_petition', 'article', $id_article)
AND autoriser('modererpetition', 'article', $id_article)
)
) {
......
......@@ -31,8 +31,8 @@ function debut_admin($script, $action, $commentaire='') {
$dir = _DIR_TMP;
} else {
$dir = _DIR_TRANSFERT . $connect_login . '/';
}
$signal = fichier_admin($action);
if (@file_exists($dir . $signal)) {
spip_log ("Action admin: $action");
......@@ -42,9 +42,29 @@ function debut_admin($script, $action, $commentaire='') {
include_spip('inc/texte');
$commentaire = ("\n<p>".propre($commentaire)."</p>\n");
}
include_spip('inc/minipres');
include_spip('inc/autoriser');
$form = $commentaire
// Si on est un super-admin, un bouton de validation suffit
// nom de l'autorisation a revoir... 'webmestre' veut tout et rien dire...
if (autoriser('webmestre')) {
if (_request('validation_admin') == $signal) {
spip_log ("Action super-admin: $action");
return true;
}
$form = $commentaire
. "<form action='./' method='post'>"
. copy_request($script)
. '<input type="hidden" name="validation_admin" value="'.$signal.'" />'
. bouton_suivant(_T('bouton_valider'))
. "</form>";
$js = '';
}
else {
$form = $commentaire
. "<form action='./' method='post'>"
. copy_request($script)
. fieldset(_T('info_authentification_ftp').aide("ftp_auth"),
......@@ -57,14 +77,15 @@ function debut_admin($script, $action, $commentaire='') {
. _T('info_creer_repertoire_2', array('repertoire' => joli_repertoire($dir)))
. bouton_suivant(_T('bouton_recharger_page'))))
. "</form>";
$js = " onload='document.forms[0].fichier.value=\"\";barre_inserer(\"$signal\", document.forms[0].fichier)'";
}
// code volontairement tordu:
// provoquer la copie dans le presse papier du nom du repertoire
// en remettant a vide le champ pour que a marche aussi en cas
// en remettant a vide le champ pour que ca marche aussi en cas
// de JavaScript inactif.
echo minipres(_T('info_action', array('action' => $action)),
$form
, " onload='document.forms[0].fichier.value=\"\";barre_inserer(\"$signal\", document.forms[0].fichier)'");
$form, $js);
exit;
}
......
......@@ -225,10 +225,21 @@ function autoriser_signature_modifier_dist($faire, $type, $id, $qui, $opt) {
// Moderer la petition ?
// = modifier l'article correspondant
// = droits par defaut sinon (admin complet pour moderation de tout)
// http://doc.spip.org/@autoriser_moderer_petition_dist
function autoriser_moderer_petition_dist($faire, $type, $id, $qui, $opt) {
// http://doc.spip.org/@autoriser_modererpetition_dist
function autoriser_modererpetition_dist($faire, $type, $id, $qui, $opt) {
return
autoriser('modifier', $type, $id, $qui, $opt);
}
// Est-on webmestre ? Signifie qu'on n'a meme pas besoin de passer par ftp
// pour modifier les fichiers, cf. notamment inc/admin
// = rien ni personne sauf definition de
// a l'avenir peut-etre autoriser "admin numero 1" ou une interface de selection
function autoriser_webmestre_dist($faire, $type, $id, $qui, $opt) {
return
(defined('_ID_WEBMESTRES') AND in_array($qui['id_auteur'], explode(':', _ID_WEBMESTRES)) AND $qui['statut'] == '0minirezo' AND !$qui['restreint'])
OR false;
}
?>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter