Browse Source

Config des autorisations, et modif pour une fonction générique. Il n'y a pas encore dedans toute la recherche d'une fonction logique par défaut quand on n'en force pas une précise.

svn/root/tags/v2.0.8
rastapopoulos@spip.org 4 years ago
parent
commit
f85896b0f6
  1. 71
      duplicator_autoriser.php
  2. 4
      duplicator_pipelines.php
  3. 16
      formulaires/configurer_duplicator.php
  4. 9
      lang/duplicator_fr.php

71
duplicator_autoriser.php

@ -7,57 +7,32 @@
*
\***************************************************************************/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
function duplicator_autoriser(){}
/*function autoriser_dupliquer($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
return true;
}*/
function autoriser_rubrique_dupliquer($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
// Si la config permet de dupliquer les rubriques
if (strcmp(lire_config('duplicator/config/duplic_rubrique'),'oui') == 0){
// Le webmestre peut dupliquer les rubriques
if(autoriser("webmestre"))
return true;
// Administrateur
if ( (strcmp($qui['statut'], '0minirezo') == 0) AND
((strcmp(lire_config('duplicator/config/duplic_rubrique_autorisation'),"0minirezo") == 0) OR
(strcmp(lire_config('duplicator/config/duplic_rubrique_autorisation'),"1comite") == 0)) )
return true;
// Rédacteur
if (( strcmp($qui['statut'], '1comite') == 0) AND (strcmp(lire_config('duplicator/config/duplic_rubrique_autorisation'),'1comite') == 0 ))
return true;
function autoriser_dupliquer($faire, $quoi='', $id=0, $qui=null, $options=null) {
include_spip('inc/config');
// S'il y a une autorisation explicite dans la configuration, on l'utilise
if ($autorisation = lire_config("duplication/$quoi/autorisation")) {
if ($autorisation == 'webmestre') {
return autoriser('webmestre', $quoi, $id, $qui, $options);
}
elseif ($autorisation == 'administrateur') {
return $qui['statut'] <= '0minirezo' and !$qui['restreint'];
}
elseif ($autorisation == 'redacteur') {
return $qui['statut'] <= '1comite';
}
}
return false;
}
function autoriser_article_dupliquer($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
// Si la config permet de dupliquer les articles
if (strcmp(lire_config('duplicator/config/duplic_article'),'oui') == 0){
// Le webmestre peut dupliquer les articles
if(autoriser("webmestre"))
return true;
// Administrateur
if ( (strcmp($qui['statut'], '0minirezo') == 0) AND
((strcmp(lire_config('duplicator/config/duplic_article_autorisation'),"0minirezo") == 0) OR
(strcmp(lire_config('duplicator/config/duplic_article_autorisation'),"1comite") == 0)) )
return true;
// Rédacteur
if (( strcmp($qui['statut'], '1comite') == 0) AND (strcmp(lire_config('duplicator/config/duplic_article_autorisation'),'1comite') == 0 ))
return true;
// Sinon on cherche une autorisation logique par défaut, de création ou de création dans un parent
else {
// TODO ici une recherche du parent et appel d'autorisation de "creerpatatedans"
return true;
}
return false;
}
}

4
duplicator_pipelines.php

@ -7,7 +7,9 @@
*
\***************************************************************************/
if (!defined('_ECRIRE_INC_VERSION')) return;
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
function duplicator_boite_infos($flux){
$type = $flux['args']['type'];

16
formulaires/configurer_duplicator.php

@ -80,6 +80,22 @@ function formulaires_configurer_duplicator_saisies_dist() {
);
}
// Les autorisations
$groupe_objet['saisies'][] = array(
'saisie' => 'selection',
'options' => array(
'nom' => "${table_objet}[autorisation]",
'label' => _T('duplicator:configurer_autorisation_label'),
'option_intro' => _T('duplicator:configurer_autorisation_option_intro'),
'data' => array(
'webmestre' => _T('duplicator:configurer_autorisation_choix_webmestre'),
'administrateur' => _T('duplicator:configurer_autorisation_choix_administrateur'),
'redacteur' => _T('duplicator:configurer_autorisation_choix_redacteur'),
),
'defaut' => isset($config[$table_objet]['autorisation']) ? $config[$table_objet]['autorisation'] : '',
),
);
$saisies[] = $groupe_objet;
}
}

9
lang/duplicator_fr.php

@ -12,10 +12,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'action_dupliquer_rubrique_arbo' => 'Dupliquer l\'arborescence de la rubrique',
'autorisations' => 'Autorisations',
'autorisations_article' => 'Qui peut dupliquer des articles&nbsp;?',
'autorisations_admin_label' => 'Administrateurs',
'autorisations_redacteur_label' => 'Administrateurs et rédacteurs',
'autorisations_rubriques' => 'Qui peut dupliquer des rubriques&nbsp;?',
'autorisations_webmestre_label' => 'Webmestre uniquement',
// B
'bouton_confirmer' => 'Confirmer',
@ -24,7 +21,11 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// C
'choix_type' => 'Sélectionner le ou les mode(s) de duplication',
'choix_champs' => 'Choisir les champs à dupliquer',
'configurer_autorisation_choix_administrateur' => 'Administrateur',
'configurer_autorisation_choix_redacteur' => 'Rédacteur',
'configurer_autorisation_choix_webmestre' => 'Webmestre uniquement',
'configurer_autorisation_label' => 'Autorisation minimale',
'configurer_autorisation_option_intro' => 'Autorisation par défaut',
'configurer_champs_label' => 'Champs à dupliquer',
'configurer_objets_label' => 'Contenus à dupliquer',
'configurer_personnaliser_champs_label' => 'Personnaliser les champs à dupliquer pour ces contenus',

Loading…
Cancel
Save