- formulaire de configuration des zones d'accès à affecter automatiquement (à défaut du define renseigné)

- lors de l'affectation, utiliser la fonction zone_lier() prévue par accès restreint.
master
marcimat@rezo.net 10 years ago
parent 266454950d
commit e58e20eef3

3
.gitattributes vendored

@ -1,10 +1,11 @@
* text=auto !eol
/jaz_fonctions.php -text
formulaires/configurer_jaz.html -text
/jaz_pipelines.php -text
lang/jaz_fr.php -text
lang/paquet-jaz_en.php -text
lang/paquet-jaz_fr.php -text
/paquet.xml -text
prive/squelettes/contenu/configurer_jaz.html -text
prive/themes/spip/images/jaz-128.png -text
prive/themes/spip/images/jaz-16.png -text
prive/themes/spip/images/jaz-32.png -text

@ -0,0 +1,20 @@
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">
<h3 class="titrem"><:jaz:cfg_titre_parametrages:></h3>
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
<form method="post" action="#ENV{action}">
<div>
#ACTION_FORMULAIRE{#ENV{action}}
<ul>
[(#SAISIE{zones,zones_automatiques,multiple=oui,
label=<:jaz:cfg_zones_automatiques_label:>,
explication=<:jaz:cfg_zones_automatiques_explication:>})]
</ul>
<input type="hidden" name="_meta_casier" value="jaz" />
<p class="boutons"><span class="image_loading">&nbsp;</span><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p>
</div>
</form>
</div>

@ -1,32 +0,0 @@
<?php
/**
* JAZ - Joindre Automatiquement une Zone
* Cyril MARION (c)2012 GPL
*
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
/**
* Chercher les zones définies dans mes_options et ajouter l'auteur à ces zones
* @param $auteur
*/
function jaz_ajouter_auteur_zones($auteur)
{
// On cherche les Zones Auto Jointes :
$define = (defined('_ZONES_AUTO_JOINTES')) ? _ZONES_AUTO_JOINTES : '';
$zones = explode(':', $define);
// Pour chacune de ces zones
while (list(, $l) = @each($zones)) {
// On ajoute l'auteur à la zone
sql_insertq("spip_zones_auteurs", array("id_zone" => $l, "id_auteur" => $auteur));
spip_log('Auteur ' . $auteur . ' ajouté à la zone ' . $l, jaz);
}
}
?>

@ -6,10 +6,13 @@
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
include_spip('jaz_fonctions');
/**
* Détecter la création d'un nouvel auteur (via 'inscription' ou 'editer_auteur') et demander son ajout aux zones
* Détecter la création d'un nouvel auteur et demander son ajout aux zones
*
* On détecte via 'inscription' ou 'editer_auteur'
*
* @param array $flux
* @return array
*/
@ -58,4 +61,35 @@ function jaz_formulaire_traiter($flux)
}
/**
* Chercher les zones automatiques à joindre et ajouter l'auteur à ces zones
*
* Les zones peuvent être indiquées soit :
* - par la constante `_ZONES_AUTO_JOINTES` (dans `mes_options.php` par exemple)
* tel que `define('_ZONES_AUTO_JOINTES', '2:4')` où 2 et 4 sont des identifiants de zone
* - soit, à défaut de constante, par les zones indiquées dans le formulaire de configuration
* du plugin (meta `jaz/zones_automatiques`).
*
* @param int $id_auteur Identifiant d'auteur
*/
function jaz_ajouter_auteur_zones($id_auteur)
{
// On cherche les Zones Auto Jointes :
if (defined('_ZONES_AUTO_JOINTES')) {
$zones = explode(':', _ZONES_AUTO_JOINTES);
} else {
include_spip('inc/config');
$zones = explode(',', lire_config('jaz/zones_automatiques'));
}
if ($zones) {
include_spip('action/editer_zone');
zone_lier($zones, 'auteur', $id_auteur);
spip_log('Auteur ' . $id_auteur . ' ajouté aux zones : ' . implode(', ', $zones), 'jaz');
}
}
?>

@ -2,6 +2,11 @@
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
$GLOBALS[$GLOBALS['idx_lang']] = array(
'titre_page_configurer_jaz' => 'Configurer « Joindre Automatiquement une Zone »',
'cfg_titre_parametrages' => 'Paramétrages',
'cfg_zones_automatiques_label' => 'Zones restreintes à rejoindre',
'cfg_zones_automatiques_explication' => 'Les zones d\'accès restreintes sélectionnées
seront automatiquement affectées à un nouvel auteur créé ou inscrit sur le site',
);
?>

@ -14,6 +14,9 @@
<licence>&copy;2012 GPL v3</licence>
<pipeline nom="formulaire_traiter" inclure="jaz_pipelines.php" />
<necessite nom="accesrestreint" compatibilite="[3.8.0;]" />
<necessite nom="saisies" compatibilite="[1.35.0;]" />
<utilise nom="polyhierarchie" compatibilite="[3.0.0;]" />
</paquet>

@ -0,0 +1,7 @@
[(#AUTORISER{configurer,_jaz}|sinon_interdire_acces)]
<h1 class="grostitre"><:jaz:titre_page_configurer_jaz:></h1>
<div class="ajax">
#FORMULAIRE_CONFIGURER_JAZ
</div>
Loading…
Cancel
Save