Changeset 33520 in spip-zone for _plugins_/couteau_suisse/cout_define.php


Ignore:
Timestamp:
Dec 5, 2009, 1:20:15 AM (11 years ago)
Author:
patfr@…
Message:

+1. Refonte des autorisations sur le Couteau Suisse, compatibles avec la mutualisation.

Compatibilité avec d'autres plugins (comme Autorité?) à tester...
On peut désormais choisir :

  • L'autorisation générale de configuration du plugin. Par exemple : juste les webmestres. Par défaut, on conserve le droit aux Admins non restreints.
  • L'autorisation particulière d'un outil
  • L'autorisation d'une catégorie entière d'outils

Tout passe par l'autorisation 'configurer'.
Quelques exemples indépendants (à réinterpréter bien sûr !) :

Facon rapide d'interdire des lames a la configuration et jouant sur une constante
switch($_SERVERHTTP_HOST?) {

case 'www.toto.org': break;
default: define('_CS_OUTILS_CACHES','maj_auto');

}

Peut-on configurer/voir l'outil maj_auto ?
function autoriser_outil_maj_auto_configurer($faire, $type, $id, $qui, $opt) {

return false;
return $_SERVERHTTP_HOST?==='www.toto.org';
return ...

}

Peut-on configurer/voir la categorie admin ?
function autoriser_categorie_admin_configurer($faire, $type, $id, $qui, $opt) {

return false;
return $_SERVERHTTP_HOST?==='www.toto.org';
return ...

}

Droits par defaut pour manipuler le CS : les admins non restreints
Attention cette surcharge ne doit etre presente qu'une seule fois !
function autoriser_cs_configurer($faire, $type, $id, $qui, $opt) {

Moi je veux les droits par defaut (suis un peu bete !)
return autoriser_cs_configurer_dist($faire, $type, $id, $qui, $opt);
Moi je veux uniquement l'auteur number one sur tous mes sites ;-)
return $quiid?===1;
Moi je veux uniquement kifkif sur tous mes sites !
return $quinom?==='kifkif';
Moi je veux uniquement les webmestres sur tous mes sites !
return autoriser('webmestre', $type, $id, $qui, $opt);
Moi je veux uniquement les webmestres, sauf sur 'www.toto.org' !
return $_SERVERHTTP_HOST?==='www.toto.org'

?autoriser_cs_configurer_dist($faire, $type, $id, $qui, $opt)
:autoriser('webmestre', $type, $id, $qui, $opt);

return ...

}

+2. Correction en langues de qq aberrations typo

+3. Première vague de corrections sur la gestion du fichier d'options SPIP en vue d'une compatibilité avec la mutualisation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/couteau_suisse/cout_define.php

    r28941 r33520  
    4141        case 'cs_comportement':
    4242                @define('_CS_DIR_TMP', cs_canonicalize(_DIR_RESTREINT_ABS._DIR_TMP));
    43                 @define('_CS_FILE_OPTIONS', str_replace('../','',(defined('_FILE_OPTION') && strlen(_FILE_OPTION))
    44                         ?_FILE_OPTION
    45                         :_DIR_RACINE._NOM_PERMANENTS_INACCESSIBLES._NOM_CONFIG.'.php'
     43                @define('_CS_FILE_OPTIONS', cs_canonicalize(
     44                        // Mutualisation ?
     45                        str_replace('../', '', defined('_DIR_SITE')?_DIR_SITE:'')
     46                        ._DIR_RESTREINT_ABS
     47                        .cs_spip_file_options(3)
    4648                ));
    4749                break;
Note: See TracChangeset for help on using the changeset viewer.