3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2014 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
13 if (!defined('_ECRIRE_INC_VERSION')) return;
15 /* Ce fichier contient des fonctions, globales ou constantes */
16 /* qui ont fait partie des fichiers de configurations de Spip */
17 /* mais en ont ete retires ensuite. */
18 /* Ce fichier n'est donc jamais charge par la presente version */
19 /* mais est present pour que les contributions a Spip puissent */
20 /* fonctionner en chargeant ce fichier, en attendant d'etre */
21 /* reecrites conformement a la nouvelle interface. */
23 define('_SIGNALER_ECHOS', false);
26 // Log des appels aux vieilles_defs
27 // http://doc.spip.org/@vieilles_log
28 function vieilles_log($quoi) {
29 static $vus = array();
31 if (!isset($vus[$c])) {
32 spip_log($quoi.' '.$GLOBALS['REQUEST_URI'].' - '.$_SERVER['SCRIPT_NAME'], 'vieilles_defs');
34 } else if (++
$vus[$c] > 100) spip_log("$quoi doit imperativement etre remplacee");
39 'debut_raccourcis' => '() {
40 vieilles_log(\'debut_raccourcis()\');
43 echo "<div> </div>";
44 echo creer_colonne_droite(\'\', true);
46 echo debut_cadre_enfonce(\'\',true);
47 if ($spip_display != 4) {
48 echo "<font face=\'Verdana, Geneva, Sans, sans-serif\' size=1>";
49 echo "<b>"._T(\'titre_cadre_raccourcis\')."</b><p />";
51 echo "<h3>"._T(\'titre_cadre_raccourcis\')."</h3>";
57 'fin_raccourcis' => '() {
58 vieilles_log(\'fin_raccourcis()\');
62 if ($spip_display != 4) echo "</font>";
65 echo fin_cadre_enfonce(true);
70 'include_ecrire' => '($file, $silence=false) {
71 vieilles_log(\'include_ecrire()\');
73 preg_match(\'/^((inc_)?([^.]*))(\.php[3]?)?$/\', $file, $r);
75 // Version new style, surchargeable
77 if ($r[3] == \'index\') return false; // inc/indexation
78 if ($r[3] == \'db_mysql\') return include_spip(\'base/db_mysql\');
79 if ($r[3] == \'connect\') { spip_connect(); return; }
82 if ($f=include_spip(\'inc/\'.$r[3]))
85 // fichiers old-style, ecrire/inc_truc.php
86 if (is_readable($f = _DIR_RESTREINT . $r[1] . \'.php\'))
87 return include_once($f);
92 'afficher_script_layer' => '(){
93 vieilles_log(\'afficher_script_layer()\');
95 echo $GLOBALS[\'browser_layer\'];}
100 vieilles_log(\'test_layer()\');
102 return $GLOBALS[\'browser_layer\'];}
107 'affiche_auteur_boucle' => '($row, &$tous_id){
108 vieilles_log(\'affiche_auteur_boucle()\');
112 $id_auteur = $row[\'id_auteur\'];
114 $nom = $row[\'nom\'];
116 $s = bonhomme_statut($row);
117 $s .= "<a href=\'" . generer_url_ecrire("auteur_infos","id_auteur=$id_auteur") . "\'>";
127 'spip_abstract_quote' => '($arg_sql) {
128 vieilles_log(\'spip_abstract_quote()\');
130 return sql_quote($arg_sql);
135 'creer_repertoire' => '($base, $subdir) {
136 vieilles_log(\'creer_repertoire()\');
138 return sous_repertoire($base, $subdir, true);
143 'parse_plugin_xml' => '($texte, $clean=true){
144 vieilles_log(\'parse_plugin_xml()\');
146 include_spip(\'inc/xml\');
147 return spip_xml_parse($texte,$clean);
152 'applatit_arbre' => '($arbre,$separateur = " "){
153 vieilles_log(\'applatit_arbre()\');
155 include_spip(\'inc/xml\');
156 return spip_xml_aplatit($arbre,$separateur);
165 'bandeau_titre_boite' => '($titre, $afficher_auteurs, $boite_importante = true) {
166 vieilles_log(\'bandeau_titre_boite()\');
168 global $couleur_foncee;
169 if ($boite_importante) {
170 $couleur_fond = $couleur_foncee;
171 $couleur_texte = \'#FFFFFF\';
174 $couleur_fond = \'#EEEECC\';
175 $couleur_texte = \'#000000\';
177 echo "<tr bgcolor=\'$couleur_fond\'><td width=\"100%\"><font face=\'Verdana, Geneva, Sans, sans-serif\' size=\'3\' color=\'$couleur_texte\'>";
178 echo "<b>$titre</b></font></td>";
179 if ($afficher_auteurs){
180 echo "<td width=\'100\'>";
181 echo http_img_pack("rien.gif", "", "width=\'100\' height=\'12\'");
184 echo "<td width=\'90\'>";
185 echo http_img_pack("rien.gif", "", "width=\'90\' height=\'12\'");
192 'debut_page' => '($titre = "", $rubrique = "accueil", $sous_rubrique = "accueil", $onLoad = "" /* ignore */, $id_rubrique = "") {
193 vieilles_log(\'debut_page()\');
195 $commencer_page = charger_fonction(\'commencer_page\', \'inc\');
196 echo $commencer_page($titre, $rubrique, $sous_rubrique, $id_rubrique);
197 if ($onLoad) vieilles_log("parametre obsolete onLoad=$onLoad");
200 // obsolete, utiliser calculer_url
203 'extraire_lien' => '($regs) {
204 vieilles_log(\'extraire_lien()\');
206 list($lien, $class, $texte) = calculer_url($regs[3], $regs[1],\'tout\');
207 // Preparer le texte du lien ; attention s\'il contient un <div>
208 // (ex: [<docXX|right>->lien]), il faut etre smart
209 $ref = "<a href=\"$lien\" class=\"$class\">$texte</a>";
210 return array($ref, $lien, $texte);
213 // Prendre la fonction inc_dater_dist, qui fait du Ajax.
216 'afficher_formulaire_date' => '($script, $args, $texte, $jour, $mois, $annee){
217 vieilles_log(\'afficher_formulaire_date()\');
219 global $couleur_foncee;
220 return generer_url_post_ecrire($script, $args)
221 . "<table cellpadding=\'5\' cellspacing=\'0\' border=\'0\' width=\'100%\' background=\'"
222 . chemin_image(\'rien.gif\')
224 . "<tr><td bgcolor=\'$couleur_foncee\' colspan=\'2\'><font size=\'2\' color=\'#ffffff\'><b>"
225 ._T(\'texte_date_publication_article\')
227 . "<tr><td align=\'center\'>"
228 . afficher_jour($jour, "name=\'jour\' size=\'1\'", true)
229 . afficher_mois($mois, "name=\'mois\' size=\'1\'", true)
230 . afficher_annee($annee, "name=\'annee\' size=\'1\'",1996)
231 . "</td><td align=\'right\'>"
232 . "<input type=\'submit\' name=\'Changer\' value=\'"
233 . _T(\'bouton_changer\')
235 . "</td></tr></table>"
241 'ratio_image' => '($logo, $nom, $format, $taille, $taille_y, $attributs) {
242 vieilles_log(\'ratio_image()\');
244 // $logo est le nom complet du logo ($logo = "chemin/$nom.$format)
245 // $nom et $format ne servent plus du fait du passage par le filtre image_reduire
246 include_spip(\'inc/filtres_images_mini\');
247 $res = image_reduire("<img src=\'$logo\' $attributs />", $taille, $taille_y);
253 'entites_unicode' => '($texte) {
254 vieilles_log(\'entites_unicode()\');
256 return charset2unicode($texte);
260 // utiliser directement le corps a present.
264 'afficher_claret' => '() {
265 vieilles_log(\'afficher_claret()\');
267 include_spip(\'inc/layer\');
268 return $GLOBALS[\'browser_caret\'];
274 'spip_insert_id' => '() {
275 vieilles_log(\'spip_insert_id()\');
277 return mysql_insert_id();
281 // revenir a la langue precedente
284 'lang_dselect' => '() {
285 vieilles_log(\'lang_dselect()\');
289 // toujours disponible pour PHP > 4.0.1
290 $GLOBALS[\'flag_revisions\'] = function_exists("gzcompress");
292 // toujours a cette valeur a present
293 $GLOBALS[\'options\'] = \'avancees\';
295 // synonyme plus jamais utile
296 $GLOBALS[\'langue_site\'] = $GLOBALS[\'meta\'][\'langue_site\'];
297 $GLOBALS[\'all_langs\'] = @$GLOBALS[\'meta\'][\'langues_proposees\'];
300 'generer_url_post_ecrire' => '($script, $args=\'\', $name=\'\', $ancre=\'\', $onchange=\'\') {
301 vieilles_log(\'generer_url_post_ecrire()\');
303 include_spip(\'inc/filtres\');
304 $action = generer_url_ecrire($script, $args);
305 if ($name) $name = " name=\'$name\'";
306 return "\n<form action=\'$action$ancre\'$name method=\'post\'$onchange>"
307 .form_hidden($action);
312 'afficher_articles' => '($titre, $requete, $formater=\'\') {
313 vieilles_log(\'afficher_articles()\');
315 afficher_objets(\'article\',$titre,$requete,$formater);
319 'afficher_auteurs' => '($titre_table, $requete) {
320 vieilles_log(\'afficher_auteurs()\');
322 afficher_objets(\'auteur\',$titre_table,$requete,\'\');
326 'afficher_sites' => '($titre_table, $requete){
327 vieilles_log(\'afficher_sites()\');
329 afficher_objets(\'site\',$titre_table,$requete,\'\');
333 'afficher_syndic_articles' => '($titre_table, $requete, $id = 0) {
334 vieilles_log(\'afficher_syndic_articles()\');
336 afficher_objets(\'syndic_article\',$titre_table,$requete,$id);
339 // Retourne les droits de publication d\'un auteur selon le codage suivant:
340 // - le tableau de ses rubriques si c\'est un admin restreint
341 // - 0 si c\'est un admin de plein droit
342 // - la chaine indiquant son statut s\'il n\'est pas admin
346 'auth_rubrique' => '($id_auteur, $statut)
350 if ($statut != \'0minirezo\') return $statut;
352 $result = sql_select("id_rubrique", "spip_auteurs_rubriques", "id_auteur=$id_auteur AND id_rubrique!=\'0\'");
353 if (!sql_count($result)) {
356 $rubriques = array();
359 while ($row = spip_fetch_array($result)) {
360 $id_rubrique = $row[\'id_rubrique\'];
361 $r[]= $rubriques[$id_rubrique] = $id_rubrique;
363 if (!$r) return $rubriques;
364 $r = join(\',\', $r);
366 $result = sql_select("id_rubrique", "spip_rubriques", "id_parent IN ($r) AND id_rubrique NOT IN ($r)");
372 'bouton_block_invisible' => '($nom_block, $icone=\'\') {
373 vieilles_log(\'bouton_block_invisible()\');
374 include_spip(\'inc/layer\');
375 return bouton_block_depliable(_T("info_sans_titre"),false,$nom_block);
380 'bouton_block_visible' => '($nom_block){
381 vieilles_log(\'bouton_block_visible()\');
382 include_spip(\'inc/layer\');
383 return bouton_block_depliable(_T("info_sans_titre"),true,$nom_block);
388 'debut_block_visible' => '($id=""){
389 vieilles_log(\'debut_block_visible()\');
390 include_spip(\'inc/layer\');
391 return debut_block_depliable(true,$id);
396 'debut_block_invisible' => '($id=""){
397 vieilles_log(\'debut_block_invisible()\');
398 include_spip(\'inc/layer\');
399 return debut_block_depliable(false,$id);
404 'init_config' => '(){
405 vieilles_log(\'init_config()\');
407 include_spip(\'inc/config\');
414 'extraire_tags' => '($texte) {
415 vieilles_log(\'extraire_tags()\');
417 return extraire_balises($texte, \'a\');
421 // synonyme de extraire_balise
422 'extraire_tag' => '($texte, $tag=\'a\') {
423 vieilles_log(\'extraire_tag()\');
425 return extraire_balise($texte, $tag);
435 'bandeau_titre_boite2' => '($titre, $logo="", $fond="toile_blanche", $texte="ligne_noire") {
436 vieilles_log(\'bandeau_titre_boite2()\');
437 global $spip_lang_left, $spip_display, $browser_name;
439 if (strlen($logo) > 0 AND $spip_display != 1 AND $spip_display != 4) {
440 $ie_style = ($browser_name == "MSIE") ? "height:1%" : \'\';
442 return "\n<div style=\'position: relative;$ie_style\'>"
443 . "\n<div style=\'position: absolute; top: -12px; $spip_lang_left: 3px;\'>"
444 . http_img_pack($logo, "", "")
446 . "\n<div style=\'padding: 3px; padding-$spip_lang_left: 30px; border-bottom: 1px solid #444444;\' class=\'verdana2 $fond $texte\'>$titre</div>"
449 return "<h3 style=\'padding: 3px; border-bottom: 1px solid #444444; margin: 0px;\' class=\'verdana2 $fond $texte\'>$titre</h3>";
455 'spip_free_result' => '($r) {
456 vieilles_log(\'spip_free_result()\');
463 'creer_objet_multi' => '($r, $l) {
464 vieilles_log(\'creer_objet_multi()\');
471 'envoyer_mail' => '($email, $sujet, $texte, $from = "", $headers = "") {
472 vieilles_log(\'envoyer_mail()\');
473 define(\'_FUNCTION_ENVOYER_MAIL\', charger_fonction(\'envoyer_mail\', \'inc\'));
474 $args = func_get_args();
475 if (_FUNCTION_ENVOYER_MAIL){
476 return call_user_func_array(_FUNCTION_ENVOYER_MAIL, $args);
483 'spip_num_rows' => '($r) {
484 vieilles_log(\'spip_num_rows()\');
486 return sql_count($r);
492 'spip_abstract_serveur' => '($ins_sql, $serveur) {
493 vieilles_log(\'spip_abstract_serveur()\');
494 return sql_serveur($ins_sql, $serveur);
499 'spip_abstract_select' => '(
500 $select = array(), $from = array(), $where = array(),
501 $groupby = \'\', $orderby = array(), $limit = \'\',
502 $sousrequete = \'\', $having = array(),
503 $table = \'\', $id = \'\', $serveur=\'\') {
505 $select, $from, $where,
506 $groupby, $orderby, $limit,
507 $sousrequete, $having,
508 $table, $id, $serveur);
513 'spip_abstract_fetch' => '($res, $serveur=\'\') {
514 vieilles_log(\'spip_abstract_fetch()\');
515 return sql_fetch($res, $serveur);
520 'spip_abstract_count' => '($res, $serveur=\'\') {
521 vieilles_log(\'spip_abstract_count()\');
522 return sql_count($res, $serveur);
527 'spip_abstract_free' => '($res, $serveur=\'\') {
528 vieilles_log(\'spip_abstract_free()\');
529 return sql_free($res, $serveur);
534 'spip_abstract_insert' => '($table, $noms, $valeurs, $serveur=\'\') {
535 vieilles_log(\'spip_abstract_insert()\');
536 return sql_insert($table, $noms, $valeurs, $serveur);
541 'spip_abstract_update' => '($table, $exp, $where, $serveur=\'\') {
542 vieilles_log(\'spip_abstract_update()\');
543 return sql_update($table, $exp, $where, $serveur);
548 'spip_abstract_delete' => '($table, $where, $serveur=\'\') {
549 vieilles_log(\'spip_abstract_delete()\');
550 return sql_delete($table, $where, $serveur);
555 'spip_abstract_replace' => '($table, $values, $keys, $serveur=\'\'){
556 vieilles_log(\'spip_abstract_replace()\');
557 return sql_replace($table, $values, $keys, $serveur);
562 'spip_abstract_showtable' => '($table, $serveur=\'\', $table_spip = false) {
563 vieilles_log(\'spip_abstract_showtable()\');
564 return sql_showtable($table, $table_spip, $serveur);
569 'spip_abstract_create' => '($nom, $champs, $cles, $autoinc=false, $temporary=false, $serveur=\'\') {
570 vieilles_log(\'spip_abstract_create()\');
571 return sql_create($nom, $champs, $cles, $autoinc, $temporary, $serveur);
576 'spip_create_table' => '($nom, $champs, $cles, $autoinc=false, $temporary=false) {
577 vieilles_log(\'spip_create_table()\');
578 return sql_create($nom, $champs, $cles, $autoinc, $temporary);
583 'spip_abstract_multi' => '($sel, $lang, $serveur=\'\') {
584 vieilles_log(\'spip_abstract_multi()\');
585 return sql_multi($sel, $lang, $serveur);
590 'spip_abstract_fetsel' => '(
591 $select = array(), $from = array(), $where = array(),
592 $groupby = \'\', $orderby = array(), $limit = \'\',
593 $sousrequete = \'\', $having = array(),
594 $table = \'\', $id = \'\', $serveur=\'\') {
596 $select, $from, $where,
597 $groupby, $orderby, $limit,
598 $sousrequete, $having,
599 $table, $id, $serveur);
604 'spip_abstract_countsel($from = array(), $where = array' => '(),
605 $groupby = \'\', $limit = \'\', $sousrequete = \'\', $having = array(),
607 return sql_countsel($from, $where,
608 $groupby, $limit, $sousrequete, $having,
614 'spip_sql_error' => '($query, $serveur=\'\') {
615 vieilles_log(\'spip_sql_error()\');
616 return sql_error($query, $serveur);
621 'spip_mysql_version' => '($serveur=\'\', $option=true) {
622 vieilles_log(\'spip_mysql_version()\');
623 return sql_version($query, $serveur);
628 'spip_sql_errno' => '($serveur=\'\') {
629 vieilles_log(\'spip_sql_errno()\');
630 return sql_errno($serveur);
636 'sql_calendrier_mois' => '($annee,$mois,$jour) {
637 vieilles_log(\'sql_calendrier_mois()\');
638 return quete_calendrier_mois($annee,$mois,$jour);
643 'sql_calendrier_semaine' => '($annee,$mois,$jour) {
644 vieilles_log(\'sql_calendrier_semaine()\');
645 return quete_calendrier_semaine($annee,$mois,$jour);
650 'sql_calendrier_jour' => '($annee,$mois,$jour) {
651 vieilles_log(\'sql_calendrier_jour()\');
652 return quete_calendrier_jour($annee,$mois,$jour);
657 'sql_calendrier_interval' => '($limites) {
658 vieilles_log(\'sql_calendrier_interval()\');
659 return quete_calendrier_interval($limites);
664 ' sql_calendrier_interval_forums' => '($limites, &$evenements) {
665 vieilles_log(\' sql_calendrier_interval_forums()\');
666 return quete_calendrier_interval_forums($limites, $evenements);
671 'sql_calendrier_interval_articles' => '($avant, $apres, &$evenements) {
672 vieilles_log(\'sql_calendrier_interval_articles()\');
673 return quete_calendrier_interval_articles($avant, $apres, $evenements);
678 'sql_calendrier_interval_rubriques' => '($avant, $apres, &$evenements) {
679 vieilles_log(\'sql_calendrier_interval_rubriques()\');
680 return quete_calendrier_interval_rubriques($avant, $apres, $evenements);
685 'sql_calendrier_interval_breves' => '($avant, $apres, &$evenements) {
686 vieilles_log(\'sql_calendrier_interval_breves()\');
687 return quete_calendrier_interval_breves($avant, $apres, $evenements);
692 'sql_calendrier_interval_rv' => '($avant, $apres) {
693 vieilles_log(\'sql_calendrier_interval_rv()\');
694 return quete_calendrier_interval_rv($avant, $apres);
699 'sql_calendrier_taches_annonces' => '() {
700 vieilles_log(\'sql_calendrier_taches_annonces()\');
701 return quete_calendrier_taches_annonces ();
706 'sql_calendrier_taches_pb' => '() {
707 vieilles_log(\'sql_calendrier_taches_pb()\');
708 return quete_calendrier_taches_pb ();
713 'sql_calendrier_taches_rv' => '() {
714 vieilles_log(\'sql_calendrier_taches_rv()\');
715 return quete_calendrier_taches_rv ();
720 'sql_calendrier_agenda' => '($annee, $mois) {
721 vieilles_log(\'sql_calendrier_agenda()\');
722 return quete_calendrier_agenda ($annee, $mois);
728 'sql_rubrique_fond' => '($contexte) {
729 vieilles_log(\'sql_rubrique_fond()\');
730 return quete_rubrique_fond($contexte);
735 'sql_chapo' => '($id_article) {
736 vieilles_log(\'sql_chapo()\');
737 return quete_chapo($id_article);
742 'sql_parent' => '($id_rubrique) {
743 vieilles_log(\'sql_parent()\');
744 return quete_parent($id_rubrique);
749 'sql_profondeur' => '($id) {
750 vieilles_log(\'sql_profondeur()\');
751 return quete_profondeur($id);
756 'sql_rubrique' => '($id_article) {
757 vieilles_log(\'sql_rubrique()\');
758 return quete_rubrique($id_article);
763 'sql_petitions' => '($id_article, $table, $id_boucle, $serveur, &$cache) {
764 vieilles_log(\'sql_petitions()\');
765 return quete_petitions($id_article, $table, $id_boucle, $serveur, $cache);
770 'sql_accepter_forum' => '($id_article) {
771 vieilles_log(\'sql_accepter_forum()\');
772 return quete_accepter_forum($id_article);
777 'trouver_def_table' => '($nom, &$boucle) {
778 vieilles_log(\'trouver_def_table()\');
779 global $tables_principales, $tables_auxiliaires, $table_des_tables, $tables_des_serveurs_sql;
782 $s = $boucle->sql_serveur;
785 if (in_array($nom, $table_des_tables))
786 $nom_table = \'spip_\' . $nom;
788 $desc = $tables_des_serveurs_sql[$s];
790 if (isset($desc[$nom_table]))
791 return array($nom_table, $desc[$nom_table]);
792 include_spip(\'base/auxiliaires\');
793 $nom_table = \'spip_\' . $nom;
794 if ($desc = $tables_auxiliaires[$nom_table])
795 return array($nom_table, $desc);
796 if ($desc = sql_showtable($nom, $boucle->sql_serveur))
797 if (isset($desc[\'field\'])) {
798 // faudrait aussi prevoir le cas du serveur externe
799 $tables_principales[$nom] = $desc;
800 return array($nom, $desc);
802 erreur_squelette(_T(\'zbug_table_inconnue\', array(\'table\' => $nom)),
807 'meme_rubrique' => '($id_rubrique, $id, $type, $order="date", $limit=NULL, $ajax=false) {
808 $meme_rubrique = charger_fonction("meme_rubrique", "inc");
809 return $meme_rubrique($id_rubrique, $id, $type, $order, $limit, $ajax);
812 'afficher_liste' => '($largeurs, $table, $styles = \'\') {
813 global $spip_display;
815 if (!$table OR !is_array($table)) return "";
817 if ($spip_display != 4) {
819 foreach ($table as $t) {
820 $res .= afficher_liste_display_neq4($largeurs, $t, $styles);
823 $res = "\n<ul style=\'text-align: $spip_lang_left; background-color: white;\'>";
824 foreach ($table as $t) {
825 $res .= afficher_liste_display_eq4($largeurs, $t, $styles);
833 'afficher_liste_display_neq4' => '($largeurs, $t, $styles = \'\') {
835 global $browser_name;
837 $evt = (preg_match(",msie,i", $browser_name) ? " onmouseover=\"changeclass(this,\'tr_liste_over\');\" onmouseout=\"changeclass(this,\'tr_liste\');\"" :\'\');
840 if ($styles) reset($styles);
842 while (list(, $texte) = each($t)) {
843 $style = $largeur = "";
844 list(, $largeur) = each($largeurs);
845 if ($styles) list(, $style) = each($styles);
846 if (!trim($texte)) $texte .= " ";
848 ($largeur ? (" style=\'width: $largeur" ."px;\'") : \'\') .
849 ($style ? " class=\"$style\"" : \'\') .
850 ">" . lignes_longues($texte) . "\n</td>";
853 return "\n<tr class=\'tr_liste\'$evt>$res</tr>";
856 'afficher_liste_display_eq4' => '($largeurs, $t, $styles = \'\') {
859 while (list(, $texte) = each($t)) {
861 list(, $largeur) = each($largeurs);
862 if (!$largeur) $res .= $texte." ";
865 return "\n<li>$res</li>\n";
868 'barre_textarea' =>'($texte, $rows, $cols, $lang=\'\') {
869 static $num_textarea = 0;
870 include_spip("inc/layer"); // definit browser_barre
872 $texte = entites_html($texte);
873 return "<textarea name=\'texte\' rows=\'$rows\' class=\'forml\' cols=\'$cols\'>$texte</textarea>";
877 'generer_url_article' => '($id, $args="", $ancre="")
878 { vieilles_log(\'generer_url_article\'); return generer_url_entite($id, "article", $args, $ancre);}',
880 'generer_url_rubrique' => '($id, $args="", $ancre="") {
881 vieilles_log(\'generer_url_rubrique\'); return generer_url_entite($id, "rubrique", $args, $ancre);}',
883 'generer_url_breve' => '($id, $args="", $ancre="") {
884 vieilles_log(\'generer_url_breve\'); return generer_url_entite($id, "breve", $args, $ancre);}',
886 'generer_url_mot' => '($id, $args="", $ancre="") {
887 vieilles_log(\'generer_url_mot\'); return generer_url_entite($id, "mot", $args, $ancre);}',
889 'generer_url_site' => '($id, $args="", $ancre="") {
890 vieilles_log(\'generer_url_site\'); return generer_url_entite($id, "site", $args, $ancre);}',
892 'generer_url_auteur' => '($id, $args="", $ancre="") {
893 vieilles_log(\'generer_url_auteur\'); return generer_url_entite($id,"auteur", $args, $ancre);}',
895 'charger_generer_url' => '($prive=NULL) {
896 vieilles_log(\'charger_generer_url\'); generer_url_entite("", "", "", "", !$prive);}',
898 'tester_variable' => '($n, $v) {
899 if (!isset($GLOBALS[$n])) $GLOBALS[$n] = $v;
900 return $GLOBALS[$n];}',
903 'barre_typo' => '($id,$lang=\'\',$forum=false){
906 'afficher_barre' => '(){
910 if (!function_exists($f)) {
911 eval("function $f$def");
916 define('_DIR_DOC', _DIR_IMG
);
917 //constantes spip pour mysql_fetch_array()
918 define('SPIP_BOTH', MYSQL_BOTH
);
919 define('SPIP_ASSOC', MYSQL_ASSOC
);
920 define('SPIP_NUM', MYSQL_NUM
);
922 // http://doc.spip.org/@article_select
923 function article_select($id_article, $id_rubrique=0, $lier_trad=0, $id_version=0) {
924 $article_select = charger_fonction('article_select','inc');
925 return $article_select($id_article,$id_rubrique,$lier_trad,$id_version);