[SPIP] ~2.1.12 -->2.1.25
[velocampus/web/www.git] / www / ecrire / inc / vieilles_defs.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2014 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
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 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
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. */
22
23 define('_SIGNALER_ECHOS', false);
24
25
26 // Log des appels aux vieilles_defs
27 // http://doc.spip.org/@vieilles_log
28 function vieilles_log($quoi) {
29 static $vus = array();
30 $c = crc32($quoi);
31 if (!isset($vus[$c])) {
32 spip_log($quoi.' '.$GLOBALS['REQUEST_URI'].' - '.$_SERVER['SCRIPT_NAME'], 'vieilles_defs');
33 $vus[$c] = 1;
34 } else if (++$vus[$c] > 100) spip_log("$quoi doit imperativement etre remplacee");
35 }
36
37 foreach (
38 array(
39 'debut_raccourcis' => '() {
40 vieilles_log(\'debut_raccourcis()\');
41
42 global $spip_display;
43 echo "<div>&nbsp;</div>";
44 echo creer_colonne_droite(\'\', true);
45
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 />";
50 } else {
51 echo "<h3>"._T(\'titre_cadre_raccourcis\')."</h3>";
52 echo "<ul>";
53 }
54 }
55 ',
56
57 'fin_raccourcis' => '() {
58 vieilles_log(\'fin_raccourcis()\');
59
60 global $spip_display;
61
62 if ($spip_display != 4) echo "</font>";
63 else echo "</ul>";
64
65 echo fin_cadre_enfonce(true);
66 }
67
68 ',
69
70 'include_ecrire' => '($file, $silence=false) {
71 vieilles_log(\'include_ecrire()\');
72
73 preg_match(\'/^((inc_)?([^.]*))(\.php[3]?)?$/\', $file, $r);
74
75 // Version new style, surchargeable
76 # cas speciaux
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; }
80
81 # cas general
82 if ($f=include_spip(\'inc/\'.$r[3]))
83 return $f;
84
85 // fichiers old-style, ecrire/inc_truc.php
86 if (is_readable($f = _DIR_RESTREINT . $r[1] . \'.php\'))
87 return include_once($f);
88 }
89
90 ',
91
92 'afficher_script_layer' => '(){
93 vieilles_log(\'afficher_script_layer()\');
94
95 echo $GLOBALS[\'browser_layer\'];}
96
97 ',
98
99 'test_layer' => '(){
100 vieilles_log(\'test_layer()\');
101
102 return $GLOBALS[\'browser_layer\'];}
103
104
105 ',
106
107 'affiche_auteur_boucle' => '($row, &$tous_id){
108 vieilles_log(\'affiche_auteur_boucle()\');
109
110 $vals = \'\';
111
112 $id_auteur = $row[\'id_auteur\'];
113
114 $nom = $row[\'nom\'];
115
116 $s = bonhomme_statut($row);
117 $s .= "<a href=\'" . generer_url_ecrire("auteur_infos","id_auteur=$id_auteur") . "\'>";
118 $s .= typo($nom);
119 $s .= "</a>";
120 $vals[] = $s;
121
122 return $vals;
123 }
124
125 ',
126
127 'spip_abstract_quote' => '($arg_sql) {
128 vieilles_log(\'spip_abstract_quote()\');
129
130 return sql_quote($arg_sql);
131 }
132
133 ',
134
135 'creer_repertoire' => '($base, $subdir) {
136 vieilles_log(\'creer_repertoire()\');
137
138 return sous_repertoire($base, $subdir, true);
139 }
140
141 ',
142
143 'parse_plugin_xml' => '($texte, $clean=true){
144 vieilles_log(\'parse_plugin_xml()\');
145
146 include_spip(\'inc/xml\');
147 return spip_xml_parse($texte,$clean);
148 }
149
150 ',
151
152 'applatit_arbre' => '($arbre,$separateur = " "){
153 vieilles_log(\'applatit_arbre()\');
154
155 include_spip(\'inc/xml\');
156 return spip_xml_aplatit($arbre,$separateur);
157 }
158
159
160 //
161 // une autre boite
162 //
163 ',
164
165 'bandeau_titre_boite' => '($titre, $afficher_auteurs, $boite_importante = true) {
166 vieilles_log(\'bandeau_titre_boite()\');
167
168 global $couleur_foncee;
169 if ($boite_importante) {
170 $couleur_fond = $couleur_foncee;
171 $couleur_texte = \'#FFFFFF\';
172 }
173 else {
174 $couleur_fond = \'#EEEECC\';
175 $couleur_texte = \'#000000\';
176 }
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\'");
182 echo "</td>";
183 }
184 echo "<td width=\'90\'>";
185 echo http_img_pack("rien.gif", "", "width=\'90\' height=\'12\'");
186 echo "</td>";
187 echo "</tr>";
188 }
189
190 ',
191
192 'debut_page' => '($titre = "", $rubrique = "accueil", $sous_rubrique = "accueil", $onLoad = "" /* ignore */, $id_rubrique = "") {
193 vieilles_log(\'debut_page()\');
194
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");
198 }
199
200 // obsolete, utiliser calculer_url
201 ',
202
203 'extraire_lien' => '($regs) {
204 vieilles_log(\'extraire_lien()\');
205
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);
211 }
212
213 // Prendre la fonction inc_dater_dist, qui fait du Ajax.
214 ',
215
216 'afficher_formulaire_date' => '($script, $args, $texte, $jour, $mois, $annee){
217 vieilles_log(\'afficher_formulaire_date()\');
218
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\')
223 . "\'>"
224 . "<tr><td bgcolor=\'$couleur_foncee\' colspan=\'2\'><font size=\'2\' color=\'#ffffff\'><b>"
225 ._T(\'texte_date_publication_article\')
226 . "</b></font></tr>"
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\')
234 . "\'>"
235 . "</td></tr></table>"
236 . "</form>";
237 }
238
239 ',
240
241 'ratio_image' => '($logo, $nom, $format, $taille, $taille_y, $attributs) {
242 vieilles_log(\'ratio_image()\');
243
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);
248 return $res;
249 }
250
251 ',
252
253 'entites_unicode' => '($texte) {
254 vieilles_log(\'entites_unicode()\');
255
256 return charset2unicode($texte);
257 }
258
259
260 // utiliser directement le corps a present.
261
262 ',
263
264 'afficher_claret' => '() {
265 vieilles_log(\'afficher_claret()\');
266
267 include_spip(\'inc/layer\');
268 return $GLOBALS[\'browser_caret\'];
269 }
270
271
272 ',
273
274 'spip_insert_id' => '() {
275 vieilles_log(\'spip_insert_id()\');
276
277 return mysql_insert_id();
278 }
279
280
281 // revenir a la langue precedente
282 ',
283
284 'lang_dselect' => '() {
285 vieilles_log(\'lang_dselect()\');
286
287 lang_select();
288 }
289 // toujours disponible pour PHP > 4.0.1
290 $GLOBALS[\'flag_revisions\'] = function_exists("gzcompress");
291
292 // toujours a cette valeur a present
293 $GLOBALS[\'options\'] = \'avancees\';
294
295 // synonyme plus jamais utile
296 $GLOBALS[\'langue_site\'] = $GLOBALS[\'meta\'][\'langue_site\'];
297 $GLOBALS[\'all_langs\'] = @$GLOBALS[\'meta\'][\'langues_proposees\'];
298 ',
299
300 'generer_url_post_ecrire' => '($script, $args=\'\', $name=\'\', $ancre=\'\', $onchange=\'\') {
301 vieilles_log(\'generer_url_post_ecrire()\');
302
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);
308 }
309
310 ',
311
312 'afficher_articles' => '($titre, $requete, $formater=\'\') {
313 vieilles_log(\'afficher_articles()\');
314
315 afficher_objets(\'article\',$titre,$requete,$formater);
316 }
317 ',
318
319 'afficher_auteurs' => '($titre_table, $requete) {
320 vieilles_log(\'afficher_auteurs()\');
321
322 afficher_objets(\'auteur\',$titre_table,$requete,\'\');
323 }
324 ',
325
326 'afficher_sites' => '($titre_table, $requete){
327 vieilles_log(\'afficher_sites()\');
328
329 afficher_objets(\'site\',$titre_table,$requete,\'\');
330 }
331 ',
332
333 'afficher_syndic_articles' => '($titre_table, $requete, $id = 0) {
334 vieilles_log(\'afficher_syndic_articles()\');
335
336 afficher_objets(\'syndic_article\',$titre_table,$requete,$id);
337 }
338
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
343
344 ',
345
346 'auth_rubrique' => '($id_auteur, $statut)
347 {
348
349
350 if ($statut != \'0minirezo\') return $statut;
351
352 $result = sql_select("id_rubrique", "spip_auteurs_rubriques", "id_auteur=$id_auteur AND id_rubrique!=\'0\'");
353 if (!sql_count($result)) {
354 return 0;
355 }
356 $rubriques = array();
357 for (;;) {
358 $r = array();
359 while ($row = spip_fetch_array($result)) {
360 $id_rubrique = $row[\'id_rubrique\'];
361 $r[]= $rubriques[$id_rubrique] = $id_rubrique;
362 }
363 if (!$r) return $rubriques;
364 $r = join(\',\', $r);
365
366 $result = sql_select("id_rubrique", "spip_rubriques", "id_parent IN ($r) AND id_rubrique NOT IN ($r)");
367 }
368 }
369
370 ',
371
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);
376 }
377
378 ',
379
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);
384 }
385
386 ',
387
388 'debut_block_visible' => '($id=""){
389 vieilles_log(\'debut_block_visible()\');
390 include_spip(\'inc/layer\');
391 return debut_block_depliable(true,$id);
392 }
393
394 ',
395
396 'debut_block_invisible' => '($id=""){
397 vieilles_log(\'debut_block_invisible()\');
398 include_spip(\'inc/layer\');
399 return debut_block_depliable(false,$id);
400 }
401
402 ',
403
404 'init_config' => '(){
405 vieilles_log(\'init_config()\');
406
407 include_spip(\'inc/config\');
408 inc_config_dist();
409 }
410
411 ',
412
413 /*
414 'extraire_tags' => '($texte) {
415 vieilles_log(\'extraire_tags()\');
416
417 return extraire_balises($texte, \'a\');
418 }
419 ',
420
421 // synonyme de extraire_balise
422 'extraire_tag' => '($texte, $tag=\'a\') {
423 vieilles_log(\'extraire_tag()\');
424
425 return extraire_balise($texte, $tag);
426 }
427
428 ',
429 */
430
431 //
432 // une autre boite
433 //
434
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;
438
439 if (strlen($logo) > 0 AND $spip_display != 1 AND $spip_display != 4) {
440 $ie_style = ($browser_name == "MSIE") ? "height:1%" : \'\';
441
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, "", "")
445 . "</div>"
446 . "\n<div style=\'padding: 3px; padding-$spip_lang_left: 30px; border-bottom: 1px solid #444444;\' class=\'verdana2 $fond $texte\'>$titre</div>"
447 . "</div>";
448 } else {
449 return "<h3 style=\'padding: 3px; border-bottom: 1px solid #444444; margin: 0px;\' class=\'verdana2 $fond $texte\'>$titre</h3>";
450 }
451 }
452
453 ',
454
455 'spip_free_result' => '($r) {
456 vieilles_log(\'spip_free_result()\');
457
458 sql_free($r);
459 }
460
461 ',
462
463 'creer_objet_multi' => '($r, $l) {
464 vieilles_log(\'creer_objet_multi()\');
465
466 sql_multi($r, $l);
467 }
468
469 ',
470
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);
477 }
478 }
479
480
481 ',
482
483 'spip_num_rows' => '($r) {
484 vieilles_log(\'spip_num_rows()\');
485
486 return sql_count($r);
487 }
488
489
490 ',
491
492 'spip_abstract_serveur' => '($ins_sql, $serveur) {
493 vieilles_log(\'spip_abstract_serveur()\');
494 return sql_serveur($ins_sql, $serveur);
495 }
496
497 ',
498
499 'spip_abstract_select' => '(
500 $select = array(), $from = array(), $where = array(),
501 $groupby = \'\', $orderby = array(), $limit = \'\',
502 $sousrequete = \'\', $having = array(),
503 $table = \'\', $id = \'\', $serveur=\'\') {
504 return sql_select(
505 $select, $from, $where,
506 $groupby, $orderby, $limit,
507 $sousrequete, $having,
508 $table, $id, $serveur);
509 }
510
511 ',
512
513 'spip_abstract_fetch' => '($res, $serveur=\'\') {
514 vieilles_log(\'spip_abstract_fetch()\');
515 return sql_fetch($res, $serveur);
516 }
517
518 ',
519
520 'spip_abstract_count' => '($res, $serveur=\'\') {
521 vieilles_log(\'spip_abstract_count()\');
522 return sql_count($res, $serveur);
523 }
524
525 ',
526
527 'spip_abstract_free' => '($res, $serveur=\'\') {
528 vieilles_log(\'spip_abstract_free()\');
529 return sql_free($res, $serveur);
530 }
531
532 ',
533
534 'spip_abstract_insert' => '($table, $noms, $valeurs, $serveur=\'\') {
535 vieilles_log(\'spip_abstract_insert()\');
536 return sql_insert($table, $noms, $valeurs, $serveur);
537 }
538
539 ',
540
541 'spip_abstract_update' => '($table, $exp, $where, $serveur=\'\') {
542 vieilles_log(\'spip_abstract_update()\');
543 return sql_update($table, $exp, $where, $serveur);
544 }
545
546 ',
547
548 'spip_abstract_delete' => '($table, $where, $serveur=\'\') {
549 vieilles_log(\'spip_abstract_delete()\');
550 return sql_delete($table, $where, $serveur);
551 }
552
553 ',
554
555 'spip_abstract_replace' => '($table, $values, $keys, $serveur=\'\'){
556 vieilles_log(\'spip_abstract_replace()\');
557 return sql_replace($table, $values, $keys, $serveur);
558 }
559
560 ',
561
562 'spip_abstract_showtable' => '($table, $serveur=\'\', $table_spip = false) {
563 vieilles_log(\'spip_abstract_showtable()\');
564 return sql_showtable($table, $table_spip, $serveur);
565 }
566
567 ',
568
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);
572 }
573
574 ',
575
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);
579 }
580
581 ',
582
583 'spip_abstract_multi' => '($sel, $lang, $serveur=\'\') {
584 vieilles_log(\'spip_abstract_multi()\');
585 return sql_multi($sel, $lang, $serveur);
586 }
587
588 ',
589
590 'spip_abstract_fetsel' => '(
591 $select = array(), $from = array(), $where = array(),
592 $groupby = \'\', $orderby = array(), $limit = \'\',
593 $sousrequete = \'\', $having = array(),
594 $table = \'\', $id = \'\', $serveur=\'\') {
595 return sql_fetsel(
596 $select, $from, $where,
597 $groupby, $orderby, $limit,
598 $sousrequete, $having,
599 $table, $id, $serveur);
600 }
601
602 ',
603
604 'spip_abstract_countsel($from = array(), $where = array' => '(),
605 $groupby = \'\', $limit = \'\', $sousrequete = \'\', $having = array(),
606 $serveur=\'\') {
607 return sql_countsel($from, $where,
608 $groupby, $limit, $sousrequete, $having,
609 $serveur);
610 }
611
612 ',
613
614 'spip_sql_error' => '($query, $serveur=\'\') {
615 vieilles_log(\'spip_sql_error()\');
616 return sql_error($query, $serveur);
617 }
618
619 ',
620
621 'spip_mysql_version' => '($serveur=\'\', $option=true) {
622 vieilles_log(\'spip_mysql_version()\');
623 return sql_version($query, $serveur);
624 }
625
626 ',
627
628 'spip_sql_errno' => '($serveur=\'\') {
629 vieilles_log(\'spip_sql_errno()\');
630 return sql_errno($serveur);
631 }
632
633 // r9916
634 ',
635
636 'sql_calendrier_mois' => '($annee,$mois,$jour) {
637 vieilles_log(\'sql_calendrier_mois()\');
638 return quete_calendrier_mois($annee,$mois,$jour);
639 }
640
641 ',
642
643 'sql_calendrier_semaine' => '($annee,$mois,$jour) {
644 vieilles_log(\'sql_calendrier_semaine()\');
645 return quete_calendrier_semaine($annee,$mois,$jour);
646 }
647
648 ',
649
650 'sql_calendrier_jour' => '($annee,$mois,$jour) {
651 vieilles_log(\'sql_calendrier_jour()\');
652 return quete_calendrier_jour($annee,$mois,$jour);
653 }
654
655 ',
656
657 'sql_calendrier_interval' => '($limites) {
658 vieilles_log(\'sql_calendrier_interval()\');
659 return quete_calendrier_interval($limites);
660 }
661
662 ',
663
664 ' sql_calendrier_interval_forums' => '($limites, &$evenements) {
665 vieilles_log(\' sql_calendrier_interval_forums()\');
666 return quete_calendrier_interval_forums($limites, $evenements);
667 }
668
669 ',
670
671 'sql_calendrier_interval_articles' => '($avant, $apres, &$evenements) {
672 vieilles_log(\'sql_calendrier_interval_articles()\');
673 return quete_calendrier_interval_articles($avant, $apres, $evenements);
674 }
675
676 ',
677
678 'sql_calendrier_interval_rubriques' => '($avant, $apres, &$evenements) {
679 vieilles_log(\'sql_calendrier_interval_rubriques()\');
680 return quete_calendrier_interval_rubriques($avant, $apres, $evenements);
681 }
682
683 ',
684
685 'sql_calendrier_interval_breves' => '($avant, $apres, &$evenements) {
686 vieilles_log(\'sql_calendrier_interval_breves()\');
687 return quete_calendrier_interval_breves($avant, $apres, $evenements);
688 }
689
690 ',
691
692 'sql_calendrier_interval_rv' => '($avant, $apres) {
693 vieilles_log(\'sql_calendrier_interval_rv()\');
694 return quete_calendrier_interval_rv($avant, $apres);
695 }
696
697 ',
698
699 'sql_calendrier_taches_annonces' => '() {
700 vieilles_log(\'sql_calendrier_taches_annonces()\');
701 return quete_calendrier_taches_annonces ();
702 }
703
704 ',
705
706 'sql_calendrier_taches_pb' => '() {
707 vieilles_log(\'sql_calendrier_taches_pb()\');
708 return quete_calendrier_taches_pb ();
709 }
710
711 ',
712
713 'sql_calendrier_taches_rv' => '() {
714 vieilles_log(\'sql_calendrier_taches_rv()\');
715 return quete_calendrier_taches_rv ();
716 }
717
718 ',
719
720 'sql_calendrier_agenda' => '($annee, $mois) {
721 vieilles_log(\'sql_calendrier_agenda()\');
722 return quete_calendrier_agenda ($annee, $mois);
723 }
724
725 //r9918
726 ',
727
728 'sql_rubrique_fond' => '($contexte) {
729 vieilles_log(\'sql_rubrique_fond()\');
730 return quete_rubrique_fond($contexte);
731 }
732
733 ',
734
735 'sql_chapo' => '($id_article) {
736 vieilles_log(\'sql_chapo()\');
737 return quete_chapo($id_article);
738 }
739
740 ',
741
742 'sql_parent' => '($id_rubrique) {
743 vieilles_log(\'sql_parent()\');
744 return quete_parent($id_rubrique);
745 }
746
747 ',
748
749 'sql_profondeur' => '($id) {
750 vieilles_log(\'sql_profondeur()\');
751 return quete_profondeur($id);
752 }
753
754 ',
755
756 'sql_rubrique' => '($id_article) {
757 vieilles_log(\'sql_rubrique()\');
758 return quete_rubrique($id_article);
759 }
760
761 ',
762
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);
766 }
767
768 ',
769
770 'sql_accepter_forum' => '($id_article) {
771 vieilles_log(\'sql_accepter_forum()\');
772 return quete_accepter_forum($id_article);
773 }
774
775 ',
776
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;
780
781 $nom_table = $nom;
782 $s = $boucle->sql_serveur;
783 if (!$s) {
784 $s = \'localhost\';
785 if (in_array($nom, $table_des_tables))
786 $nom_table = \'spip_\' . $nom;
787 }
788 $desc = $tables_des_serveurs_sql[$s];
789
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);
801 }
802 erreur_squelette(_T(\'zbug_table_inconnue\', array(\'table\' => $nom)),
803 $boucle->id_boucle);
804 return false;
805 }
806 ',
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);
810 }
811 ',
812 'afficher_liste' => '($largeurs, $table, $styles = \'\') {
813 global $spip_display;
814
815 if (!$table OR !is_array($table)) return "";
816
817 if ($spip_display != 4) {
818 $res = \'\';
819 foreach ($table as $t) {
820 $res .= afficher_liste_display_neq4($largeurs, $t, $styles);
821 }
822 } else {
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);
826 }
827 $res .= "\n</ul>";
828 }
829
830 return $res;
831 }
832 ',
833 'afficher_liste_display_neq4' => '($largeurs, $t, $styles = \'\') {
834
835 global $browser_name;
836
837 $evt = (preg_match(",msie,i", $browser_name) ? " onmouseover=\"changeclass(this,\'tr_liste_over\');\" onmouseout=\"changeclass(this,\'tr_liste\');\"" :\'\');
838
839 reset($largeurs);
840 if ($styles) reset($styles);
841 $res =\'\';
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 .= "&nbsp;";
847 $res .= "\n<td" .
848 ($largeur ? (" style=\'width: $largeur" ."px;\'") : \'\') .
849 ($style ? " class=\"$style\"" : \'\') .
850 ">" . lignes_longues($texte) . "\n</td>";
851 }
852
853 return "\n<tr class=\'tr_liste\'$evt>$res</tr>";
854 }
855 ',
856 'afficher_liste_display_eq4' => '($largeurs, $t, $styles = \'\') {
857
858 reset($largeurs);
859 while (list(, $texte) = each($t)) {
860 $largeur = "";
861 list(, $largeur) = each($largeurs);
862 if (!$largeur) $res .= $texte." ";
863 }
864
865 return "\n<li>$res</li>\n";
866 }',
867
868 'barre_textarea' =>'($texte, $rows, $cols, $lang=\'\') {
869 static $num_textarea = 0;
870 include_spip("inc/layer"); // definit browser_barre
871
872 $texte = entites_html($texte);
873 return "<textarea name=\'texte\' rows=\'$rows\' class=\'forml\' cols=\'$cols\'>$texte</textarea>";
874
875 }',
876
877 'generer_url_article' => '($id, $args="", $ancre="")
878 { vieilles_log(\'generer_url_article\'); return generer_url_entite($id, "article", $args, $ancre);}',
879
880 'generer_url_rubrique' => '($id, $args="", $ancre="") {
881 vieilles_log(\'generer_url_rubrique\'); return generer_url_entite($id, "rubrique", $args, $ancre);}',
882
883 'generer_url_breve' => '($id, $args="", $ancre="") {
884 vieilles_log(\'generer_url_breve\'); return generer_url_entite($id, "breve", $args, $ancre);}',
885
886 'generer_url_mot' => '($id, $args="", $ancre="") {
887 vieilles_log(\'generer_url_mot\'); return generer_url_entite($id, "mot", $args, $ancre);}',
888
889 'generer_url_site' => '($id, $args="", $ancre="") {
890 vieilles_log(\'generer_url_site\'); return generer_url_entite($id, "site", $args, $ancre);}',
891
892 'generer_url_auteur' => '($id, $args="", $ancre="") {
893 vieilles_log(\'generer_url_auteur\'); return generer_url_entite($id,"auteur", $args, $ancre);}',
894
895 'charger_generer_url' => '($prive=NULL) {
896 vieilles_log(\'charger_generer_url\'); generer_url_entite("", "", "", "", !$prive);}',
897
898 'tester_variable' => '($n, $v) {
899 if (!isset($GLOBALS[$n])) $GLOBALS[$n] = $v;
900 return $GLOBALS[$n];}',
901
902 // SPIP < 2.1
903 'barre_typo' => '($id,$lang=\'\',$forum=false){
904 return \'\';}',
905
906 'afficher_barre' => '(){
907 return \'\';}',
908
909 ) as $f => $def) {
910 if (!function_exists($f)) {
911 eval("function $f$def");
912 }
913 }
914
915
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);
921
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);
926 }
927
928
929 ?>