Browse Source

on se passe enfin de Saisies + nettoyage et optimisation + incrémentation y

svn/root/tags/v1.4.4
chankalan@free.fr 8 years ago
parent
commit
ee6ded204a
  1. 1
      .gitattributes
  2. 1
      feuillederoute_pipelines.php
  3. 6
      formulaires/editer_feuillederoute.html
  4. 55
      formulaires/inc-feuillederoute_autorisations.html
  5. 17
      inc/bouton_feuillederoute.html
  6. 68
      inc/feuillederoute_autoriser.php
  7. 6
      paquet.xml
  8. 36
      prive/bouton/feuillederoute.html

1
.gitattributes

@ -12,6 +12,7 @@ images/feuillederoute-16.png -text
images/feuillederoute-32.png -text
images/moins.png -text
images/plus.png -text
inc/bouton_feuillederoute.html -text
inc/feuillederoute_autoriser.php -text
lang/feuillederoute_fr.php -text
lang/paquet-feuillederoute_fr.php -text

1
feuillederoute_pipelines.php

@ -7,6 +7,7 @@ function feuillederoute_formulaire_admin($flux) {
return $flux;
}
// inclure le bouton d'admin pour afficher/masquer la feuille de route dans l'espace d'administration
function feuillederoute_body_prive($flux){
$flux .= recuperer_fond('prive/bouton/feuillederoute');
return $flux;

6
formulaires/editer_feuillederoute.html

@ -14,11 +14,11 @@
<a href="#" class="poignee_feuillederoute" id="feuillederoute_ancre_editer"><:feuillederoute:modifier_le_texte:></a>
]
[<div class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</div>]
[<div class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</div>]
<div class="formulaire_spip formulaire_feuillederoute[(#GET{existe}|=={oui}|oui) tiroir_feuillederoute]">
[<div class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</div>]
[<div class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</div>]
<form action="#ENV{action}" method="post"><div>
#ACTION_FORMULAIRE{#ENV{action}}
<ul>[(#REM) structure ul > li juste pour pas boguer la barre des raccourcis > les onglets "voir"/"editer"]

55
formulaires/inc-feuillederoute_autorisations.html

@ -7,16 +7,23 @@
<li class="fieldset">
<fieldset>
<h3 class="legend">#VALEUR</h3>
<ul>
[(#REM) <!-- Choix de la methode d'autorisation --> ]
[(#SAISIE{radio, [(#GET{prefixe})]type,
label=<:feuillederoute:cfg_lbl_type_autorisation:>,
explication=<:feuillederoute:cfg_inf_type_autorisation:>,
datas=#ARRAY{
webmestre,<:feuillederoute:cfg_lbl_autorisation_webmestre:>,
par_statut,<:feuillederoute:cfg_lbl_autorisation_statuts:>,
par_auteur,<:feuillederoute:cfg_lbl_autorisation_auteurs:>},
defaut=par_statut})]
<ul id="[(#GET{prefixe})]bloc_par_type">
<li class="editer editer_#GET{prefixe}">
<label><:feuillederoute:cfg_lbl_type_autorisation:></label>
<p class="explication"><:feuillederoute:cfg_inf_type_autorisation:></p>
<div class="choix choix_webmestre">
<input type='radio' class='radio' name='#GET{prefixe}type' id='#GET{prefixe}_1'[(#ENV{#GET{prefixe}type}|=={webmestre}|oui)checked="checked" ]value="webmestre" />
<label for="#GET{prefixe}_1"><:feuillederoute:autoriser_uniquement_les_webmestres:></label>
</div>
<div class="choix choix_par_statut">
<input type='radio' class='radio' name='#GET{prefixe}type' id='#GET{prefixe}_2'[(#ENV{#GET{prefixe}type}|=={par_statut}|oui)checked="checked" ]value="par_statut" />
<label for="#GET{prefixe}_2"><:feuillederoute:autoriser_par_statut_d_auteur:></label>
</div>
<div class="choix choix_par_auteur">
<input type='radio' class='radio' name='#GET{prefixe}type' id='#GET{prefixe}_3'[(#ENV{#GET{prefixe}type}|=={par_auteur}|oui)checked="checked" ]value="par_auteur" />
<label for="#GET{prefixe}_3"><:feuillederoute:autoriser_par_auteur:></label>
</div>
</li>
</ul>
[(#REM) <!-- Methode par statut d'auteurs (choix multiple) --> ]
<ul id="[(#GET{prefixe})]bloc_par_statut" class="[(#GET{prefixe})]bloc[(#ENV{[(#GET{prefixe})type]}|non) visible]">
@ -27,18 +34,26 @@
#SET{defaut,#ARRAY{0,0minirezo,1,1comite}}]
]
[(#SAISIE{statuts_auteurs,[(#GET{prefixe})]statuts,
label=<:feuillederoute:cfg_lbl_statuts_auteurs:>,
defaut=#GET{defaut},
multiple=oui})]
<li class="editer editer_[(#GET{prefixe})]statuts">
<label for="champ_modifier_statuts"><:feuillederoute:statuts_possibles:></label>
<select size="3" multiple="multiple" id="champ_[(#GET{prefixe})]statuts" name="[(#GET{prefixe})]statuts[]">
<option[(#VAL{0minirezo}|in_any{#ENV{#GET{prefixe}statuts}}|oui) selected="selected"] value="0minirezo">Administrateurs</option>
<option[(#VAL{1comite}|in_any{#ENV{#GET{prefixe}statuts}}|oui) selected="selected"] value="1comite">Rédacteurs</option>
<option[(#VAL{6forum}|in_any{#ENV{#GET{prefixe}statuts}}|oui) selected="selected"] value="6forum">Visiteurs</option>
</select>
</li>
</ul>
[(#REM) <!-- Methode par id d'auteurs (choix multiple) --> ]
<B_auteurs>[(#REM) <!-- Methode par id d'auteurs (choix multiple) --> ]
<ul id="[(#GET{prefixe})]bloc_par_auteur" class="[(#GET{prefixe})]bloc">
[(#SAISIE{auteurs,[(#GET{prefixe})]auteurs,
label=<:feuillederoute:cfg_lbl_liste_auteurs:>,
multiple=oui,
option_statut=oui})]
</ul>
<li class="editer editer_[(#GET{prefixe})]auteurs">
<label><:feuillederoute:cfg_lbl_liste_auteurs:></label>
<select size="10" multiple="multiple" id="champ_[(#GET{prefixe})]auteurs" name="[(#GET{prefixe})]auteurs[]">
<BOUCLE_auteurs(AUTEURS){par nom}{tout}>
<option[(#VAL{#ID_AUTEUR}|in_any{#ENV{#GET{prefixe}auteurs}}|oui) selected="selected"] value="#ID_AUTEUR">#NOM</option>
</BOUCLE_auteurs>
</select>
</li>
</ul></B_auteurs>
</fieldset>
<script type="text/javascript">
//<![CDATA[

17
inc/bouton_feuillederoute.html

@ -0,0 +1,17 @@
[(#PLUGIN{minibando}|oui)[(#REM|test_espace_prive|non)<li id="minibando_bouton_feuillederoute">]]
<a[ href="(#URL_PAGE{feuillederoute})"] class="spip-admin-boutons" id="btn_feuillederoute"[(#PLUGIN{minibando}|oui)[(#REM|test_espace_prive|non) style="text-indent:0;font-size:10px;text-align:center;line-height:24px;"]]>[(#PLUGIN{minibando}|oui)[(#REM|test_espace_prive|non)FdR][(#REM|test_espace_prive|oui)#CONFIG{feuillederoute/titre}]][(#PLUGIN{minibando}|non)#CONFIG{feuillederoute/titre}]</a>
<script type="text/javascript">
$(document).ready(function(){
// preparer le chargement ajax
$('body').append('<div class="charger_feuillederoute"></div>');
// charger + afficher/masquer la feuille de route
$('#btn_feuillederoute').click(function(){
var url_feuillederoute = $(this).attr('href');
$('.charger_feuillederoute').load(url_feuillederoute,function(){
$(this).toggle(200);
});
return false;
});
});
</script>
[(#PLUGIN{minibando}|oui)[(#REM|test_espace_prive|non)<span></span><ul><li><p><:feuillederoute:feuillederoute:></p></li></ul></li>]]

68
inc/feuillederoute_autoriser.php

@ -52,10 +52,7 @@ function definir_autorisations_feuillederoute($action,$utiliser_defaut=true){
}
/**
* Autorisation de modification des feuillederoute
* Défini qui peut modifier les feuillederoute :
* - Les personnes assignées
* - Les personnes correspondant à la configuration
* Autorisation de modification de la feuillederoute
*
* @param string $faire : l'action à faire
* @param string $type : le type d'objet sur lequel porte l'action
@ -68,42 +65,39 @@ function autoriser_feuillederoute_modifier_dist($faire, $type, $id, $qui, $opt){
$autorise = false;
$utiliser_defaut = true;
if(is_numeric($id)){
if(!function_exists('lire_config'))
include_spip('inc/config');
if(!function_exists('lire_config'))
include_spip('inc/config');
$type = lire_config('feuillederoute/autorisations/modifier_type', 'par_statut');
if($type){
switch($type) {
case 'webmestre':
// Webmestres uniquement
$autorise = ($qui['webmestre'] == 'oui');
break;
case 'par_statut':
// Autorisation par statut
$autorise = in_array($qui['statut'], lire_config('feuillederoute/autorisations/modifier_statuts',array('0minirezo')));
break;
case 'par_auteur':
// Autorisation par id d'auteurs
$autorise = in_array($qui['id_auteur'], lire_config('feuillederoute/autorisations/modifier_auteurs',array()));
break;
}
if($autorise == true){
return $autorise;
}
$utiliser_defaut = false;
$type = lire_config('feuillederoute/autorisations/modifier_type', 'par_statut');
if($type){
switch($type) {
case 'webmestre':
// Webmestres uniquement
$autorise = ($qui['webmestre'] == 'oui');
break;
case 'par_statut':
// Autorisation par statut
$autorise = in_array($qui['statut'], lire_config('feuillederoute/autorisations/modifier_statuts',array('0minirezo')));
break;
case 'par_auteur':
// Autorisation par id d'auteurs
$autorise = in_array($qui['id_auteur'], lire_config('feuillederoute/autorisations/modifier_auteurs',array()));
break;
}
// Si $utiliser_defaut = true, on utilisera les valeurs par défaut
// Sinon on ajoute la possibilité de régler par define
$liste = definir_autorisations_feuillederoute('modifier',$utiliser_defaut);
if ($liste['statut'])
$autorise = in_array($qui['statut'], $liste['statut']);
else if ($liste['auteur'])
$autorise = in_array($qui['id_auteur'], $liste['auteur']);
if($autorise == true){
return $autorise;
}
$utiliser_defaut = false;
}
// Si $utiliser_defaut = true, on utilisera les valeurs par défaut
// Sinon on ajoute la possibilité de régler par define
$liste = definir_autorisations_feuillederoute('modifier',$utiliser_defaut);
if ($liste['statut'])
$autorise = in_array($qui['statut'], $liste['statut']);
else if ($liste['auteur'])
$autorise = in_array($qui['id_auteur'], $liste['auteur']);
return $autorise;
}

6
paquet.xml

@ -1,9 +1,9 @@
<paquet
prefix="feuillederoute"
categorie="communication"
version="1.3.0"
version="1.4.0"
etat="stable"
compatibilite="[3.0.0;3.0.*]"
compatibilite="[3.0.0;3.*]"
logo="images/feuillederoute-32.png"
schema="0.0.1"
documentation="http://contrib.spip.net/Feuille-de-Route"
@ -20,6 +20,4 @@ documentation="http://contrib.spip.net/Feuille-de-Route"
<pipeline nom="body_prive" inclure="feuillederoute_pipelines.php" />
<pipeline nom="autoriser" inclure="inc/feuillederoute_autoriser.php" />
<necessite nom="saisies" compatibilite="[1.3;[" />
</paquet>

36
prive/bouton/feuillederoute.html

@ -1,43 +1,11 @@
[(#REM) eviter les incoherences de parametrage, par exemple les redacteurs peuvent ecrire mais pas lire : si on peut ecrire, alors on oblige a pouvoir lire meme si c'est contraire a la config ]
[(#AUTORISER{lire,feuillederoute}|oui)
[(#PLUGIN{minibando}|oui)[(#REM|test_espace_prive|non)<li id="minibando_bouton_feuillederoute">]]
<a[ href="(#URL_PAGE{feuillederoute})"] class="spip-admin-boutons" id="btn_feuillederoute"[(#PLUGIN{minibando}|oui)[(#REM|test_espace_prive|non) style="text-indent:0;font-size:10px;text-align:center;line-height:24px;"]]>[(#PLUGIN{minibando}|oui)[(#REM|test_espace_prive|non)FdR][(#REM|test_espace_prive|oui)#CONFIG{feuillederoute/titre}]][(#PLUGIN{minibando}|non)#CONFIG{feuillederoute/titre}]</a>
<script type="text/javascript">
$(document).ready(function(){
// preparer le chargement ajax
$('body').append('<div class="charger_feuillederoute"></div>');
// charger + afficher/masquer la feuille de route
$('#btn_feuillederoute').click(function(){
var url_feuillederoute = $(this).attr('href');
$('.charger_feuillederoute').load(url_feuillederoute,function(){
$(this).toggle(200);
});
return false;
});
});
</script>
[(#PLUGIN{minibando}|oui)[(#REM|test_espace_prive|non)<span></span><ul><li><p><:feuillederoute:feuillederoute:></p></li></ul></li>]]
<INCLURE{fond=inc/bouton_feuillederoute} />
]
[(#AUTORISER{lire,feuillederoute}|non)
[(#AUTORISER{modifier,feuillederoute}|oui)
[(#PLUGIN{minibando}|oui)<li id="minibando_bouton_feuillederoute">]
<a[ href="(#URL_PAGE{feuillederoute})"] class="spip-admin-boutons" id="btn_feuillederoute"[(#PLUGIN{minibando}|oui)[(#REM|test_espace_prive|non) style="text-indent:0;font-size:10px;text-align:center;line-height:24px;"]]>[(#PLUGIN{minibando}|oui) [(#REM|test_espace_prive|non)FdR][(#REM|test_espace_prive|oui)#CONFIG{feuillederoute/titre}]][(#PLUGIN{minibando}|non)#CONFIG{feuillederoute/titre}]</a>
<script type="text/javascript">
$(document).ready(function(){
// preparer le chargement ajax
$('body').append('<div class="charger_feuillederoute"></div>');
// charger + afficher/masquer la feuille de route
$('#btn_feuillederoute').click(function(){
var url_feuillederoute = $(this).attr('href');
$('.charger_feuillederoute').load(url_feuillederoute,function(){
$(this).toggle(200);
});
return false;
});
});
</script>
[(#PLUGIN{minibando}|oui)[(#REM|test_espace_prive|non)<span></span><ul><li><p>#CONFIG{feuillederoute/titre}</p></li></ul></li>]]
<INCLURE{fond=inc/bouton_feuillederoute} />
]
]
[(#REM|test_espace_prive|oui)

Loading…
Cancel
Save