4 * Fonction pour le squelette du même nom
6 * @package SPIP\Core\Formulaires
8 if (!defined('_ECRIRE_INC_VERSION')) {
13 * Afficher le formulaire de choix de rubrique restreinte
14 * pour insertion dans le formulaire
16 * @param int $id_auteur
17 * @param string $label
18 * @param string $sel_css
19 * Sélecteur CSS déterminant le conteneur de l'input reçevant les rubriques sélectionnées
20 * @param string $img_remove
21 * Balise `<img...>` pour enlever des rubriques
23 * Code HTML et javascript
25 function choisir_rubriques_admin_restreint(
28 $sel_css = '#liste_rubriques_restreintes',
33 // Ajouter une rubrique a un administrateur restreint
34 if ($chercher_rubrique = charger_fonction('chercher_rubrique', 'inc')
35 and $a = $chercher_rubrique(0, 'auteur', false)
38 $img_remove = addslashes("<a href=\"#\" onclick=\"jQuery(this).parent().remove();return false;\" class=\"removelink\">$img_remove</a>");
42 "\n<div id='ajax_rubrique'>\n"
43 . "<label>$label</label>\n"
44 . "<input name='id_auteur' value='$id_auteur' type='hidden' />\n"
48 // onchange = pour le menu
49 // l'evenement doit etre provoque a la main par le selecteur ajax
50 . "<script type='text/javascript'>/*<![CDATA[*/
52 $('#id_parent').on('change', function(){
53 var id_parent = parseInt(this.value);
55 var titre = $('#titreparent').val() || this.options[this.selectedIndex].text;
56 titre=titre.replace(/^\\s+/,'');
57 // Ajouter la rubrique selectionnee au formulaire,
58 // sous la forme d'un input name='rubriques[]'
59 var el = '<input type=\'checkbox\' class=\'checkbox\' checked=\'checked\' name=\'restreintes[]\' value=\''+id_parent+'\' /> ' + '<label><a href=\'?exec=rubrique&id_rubrique='+id_parent+'\' target=\'_blank\'>'+titre+'</a></label>';
60 el = el + '$img_remove';
61 if (!$('$sel_css input[value='+id_parent+']').length) {
62 $('$sel_css').append('<li class=\"rubrique\">'+el+'</li>');
66 .attr('name','noname');