[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / prive / formulaires / inc-instituer_auteur_fonctions.php
1 <?php
2
3 /**
4 * Fonction pour le squelette du même nom
5 *
6 * @package SPIP\Core\Formulaires
7 **/
8 if (!defined('_ECRIRE_INC_VERSION')) {
9 return;
10 }
11
12 /**
13 * Afficher le formulaire de choix de rubrique restreinte
14 * pour insertion dans le formulaire
15 *
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
22 * @return string
23 * Code HTML et javascript
24 */
25 function choisir_rubriques_admin_restreint(
26 $id_auteur,
27 $label = '',
28 $sel_css = '#liste_rubriques_restreintes',
29 $img_remove = ''
30 ) {
31 global $spip_lang;
32 $res = '';
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)
36 ) {
37 if ($img_remove) {
38 $img_remove = addslashes("<a href=\"#\" onclick=\"jQuery(this).parent().remove();return false;\" class=\"removelink\">$img_remove</a>");
39 }
40
41 $res =
42 "\n<div id='ajax_rubrique'>\n"
43 . "<label>$label</label>\n"
44 . "<input name='id_auteur' value='$id_auteur' type='hidden' />\n"
45 . $a
46 . "</div>\n"
47
48 // onchange = pour le menu
49 // l'evenement doit etre provoque a la main par le selecteur ajax
50 . "<script type='text/javascript'>/*<![CDATA[*/
51 jQuery(function($){
52 $('#id_parent').on('change', function(){
53 var id_parent = parseInt(this.value);
54 if (id_parent){
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&amp;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>');
63 }
64 }
65 })
66 .attr('name','noname');
67 });
68 /*]]>*/</script>";
69 }
70
71 return $res;
72 }