[SPIP] +2.1.12
[velocampus/web/www.git] / www / ecrire / inc / vieilles_defs.php
diff --git a/www/ecrire/inc/vieilles_defs.php b/www/ecrire/inc/vieilles_defs.php
new file mode 100644 (file)
index 0000000..975feda
--- /dev/null
@@ -0,0 +1,929 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2011                                                *
+ *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
+ *                                                                         *
+ *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
+ *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
+\***************************************************************************/
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+/* Ce fichier contient des fonctions, globales ou constantes   */
+/* qui ont fait partie des fichiers de configurations de Spip  */
+/* mais en ont ete retires ensuite.                            */
+/* Ce fichier n'est donc jamais charge par la presente version */
+/* mais est present pour que les contributions a Spip puissent */
+/* fonctionner en chargeant ce fichier, en attendant d'etre    */
+/* reecrites conformement a la nouvelle interface.             */
+
+define('_SIGNALER_ECHOS', false);
+
+
+// Log des appels aux vieilles_defs
+// http://doc.spip.org/@vieilles_log
+function vieilles_log($quoi) {
+       static $vus = array();
+       $c = crc32($quoi);
+       if (!isset($vus[$c])) {
+               spip_log($quoi.' '.$GLOBALS['REQUEST_URI'].' - '.$_SERVER['SCRIPT_NAME'], 'vieilles_defs');
+               $vus[$c] = 1;
+       } else if (++$vus[$c] > 100) spip_log("$quoi doit imperativement etre remplacee");
+}
+
+foreach (
+array(
+'debut_raccourcis' => '() {
+       vieilles_log(\'debut_raccourcis()\');
+
+       global $spip_display;
+       echo "<div>&nbsp;</div>";
+       echo creer_colonne_droite(\'\', true);
+
+       echo debut_cadre_enfonce(\'\',true);
+       if ($spip_display != 4) {
+               echo "<font face=\'Verdana, Geneva, Sans, sans-serif\' size=1>";
+               echo "<b>"._T(\'titre_cadre_raccourcis\')."</b><p />";
+       } else {
+               echo "<h3>"._T(\'titre_cadre_raccourcis\')."</h3>";
+               echo "<ul>";
+       }
+}
+',
+
+'fin_raccourcis' => '() {
+       vieilles_log(\'fin_raccourcis()\');
+
+       global $spip_display;
+       
+       if ($spip_display != 4) echo "</font>";
+       else echo "</ul>";
+       
+       echo fin_cadre_enfonce(true);
+}
+
+',
+
+'include_ecrire' => '($file, $silence=false) {
+       vieilles_log(\'include_ecrire()\');
+
+       preg_match(\'/^((inc_)?([^.]*))(\.php[3]?)?$/\', $file, $r);
+
+       // Version new style, surchargeable
+       # cas speciaux
+       if ($r[3] == \'index\') return false; // inc/indexation
+       if ($r[3] == \'db_mysql\') return include_spip(\'base/db_mysql\');
+       if ($r[3] == \'connect\') { spip_connect(); return; }
+
+       # cas general
+       if ($f=include_spip(\'inc/\'.$r[3]))
+               return $f;
+
+       // fichiers old-style, ecrire/inc_truc.php
+       if (is_readable($f = _DIR_RESTREINT . $r[1] . \'.php\'))
+               return include_once($f);
+}
+
+',
+
+'afficher_script_layer' => '(){
+       vieilles_log(\'afficher_script_layer()\');
+
+echo $GLOBALS[\'browser_layer\'];}
+
+',
+
+'test_layer' => '(){
+       vieilles_log(\'test_layer()\');
+
+return $GLOBALS[\'browser_layer\'];}
+
+
+',
+
+'affiche_auteur_boucle' => '($row, &$tous_id){
+       vieilles_log(\'affiche_auteur_boucle()\');
+
+       $vals = \'\';
+
+       $id_auteur = $row[\'id_auteur\'];
+       
+       $nom = $row[\'nom\'];
+
+       $s = bonhomme_statut($row);
+       $s .= "<a href=\'" . generer_url_ecrire("auteur_infos","id_auteur=$id_auteur") . "\'>";
+       $s .= typo($nom);
+       $s .= "</a>";
+       $vals[] = $s;
+
+       return $vals;
+}
+
+',
+
+'spip_abstract_quote' => '($arg_sql) {
+       vieilles_log(\'spip_abstract_quote()\');
+
+       return sql_quote($arg_sql);
+}
+
+',
+
+'creer_repertoire' => '($base, $subdir) {
+       vieilles_log(\'creer_repertoire()\');
+
+       return sous_repertoire($base, $subdir, true);
+}
+
+',
+
+'parse_plugin_xml' => '($texte, $clean=true){
+       vieilles_log(\'parse_plugin_xml()\');
+
+       include_spip(\'inc/xml\');
+       return spip_xml_parse($texte,$clean);
+}
+
+',
+
+'applatit_arbre' => '($arbre,$separateur = " "){
+       vieilles_log(\'applatit_arbre()\');
+
+       include_spip(\'inc/xml\');
+       return spip_xml_aplatit($arbre,$separateur);
+}
+
+
+//
+// une autre boite
+//
+',
+
+'bandeau_titre_boite' => '($titre, $afficher_auteurs, $boite_importante = true) {
+       vieilles_log(\'bandeau_titre_boite()\');
+
+       global $couleur_foncee;
+       if ($boite_importante) {
+               $couleur_fond = $couleur_foncee;
+               $couleur_texte = \'#FFFFFF\';
+       }
+       else {
+               $couleur_fond = \'#EEEECC\';
+               $couleur_texte = \'#000000\';
+       }
+       echo "<tr bgcolor=\'$couleur_fond\'><td width=\"100%\"><font face=\'Verdana, Geneva, Sans, sans-serif\' size=\'3\' color=\'$couleur_texte\'>";
+       echo "<b>$titre</b></font></td>";
+       if ($afficher_auteurs){
+               echo "<td width=\'100\'>";
+               echo http_img_pack("rien.gif", "", "width=\'100\' height=\'12\'");
+               echo "</td>";
+       }
+       echo "<td width=\'90\'>";
+       echo http_img_pack("rien.gif", "", "width=\'90\' height=\'12\'");
+       echo "</td>";
+       echo "</tr>";
+}
+
+',
+
+'debut_page' => '($titre = "", $rubrique = "accueil", $sous_rubrique = "accueil", $onLoad = "" /* ignore */, $id_rubrique = "") {
+       vieilles_log(\'debut_page()\');
+
+       $commencer_page = charger_fonction(\'commencer_page\', \'inc\');
+       echo $commencer_page($titre, $rubrique, $sous_rubrique, $id_rubrique);
+       if ($onLoad) vieilles_log("parametre obsolete onLoad=$onLoad");
+}
+
+// obsolete, utiliser calculer_url
+',
+
+'extraire_lien' => '($regs) {
+       vieilles_log(\'extraire_lien()\');
+
+       list($lien, $class, $texte) = calculer_url($regs[3], $regs[1],\'tout\');
+       // Preparer le texte du lien ; attention s\'il contient un <div>
+       // (ex: [<docXX|right>->lien]), il faut etre smart
+       $ref = "<a href=\"$lien\" class=\"$class\">$texte</a>";
+       return array($ref, $lien, $texte);
+}
+
+// Prendre la fonction inc_dater_dist, qui fait du Ajax.
+',
+
+'afficher_formulaire_date' => '($script, $args, $texte, $jour, $mois, $annee){
+       vieilles_log(\'afficher_formulaire_date()\');
+
+  global $couleur_foncee;
+  return generer_url_post_ecrire($script, $args)
+       . "<table cellpadding=\'5\' cellspacing=\'0\' border=\'0\' width=\'100%\' background=\'"
+       .  chemin_image(\'rien.gif\') 
+       . "\'>"
+       . "<tr><td bgcolor=\'$couleur_foncee\' colspan=\'2\'><font size=\'2\' color=\'#ffffff\'><b>"
+       ._T(\'texte_date_publication_article\')
+       . "</b></font></tr>"
+       . "<tr><td align=\'center\'>"
+       . afficher_jour($jour, "name=\'jour\' size=\'1\'", true)
+       . afficher_mois($mois, "name=\'mois\' size=\'1\'", true)
+       . afficher_annee($annee, "name=\'annee\' size=\'1\'",1996)
+       . "</td><td align=\'right\'>"
+       . "<input type=\'submit\' name=\'Changer\'  value=\'"
+       . _T(\'bouton_changer\')
+       . "\'>"
+       . "</td></tr></table>"
+       . "</form>";
+}
+
+',
+
+'ratio_image' => '($logo, $nom, $format, $taille, $taille_y, $attributs) {
+       vieilles_log(\'ratio_image()\');
+
+       // $logo est le nom complet du logo ($logo = "chemin/$nom.$format)
+       // $nom et $format ne servent plus du fait du passage par le filtre image_reduire
+       include_spip(\'inc/filtres_images_mini\');
+       $res = image_reduire("<img src=\'$logo\' $attributs />", $taille, $taille_y);
+       return $res;
+}
+
+',
+
+'entites_unicode' => '($texte) {
+       vieilles_log(\'entites_unicode()\');
+
+       return charset2unicode($texte);
+}
+
+
+// utiliser directement le corps a present.
+
+',
+
+'afficher_claret' => '() {
+       vieilles_log(\'afficher_claret()\');
+
+       include_spip(\'inc/layer\');
+       return $GLOBALS[\'browser_caret\'];
+}
+
+
+',
+
+'spip_insert_id' => '() {
+       vieilles_log(\'spip_insert_id()\');
+
+       return mysql_insert_id();
+}
+
+
+// revenir a la langue precedente
+',
+
+'lang_dselect' => '() {
+       vieilles_log(\'lang_dselect()\');
+
+       lang_select();
+}
+// toujours disponible pour PHP > 4.0.1
+$GLOBALS[\'flag_revisions\'] = function_exists("gzcompress");
+
+// toujours a cette valeur a present
+$GLOBALS[\'options\'] = \'avancees\';
+
+// synonyme plus jamais utile
+$GLOBALS[\'langue_site\'] = $GLOBALS[\'meta\'][\'langue_site\'];
+$GLOBALS[\'all_langs\'] = @$GLOBALS[\'meta\'][\'langues_proposees\'];
+',
+
+'generer_url_post_ecrire' => '($script, $args=\'\', $name=\'\', $ancre=\'\', $onchange=\'\') {
+       vieilles_log(\'generer_url_post_ecrire()\');
+
+       include_spip(\'inc/filtres\');
+       $action = generer_url_ecrire($script, $args);
+       if ($name) $name = " name=\'$name\'";
+       return "\n<form action=\'$action$ancre\'$name method=\'post\'$onchange>"
+       .form_hidden($action);
+}
+
+',
+
+'afficher_articles' => '($titre, $requete, $formater=\'\') {
+       vieilles_log(\'afficher_articles()\');
+
+       afficher_objets(\'article\',$titre,$requete,$formater);
+}
+',
+
+'afficher_auteurs' => '($titre_table, $requete) {
+       vieilles_log(\'afficher_auteurs()\');
+
+       afficher_objets(\'auteur\',$titre_table,$requete,\'\');
+}
+',
+
+'afficher_sites' => '($titre_table, $requete){
+       vieilles_log(\'afficher_sites()\');
+
+       afficher_objets(\'site\',$titre_table,$requete,\'\');   
+}
+',
+
+'afficher_syndic_articles' => '($titre_table, $requete, $id = 0) {
+       vieilles_log(\'afficher_syndic_articles()\');
+
+       afficher_objets(\'syndic_article\',$titre_table,$requete,$id);  
+}
+
+// Retourne les droits de publication d\'un auteur selon le codage suivant:
+// - le tableau de ses rubriques si c\'est un admin restreint
+// - 0 si c\'est un admin de plein droit
+// - la chaine indiquant son statut s\'il n\'est pas admin
+
+',
+
+'auth_rubrique' => '($id_auteur, $statut)
+{
+
+
+       if ($statut != \'0minirezo\') return $statut;
+
+       $result = sql_select("id_rubrique", "spip_auteurs_rubriques", "id_auteur=$id_auteur AND id_rubrique!=\'0\'");
+       if (!sql_count($result)) {
+               return 0;
+       }
+       $rubriques = array();
+       for (;;) {
+               $r = array();
+               while ($row = spip_fetch_array($result)) {
+                       $id_rubrique = $row[\'id_rubrique\'];
+                       $r[]= $rubriques[$id_rubrique] = $id_rubrique;
+               }
+               if (!$r) return $rubriques;
+               $r = join(\',\', $r);
+
+               $result = sql_select("id_rubrique", "spip_rubriques", "id_parent IN ($r) AND id_rubrique NOT IN ($r)");
+       }
+}
+
+',
+
+'bouton_block_invisible' => '($nom_block, $icone=\'\') {
+       vieilles_log(\'bouton_block_invisible()\');
+       include_spip(\'inc/layer\');
+       return bouton_block_depliable(_T("info_sans_titre"),false,$nom_block);
+}
+
+',
+
+'bouton_block_visible' => '($nom_block){
+       vieilles_log(\'bouton_block_visible()\');
+       include_spip(\'inc/layer\');
+       return bouton_block_depliable(_T("info_sans_titre"),true,$nom_block);
+}
+
+',
+
+'debut_block_visible' => '($id=""){
+       vieilles_log(\'debut_block_visible()\');
+       include_spip(\'inc/layer\');
+       return debut_block_depliable(true,$id);
+}
+
+',
+
+'debut_block_invisible' => '($id=""){
+       vieilles_log(\'debut_block_invisible()\');
+       include_spip(\'inc/layer\');
+       return debut_block_depliable(false,$id);
+}
+
+',
+
+'init_config' => '(){
+       vieilles_log(\'init_config()\');
+       
+       include_spip(\'inc/config\');
+       inc_config_dist();
+}
+
+',
+
+/*
+'extraire_tags' => '($texte) {
+       vieilles_log(\'extraire_tags()\');
+       
+       return extraire_balises($texte, \'a\');
+}
+',
+
+// synonyme de extraire_balise
+'extraire_tag' => '($texte, $tag=\'a\') {
+       vieilles_log(\'extraire_tag()\');
+       
+       return extraire_balise($texte, $tag);
+}
+
+',
+*/
+
+//
+// une autre boite
+//
+
+'bandeau_titre_boite2' => '($titre, $logo="", $fond="toile_blanche", $texte="ligne_noire") {
+       vieilles_log(\'bandeau_titre_boite2()\');
+       global $spip_lang_left, $spip_display, $browser_name;
+       
+       if (strlen($logo) > 0 AND $spip_display != 1 AND $spip_display != 4) {
+               $ie_style = ($browser_name == "MSIE") ? "height:1%" : \'\';
+
+               return "\n<div style=\'position: relative;$ie_style\'>"
+               . "\n<div style=\'position: absolute; top: -12px; $spip_lang_left: 3px;\'>"
+               . http_img_pack($logo, "", "")
+               . "</div>"
+               . "\n<div style=\'padding: 3px; padding-$spip_lang_left: 30px; border-bottom: 1px solid #444444;\' class=\'verdana2 $fond $texte\'>$titre</div>"
+               . "</div>";
+       } else {
+               return "<h3 style=\'padding: 3px; border-bottom: 1px solid #444444; margin: 0px;\' class=\'verdana2 $fond $texte\'>$titre</h3>";
+       }
+}
+
+',
+
+'spip_free_result' => '($r) {
+       vieilles_log(\'spip_free_result()\');
+
+       sql_free($r);
+}
+
+',
+
+'creer_objet_multi' => '($r, $l) {
+       vieilles_log(\'creer_objet_multi()\');
+
+ sql_multi($r, $l);
+}
+
+',
+
+'envoyer_mail' => '($email, $sujet, $texte, $from = "", $headers = "") {
+       vieilles_log(\'envoyer_mail()\');
+       define(\'_FUNCTION_ENVOYER_MAIL\', charger_fonction(\'envoyer_mail\', \'inc\'));
+       $args = func_get_args();
+       if (_FUNCTION_ENVOYER_MAIL){
+               return call_user_func_array(_FUNCTION_ENVOYER_MAIL, $args);
+       }
+}
+
+
+',
+
+'spip_num_rows' => '($r) {
+       vieilles_log(\'spip_num_rows()\');
+       
+       return sql_count($r);
+}
+
+
+  ',
+
+'spip_abstract_serveur' => '($ins_sql, $serveur) {
+       vieilles_log(\'spip_abstract_serveur()\');
+        return sql_serveur($ins_sql, $serveur);
+  }
+  
+  ',
+
+'spip_abstract_select' => '(
+    $select = array(), $from = array(), $where = array(),
+       $groupby = \'\', $orderby = array(), $limit = \'\',
+       $sousrequete = \'\', $having = array(),
+       $table = \'\', $id = \'\', $serveur=\'\') {
+    return sql_select(
+      $select, $from, $where,
+      $groupby, $orderby, $limit,
+      $sousrequete, $having,
+      $table, $id, $serveur);
+  }
+  
+  ',
+
+'spip_abstract_fetch' => '($res, $serveur=\'\') {
+       vieilles_log(\'spip_abstract_fetch()\');
+    return sql_fetch($res, $serveur);
+  }
+  
+  ',
+
+'spip_abstract_count' => '($res, $serveur=\'\') {
+       vieilles_log(\'spip_abstract_count()\');
+    return sql_count($res, $serveur);
+  }
+  
+  ',
+
+'spip_abstract_free' => '($res, $serveur=\'\') {
+       vieilles_log(\'spip_abstract_free()\');
+    return sql_free($res, $serveur);
+  }
+
+  ',
+
+'spip_abstract_insert' => '($table, $noms, $valeurs, $serveur=\'\') {
+       vieilles_log(\'spip_abstract_insert()\');
+    return sql_insert($table, $noms, $valeurs, $serveur);
+  }
+
+  ',
+
+'spip_abstract_update' => '($table, $exp, $where, $serveur=\'\') {
+       vieilles_log(\'spip_abstract_update()\');
+    return sql_update($table, $exp, $where, $serveur);
+  }
+
+  ',
+
+'spip_abstract_delete' => '($table, $where, $serveur=\'\') {
+       vieilles_log(\'spip_abstract_delete()\');
+    return sql_delete($table, $where, $serveur);
+  }
+
+  ',
+
+'spip_abstract_replace' => '($table, $values, $keys, $serveur=\'\'){
+       vieilles_log(\'spip_abstract_replace()\');
+    return sql_replace($table, $values, $keys, $serveur);
+  }
+
+  ',
+
+'spip_abstract_showtable' => '($table, $serveur=\'\', $table_spip = false) {
+       vieilles_log(\'spip_abstract_showtable()\');
+    return sql_showtable($table, $table_spip, $serveur);
+  }
+
+  ',
+
+'spip_abstract_create' => '($nom, $champs, $cles, $autoinc=false, $temporary=false, $serveur=\'\') {
+       vieilles_log(\'spip_abstract_create()\');
+    return sql_create($nom, $champs, $cles, $autoinc, $temporary, $serveur);
+  }
+
+  ',
+
+'spip_create_table' => '($nom, $champs, $cles, $autoinc=false, $temporary=false) {
+       vieilles_log(\'spip_create_table()\');
+    return sql_create($nom, $champs, $cles, $autoinc, $temporary);
+  }
+
+  ',
+
+'spip_abstract_multi' => '($sel, $lang, $serveur=\'\') {
+       vieilles_log(\'spip_abstract_multi()\');
+    return sql_multi($sel, $lang, $serveur);
+  }
+
+  ',
+
+'spip_abstract_fetsel' => '(
+       $select = array(), $from = array(), $where = array(),
+       $groupby = \'\', $orderby = array(), $limit = \'\',
+       $sousrequete = \'\', $having = array(),
+       $table = \'\', $id = \'\', $serveur=\'\') {
+    return sql_fetsel(
+       $select, $from, $where,
+       $groupby, $orderby, $limit,
+       $sousrequete, $having,
+       $table, $id, $serveur);
+  }
+  
+  ',
+
+'spip_abstract_countsel($from = array(), $where = array' => '(),
+       $groupby = \'\', $limit = \'\', $sousrequete = \'\', $having = array(),
+       $serveur=\'\') {
+    return sql_countsel($from, $where,
+       $groupby, $limit, $sousrequete, $having,
+       $serveur);
+  }
+
+  ',
+
+'spip_sql_error' => '($query, $serveur=\'\') {
+       vieilles_log(\'spip_sql_error()\');
+    return sql_error($query, $serveur);
+  }
+
+  ',
+
+'spip_mysql_version' => '($serveur=\'\', $option=true) {
+       vieilles_log(\'spip_mysql_version()\');
+    return sql_version($query, $serveur);
+  }
+
+  ',
+
+'spip_sql_errno' => '($serveur=\'\') {
+       vieilles_log(\'spip_sql_errno()\');
+    return sql_errno($serveur);
+  }
+  
+  // r9916
+  ',
+
+'sql_calendrier_mois' => '($annee,$mois,$jour) {
+       vieilles_log(\'sql_calendrier_mois()\');
+       return quete_calendrier_mois($annee,$mois,$jour);
+  }
+  
+  ',
+
+'sql_calendrier_semaine' => '($annee,$mois,$jour) {
+       vieilles_log(\'sql_calendrier_semaine()\');
+       return quete_calendrier_semaine($annee,$mois,$jour);
+  }
+  
+  ',
+
+'sql_calendrier_jour' => '($annee,$mois,$jour) {
+       vieilles_log(\'sql_calendrier_jour()\');
+       return quete_calendrier_jour($annee,$mois,$jour);
+  }
+  
+  ',
+
+'sql_calendrier_interval' => '($limites) {
+       vieilles_log(\'sql_calendrier_interval()\');
+       return quete_calendrier_interval($limites);
+  }
+  
+  ',
+
+' sql_calendrier_interval_forums' => '($limites, &$evenements) {
+       vieilles_log(\' sql_calendrier_interval_forums()\');
+       return quete_calendrier_interval_forums($limites, $evenements);
+  }
+  
+  ',
+
+'sql_calendrier_interval_articles' => '($avant, $apres, &$evenements) {
+       vieilles_log(\'sql_calendrier_interval_articles()\');
+       return quete_calendrier_interval_articles($avant, $apres, $evenements);
+  }
+  
+  ',
+
+'sql_calendrier_interval_rubriques' => '($avant, $apres, &$evenements) {
+       vieilles_log(\'sql_calendrier_interval_rubriques()\');
+       return quete_calendrier_interval_rubriques($avant, $apres, $evenements);
+  }
+  
+  ',
+
+'sql_calendrier_interval_breves' => '($avant, $apres, &$evenements) {
+       vieilles_log(\'sql_calendrier_interval_breves()\');
+       return quete_calendrier_interval_breves($avant, $apres, $evenements);
+  }
+  
+  ',
+
+'sql_calendrier_interval_rv' => '($avant, $apres) {
+       vieilles_log(\'sql_calendrier_interval_rv()\');
+       return quete_calendrier_interval_rv($avant, $apres);
+  }
+  
+  ',
+
+'sql_calendrier_taches_annonces' => '() {
+       vieilles_log(\'sql_calendrier_taches_annonces()\');
+       return quete_calendrier_taches_annonces ();
+  }
+  
+  ',
+
+'sql_calendrier_taches_pb' => '() {
+       vieilles_log(\'sql_calendrier_taches_pb()\');
+       return quete_calendrier_taches_pb ();
+  }
+  
+  ',
+
+'sql_calendrier_taches_rv' => '() {
+       vieilles_log(\'sql_calendrier_taches_rv()\');
+       return quete_calendrier_taches_rv ();
+  }
+  
+  ',
+
+'sql_calendrier_agenda' => '($annee, $mois) {
+       vieilles_log(\'sql_calendrier_agenda()\');
+       return quete_calendrier_agenda ($annee, $mois);
+  }
+  
+  //r9918
+  ',
+
+'sql_rubrique_fond' => '($contexte) {
+       vieilles_log(\'sql_rubrique_fond()\');
+       return quete_rubrique_fond($contexte);
+  }
+  
+  ',
+
+'sql_chapo' => '($id_article) {
+       vieilles_log(\'sql_chapo()\');
+       return quete_chapo($id_article);
+  }
+  
+  ',
+
+'sql_parent' => '($id_rubrique) {
+       vieilles_log(\'sql_parent()\');
+       return quete_parent($id_rubrique);
+  }
+  
+  ',
+
+'sql_profondeur' => '($id) {
+       vieilles_log(\'sql_profondeur()\');
+       return quete_profondeur($id);
+  }
+  
+  ',
+
+'sql_rubrique' => '($id_article) {
+       vieilles_log(\'sql_rubrique()\');
+       return quete_rubrique($id_article);
+  }
+  
+  ',
+
+'sql_petitions' => '($id_article, $table, $id_boucle, $serveur, &$cache) {
+       vieilles_log(\'sql_petitions()\');
+       return quete_petitions($id_article, $table, $id_boucle, $serveur, $cache);
+  }
+  
+  ',
+
+'sql_accepter_forum' => '($id_article) {
+       vieilles_log(\'sql_accepter_forum()\');
+       return quete_accepter_forum($id_article);
+  }
+  
+  ',
+
+'trouver_def_table' => '($nom, &$boucle) {
+       vieilles_log(\'trouver_def_table()\');
+       global $tables_principales, $tables_auxiliaires, $table_des_tables, $tables_des_serveurs_sql; 
+       $nom_table = $nom; 
+       $s = $boucle->sql_serveur; 
+       if (!$s) { 
+               $s = \'localhost\'; 
+               if (in_array($nom, $table_des_tables)) 
+                       $nom_table = \'spip_\' . $nom; 
+               } 
+       $desc = $tables_des_serveurs_sql[$s]; 
+
+       if (isset($desc[$nom_table])) 
+               return array($nom_table, $desc[$nom_table]); 
+       include_spip(\'base/auxiliaires\'); 
+       $nom_table = \'spip_\' . $nom; 
+       if ($desc = $tables_auxiliaires[$nom_table]) 
+               return array($nom_table, $desc); 
+       if ($desc = sql_showtable($nom, $boucle->sql_serveur)) 
+               if (isset($desc[\'field\'])) { 
+                       // faudrait aussi prevoir le cas du serveur externe 
+                       $tables_principales[$nom] = $desc; 
+                       return array($nom, $desc); 
+               } 
+       erreur_squelette(_T(\'zbug_table_inconnue\', array(\'table\' => $nom)), 
+       $boucle->id_boucle); 
+       return false;
+  }
+',
+'meme_rubrique' => '($id_rubrique, $id, $type, $order="date", $limit=NULL, $ajax=false) {
+       $meme_rubrique = charger_fonction("meme_rubrique", "inc");
+       return $meme_rubrique($id_rubrique, $id, $type, $order, $limit, $ajax);
+  }
+',
+'afficher_liste' => '($largeurs, $table, $styles = \'\') { 
+       global $spip_display; 
+
+       if (!$table OR !is_array($table)) return ""; 
+
+       if ($spip_display != 4) { 
+                       $res = \'\'; 
+                       foreach ($table as $t) { 
+                                       $res .= afficher_liste_display_neq4($largeurs, $t, $styles); 
+                       } 
+       } else { 
+                       $res = "\n<ul style=\'text-align: $spip_lang_left; background-color: white;\'>"; 
+                       foreach ($table as $t) { 
+                                       $res .= afficher_liste_display_eq4($largeurs, $t, $styles); 
+                       } 
+                       $res .= "\n</ul>"; 
+       } 
+
+       return $res; 
+  }
+',
+'afficher_liste_display_neq4' => '($largeurs, $t, $styles = \'\') {
+
+       global $browser_name;
+
+       $evt = (preg_match(",msie,i", $browser_name) ? " onmouseover=\"changeclass(this,\'tr_liste_over\');\" onmouseout=\"changeclass(this,\'tr_liste\');\"" :\'\');
+
+       reset($largeurs);
+       if ($styles) reset($styles);
+       $res =\'\';
+       while (list(, $texte) = each($t)) {
+               $style = $largeur = "";
+               list(, $largeur) = each($largeurs);
+               if ($styles) list(, $style) = each($styles);
+               if (!trim($texte)) $texte .= "&nbsp;";
+               $res .= "\n<td" .
+                       ($largeur ? (" style=\'width: $largeur" ."px;\'") : \'\') .
+                       ($style ? " class=\"$style\"" : \'\') .
+                       ">" . lignes_longues($texte) . "\n</td>";
+       }
+
+       return "\n<tr class=\'tr_liste\'$evt>$res</tr>"; 
+  }
+',
+'afficher_liste_display_eq4' => '($largeurs, $t, $styles = \'\') {
+
+       reset($largeurs);
+       while (list(, $texte) = each($t)) {
+               $largeur = "";
+               list(, $largeur) = each($largeurs);
+               if (!$largeur) $res .= $texte." ";
+       }
+
+       return "\n<li>$res</li>\n";
+}',
+
+'barre_textarea' =>'($texte, $rows, $cols, $lang=\'\') {
+       static $num_textarea = 0;
+       include_spip("inc/layer"); // definit browser_barre
+
+       $texte = entites_html($texte);
+       return "<textarea name=\'texte\' rows=\'$rows\' class=\'forml\' cols=\'$cols\'>$texte</textarea>";
+
+}',
+
+ 'generer_url_article' => '($id, $args="", $ancre="")
+       { vieilles_log(\'generer_url_article\'); return generer_url_entite($id, "article", $args, $ancre);}',
+
+ 'generer_url_rubrique' => '($id, $args="", $ancre="") {
+       vieilles_log(\'generer_url_rubrique\'); return generer_url_entite($id, "rubrique", $args, $ancre);}',
+
+ 'generer_url_breve' => '($id, $args="", $ancre="") {
+       vieilles_log(\'generer_url_breve\');  return generer_url_entite($id, "breve", $args, $ancre);}',
+
+ 'generer_url_mot' => '($id, $args="", $ancre="") {
+       vieilles_log(\'generer_url_mot\');  return generer_url_entite($id, "mot", $args, $ancre);}',
+
+ 'generer_url_site' => '($id, $args="", $ancre="") {
+       vieilles_log(\'generer_url_site\');  return generer_url_entite($id, "site", $args, $ancre);}',
+
+ 'generer_url_auteur' => '($id, $args="", $ancre="") {
+       vieilles_log(\'generer_url_auteur\');  return generer_url_entite($id,"auteur", $args, $ancre);}',
+
+ 'charger_generer_url' => '($prive=NULL) {
+       vieilles_log(\'charger_generer_url\'); generer_url_entite("", "", "", "", !$prive);}',
+
+ 'tester_variable' => '($n, $v) {
+       if (!isset($GLOBALS[$n])) $GLOBALS[$n] = $v;
+       return $GLOBALS[$n];}',
+       
+       // SPIP < 2.1
+ 'barre_typo' => '($id,$lang=\'\',$forum=false){
+       return \'\';}',
+
+ 'afficher_barre' => '(){
+        return \'\';}',
+
+) as $f => $def) {
+       if (!function_exists($f)) {
+               eval("function $f$def");
+       }
+}
+
+
+define('_DIR_DOC', _DIR_IMG);
+//constantes spip pour mysql_fetch_array()
+define('SPIP_BOTH', MYSQL_BOTH);
+define('SPIP_ASSOC', MYSQL_ASSOC);
+define('SPIP_NUM', MYSQL_NUM);
+
+// http://doc.spip.org/@article_select
+function article_select($id_article, $id_rubrique=0, $lier_trad=0, $id_version=0) {
+       $article_select = charger_fonction('article_select','inc');
+       return $article_select($id_article,$id_rubrique,$lier_trad,$id_version);
+}
+
+
+?>