X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fecrire%2Finc%2Fchercher_rubrique.php;fp=www%2Fecrire%2Finc%2Fchercher_rubrique.php;h=3ac235743c2ba815c3548024ad4c3c85203e03d2;hp=0000000000000000000000000000000000000000;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c
diff --git a/www/ecrire/inc/chercher_rubrique.php b/www/ecrire/inc/chercher_rubrique.php
new file mode 100644
index 0000000..3ac2357
--- /dev/null
+++ b/www/ecrire/inc/chercher_rubrique.php
@@ -0,0 +1,219 @@
+ 0
+ AND $root == $exclus) return '';
+
+ // en fonction du niveau faire un affichage plus ou moins kikoo
+
+ // selected ?
+ $selected = ($root == $id_rubrique) ? ' selected="selected"' : '';
+
+ // le style en fonction de la profondeur
+ list($class, $style, $espace) = style_menu_rubriques($niv);
+
+ // class='selec_rub' sauf pour contourner le bug MSIE / MacOs 9.0
+ if (!($browser_name == "MSIE" AND floor($browser_version) == "5"))
+ $class .= " selec_rub";
+
+ // creer l''."\n";
+ } else $r = '';
+
+ // et le sous-menu pour ses enfants
+ $sous = '';
+ if (isset($enfants[$root]))
+ foreach ($enfants[$root] as $sousrub)
+ $sous .= sous_menu_rubriques($id_rubrique, $sousrub,
+ $niv+1, $data, $enfants, $exclus, $restreint, $type);
+
+ // si l'objet a deplacer est publie, verifier qu'on a acces aux rubriques
+ if ($restreint AND !autoriser('publierdans','rubrique',$root))
+ return $sous;
+
+ // sauter un cran pour les secteurs (sauf premier)
+ if ($niv == 1
+ AND $decalage_secteur++
+ AND $type != 'breve')
+ $r = "\n".$r;
+
+ // et voila le travail
+ return $r.$sous;
+}
+
+// Le selecteur de rubriques en mode classique (menu)
+// http://doc.spip.org/@selecteur_rubrique_html
+function selecteur_rubrique_html($id_rubrique, $type, $restreint, $idem=0) {
+ $data = array();
+ if ($type == 'rubrique')
+ $data[0] = _T('info_racine_site');
+ if ($type == 'auteur')
+ $data[0] = ' '; # premier choix = neant (rubriques restreintes)
+
+ //
+ // creer une structure contenant toute l'arborescence
+ //
+
+ include_spip('base/abstract_sql');
+ $q = sql_select("id_rubrique, id_parent, titre, statut, lang, langue_choisie", "spip_rubriques", ($type == 'breve' ? ' id_parent=0 ' : ''), '', "0+titre,titre");
+ while ($r = sql_fetch($q)) {
+ if (autoriser('voir','rubrique',$r['id_rubrique'])){
+ // titre largeur maxi a 50
+ $titre = couper(supprimer_tags(typo($r['titre']))." ", 50);
+ if ($GLOBALS['meta']['multi_rubriques'] == 'oui'
+ AND ($r['langue_choisie'] == "oui" OR $r['id_parent'] == 0))
+ $titre .= ' ['.traduire_nom_langue($r['lang']).']';
+ $data[$r['id_rubrique']] = $titre;
+ $enfants[$r['id_parent']][] = $r['id_rubrique'];
+ if ($id_rubrique == $r['id_rubrique']) $id_parent = $r['id_parent'];
+ }
+ }
+
+
+ $opt = sous_menu_rubriques($id_rubrique,0, 0,$data,$enfants,$idem, $restreint, $type);
+ $att = " id='id_parent' name='id_parent'\nclass='selecteur_parent verdana1'";
+
+ if (preg_match(',^$,',$opt,$r))
+ $r = "" . $r[2] ;
+ else
+ $r = "\n";
+
+ # message pour neuneus (a supprimer ?)
+# if ($type != 'auteur' AND $type != 'breve')
+# $r .= "\n
"._T('texte_rappel_selection_champs');
+
+ return $r;
+}
+
+// http://doc.spip.org/@selecteur_rubrique_ajax
+function selecteur_rubrique_ajax($id_rubrique, $type, $restreint, $idem=0, $do) {
+
+ ## $restreint indique qu'il faut limiter les rubriques affichees
+ ## aux rubriques editables par l'admin restreint... or, ca ne marche pas.
+ ## Pour la version HTML c'est bon (cf. ci-dessus), mais pour l'ajax...
+ ## je laisse ca aux specialistes de l'ajax & des admins restreints
+ ## note : toutefois c'est juste un pb d'interface, car question securite
+ ## la verification est faite a l'arrivee des donnees (Fil)
+
+ if ($id_rubrique) {
+ $titre = sql_fetsel("titre", "spip_rubriques", "id_rubrique=$id_rubrique");
+ $titre = $titre['titre'];
+ } else if ($type == 'auteur')
+ $titre = ' ';
+ else
+ $titre = _T('info_racine_site');
+
+ $titre = str_replace('&', '&', entites_html(textebrut(typo($titre))));
+ $init = " disabled='disabled' type='text' value=\"" . $titre . "\"\nstyle='width:300px;'";
+
+ $url = generer_url_ecrire('selectionner',"id=$id_rubrique&type=$type&do=$do"
+ . (!$idem ? '' : ("&exclus=$idem&racine=" . ($restreint ? 'non' : 'oui')))
+ . (isset($GLOBALS['var_profile']) ? '&var_profile=1' : ''));
+
+
+ return construire_selecteur($url, '', 'selection_rubrique', 'id_parent', $init, $id_rubrique);
+}
+
+// construit un bloc comportant une icone clicable avec image animee a cote
+// pour charger en Ajax du code a mettre sous cette icone.
+// Attention: changer le onclick si on change le code Html.
+// (la fonction JS charger_node ignore l'attribut id qui ne sert en fait pas;
+// getElement en mode Ajax est trop couteux).
+
+// http://doc.spip.org/@construire_selecteur
+function construire_selecteur($url, $js, $idom, $name, $init='', $id=0)
+{
+ $icone = (strpos($idom, 'auteur')!==false) ? 'message.gif' : 'loupe.png';
+ return
+ "