On change le stockage des modeles, on utilise finalement la table
spip_aut_mods, on aura plus de souplesse
This commit is contained in:
parent
19496d4e20
commit
3e8561ce8f
3 changed files with 51 additions and 14 deletions
|
@ -18,33 +18,42 @@
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<BOUCLE_auteurs(AUTEURS)
|
<BOUCLE_auteurs(AUTEURS)
|
||||||
{id_auteur ?!IN #ENV{id_auteur}}
|
{id_auteur ?IN #ENV{id_auteur}}
|
||||||
{statut ?!IN #ENV{statut}}
|
{statut ?IN #ENV{statut}}
|
||||||
{pgp ?!IN #ENV{pgp}}
|
{pgp ?!IN #ENV{pgp}}
|
||||||
{webmestre?}
|
{webmestre?}
|
||||||
{tout}>
|
{tout}>
|
||||||
[(#SET{nom_modele,#AUT_MODELE|json_decode{true}|table_valeur{name}})]
|
<tr id="auteur-#ID_AUTEUR" data-id_auteur="#ID_AUTEUR" data-new="[oui(#AUT_MODELE|!={''}|oui)]">
|
||||||
<tr id="auteur-#ID_AUTEUR" data-id_auteur="#ID_AUTEUR">
|
|
||||||
<td>
|
<td>
|
||||||
<div>
|
<div>
|
||||||
[(#PGP|=={boss}|oui)
|
[(#PGP|=={boss}|oui)
|
||||||
<img class="boss" src="[(#CHEMIN{img/boss.png})]" alt="boss"/>
|
<img class="boss" src="[(#CHEMIN{img/boss.png})]" alt="boss"/>
|
||||||
]
|
|
||||||
#NOM
|
#NOM
|
||||||
|
]
|
||||||
[(#PGP|=={boss}|non)
|
[(#PGP|=={boss}|non)
|
||||||
|
<a class="mediabox" href="[(#URL_PAGE{charger_aut_modele}
|
||||||
|
|parametre_url{id_auteur,#ID_AUTEUR}
|
||||||
|
|parametre_url{nom,#NOM}
|
||||||
|
|parametre_url{redirect,#SELF}
|
||||||
|
)]"
|
||||||
|
title="<:auted:charger_modele:>"
|
||||||
|
>
|
||||||
|
<i class="fa fa-upload"></i>
|
||||||
|
</a>
|
||||||
|
#NOM
|
||||||
<button class="toggle_save_modele" type="button"
|
<button class="toggle_save_modele" type="button"
|
||||||
title="<:auted:sauvegarder_modele:>"
|
title="<:auted:sauvegarder_modele:>"
|
||||||
data-id_auteur="#ID_AUTEUR"
|
data-id_auteur="#ID_AUTEUR"
|
||||||
>
|
>
|
||||||
<svg class="icone_svg [ (#GET{nom_modele}|oui)checked]" alt="">
|
<svg id="svg_save-#ID_AUTEUR" class="icone_svg [ (#AUT_MODELE|oui)checked]" alt="">
|
||||||
<title></title>
|
<title></title>
|
||||||
<use xlink:href="[(#CHEMIN{img/toggle.svg})]#toggle" />
|
<use xlink:href="[(#CHEMIN{img/toggle.svg})]#toggle" />
|
||||||
</svg>
|
</svg>
|
||||||
</button>
|
</button>
|
||||||
]
|
]
|
||||||
</div>
|
</div>
|
||||||
<div class="enregistrer_modele modele-#ID_AUTEUR[ (#GET{nom_modele}|non)pas_modele]">
|
<div class="enregistrer_modele modele-#ID_AUTEUR[ (#AUT_MODELE|non)pas_modele]">
|
||||||
<input id="modele-#ID_AUTEUR" class="" type="text" value="[(#GET{nom_modele})]" name="modele-#ID_AUTEUR"/>
|
<input id="modele-#ID_AUTEUR" class="" type="text" value="[(#AUT_MODELE)]" name="modele-#ID_AUTEUR"/>
|
||||||
</div>
|
</div>
|
||||||
<input type="hidden" name="Tid_auteur[]" value="#ID_AUTEUR" placeholder="Nom modèle">
|
<input type="hidden" name="Tid_auteur[]" value="#ID_AUTEUR" placeholder="Nom modèle">
|
||||||
</td>
|
</td>
|
||||||
|
@ -81,7 +90,23 @@
|
||||||
$(this).children('svg').toggleClass('checked');
|
$(this).children('svg').toggleClass('checked');
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
$('.select_autorisation').on('change', function(e){
|
||||||
|
e.stopPropagation();
|
||||||
|
var id_auteur = $(this).data('id_auteur');
|
||||||
|
if (id_auteur) {
|
||||||
|
var nouveau = $("#auteur-"+id_auteur).data('new');
|
||||||
|
console.log("new ", nouveau);
|
||||||
|
if (nouveau) {
|
||||||
|
$('input#modele-' + id_auteur)
|
||||||
|
.css('border-color', 'red')
|
||||||
|
.css('color', 'red');
|
||||||
|
$('#svg_save-' + id_auteur).css('fill', 'red');
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -35,18 +35,27 @@ function formulaires_editer_autorisations_traiter_dist($id_auteur=0, $redirect='
|
||||||
|
|
||||||
$set = [ 'autorisations' => json_encode($Tautorisations) ];
|
$set = [ 'autorisations' => json_encode($Tautorisations) ];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ($nom_modele) {
|
if ($nom_modele) {
|
||||||
$aut_modele = [
|
$aut_modele = [
|
||||||
'name' => $nom_modele,
|
'nom' => $nom_modele,
|
||||||
'modele' => $Tautorisations
|
'modele' => json_encode($Tautorisations),
|
||||||
|
'statut' => 'publie'
|
||||||
];
|
];
|
||||||
$set['aut_modele'] = json_encode($aut_modele);
|
$id_aut_modele = sql_getfetsel('id_aut_mod', 'spip_aut_mods', 'nom='.sql_quote($nom_modele));
|
||||||
|
if (intval($id_aut_modele)) {
|
||||||
|
sql_updateq('spip_aut_mods', $aut_modele, 'id_aut_mod='.intval($id_aut_modele));
|
||||||
|
} else {
|
||||||
|
sql_insertq('spip_aut_mods', $aut_modele);
|
||||||
|
}
|
||||||
|
$set['aut_modele'] = $nom_modele;
|
||||||
}
|
}
|
||||||
|
|
||||||
sql_updateq('spip_auteurs', $set, 'id_auteur='.intval($id));
|
sql_updateq('spip_auteurs', $set, 'id_auteur='.intval($id));
|
||||||
|
|
||||||
$auteur = sql_fetsel('*', 'spip_auteurs','id_auteur='.intval($id));
|
$auteur = sql_fetsel('*', 'spip_auteurs','id_auteur='.intval($id));
|
||||||
actualiser_sessions($auteur);
|
actualiser_sessions($auteur);
|
||||||
|
|
||||||
$retour['message_ok'] = "Enregistrement validé";
|
$retour['message_ok'] = "Enregistrement validé";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
#SET{name,aut_#ENV{type}}
|
#SET{name,aut_#ENV{type}}
|
||||||
<select id="#GET{name}" name="id-#ID_AUTEUR[][#ENV{type}]" class="select chosen" multiple>
|
<select id="#GET{name}"
|
||||||
|
data-id_auteur="#ID_AUTEUR"
|
||||||
|
name="id-#ID_AUTEUR[][#ENV{type}]" class="select select_autorisation chosen" multiple>
|
||||||
<option value=""></option>
|
<option value=""></option>
|
||||||
<BOUCLE_choix(DATA){source tableau,#ENV{faire}}>
|
<BOUCLE_choix(DATA){source tableau,#ENV{faire}}>
|
||||||
<option value="#VALEUR" [(#VALEUR|in_array{#ENV{autorisations,#ARRAY}}|oui) selected]>[(#VALEUR|majuscules)]</option>
|
<option value="#VALEUR" [(#VALEUR|in_array{#ENV{autorisations,#ARRAY}}|oui) selected]
|
||||||
|
>[(#VALEUR|majuscules)]</option>
|
||||||
</BOUCLE_choix>
|
</BOUCLE_choix>
|
||||||
</select>
|
</select>
|
||||||
|
|
Loading…
Add table
Reference in a new issue