[ Index ] |
|
Code source de SPIP 1.8.3 |
1 <?php 2 3 /***************************************************************************\ 4 * SPIP, Systeme de publication pour l'internet * 5 * * 6 * Copyright (c) 2001-2005 * 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 14 // 15 // Ce fichier ne sera execute qu'une fois 16 if (defined("_ECRIRE_INC_META")) return; 17 define("_ECRIRE_INC_META", "1"); 18 19 function lire_metas() { 20 global $meta, $meta_maj; 21 22 $meta = ''; 23 $meta_maj = ''; 24 $query = 'SELECT nom,valeur,UNIX_TIMESTAMP(maj) AS d FROM spip_meta'; 25 $result = spip_query($query); 26 while ($row = spip_fetch_array($result)) { 27 $nom = $row['nom']; 28 $meta[$nom] = $row['valeur']; 29 $meta_maj[$nom] = $row['d']; 30 } 31 } 32 33 function ecrire_meta($nom, $valeur) { 34 $valeur = addslashes($valeur); 35 spip_query("REPLACE spip_meta (nom, valeur) VALUES ('$nom', '$valeur')"); 36 } 37 38 function effacer_meta($nom) { 39 spip_query("DELETE FROM spip_meta WHERE nom='$nom'"); 40 } 41 42 // 43 // Mettre a jour le fichier cache des metas 44 // 45 // Ne pas oublier d'appeler cette fonction apres ecrire_meta() et effacer_meta() ! 46 // 47 function ecrire_metas() { 48 global $meta, $meta_maj; 49 50 lire_metas(); 51 52 $s = ''; 53 54 if ($meta) { 55 reset($meta); 56 while (list($key, $val) = each($meta)) { 57 $key = addslashes($key); 58 $val = ereg_replace("([\\\\'])", "\\\\1", $val); 59 $s .= "\$GLOBALS['meta']['$key'] = '$val';\n"; 60 } 61 $s .= "\n"; 62 } 63 if ($meta_maj) { 64 reset($meta_maj); 65 while (list($key, $val) = each($meta_maj)) { 66 $key = addslashes($key); 67 $s .= "\$GLOBALS['meta_maj']['$key'] = '$val';\n"; 68 } 69 $s .= "\n"; 70 } 71 72 if ($s) { 73 $ok = ecrire_fichier (_DIR_SESSIONS . 'meta_cache.php3', 74 '<'.'?php 75 76 if (defined("_DATA_META_CACHE")) return; 77 define("_DATA_META_CACHE", "1"); 78 ' 79 . $s . '?'.'>'); 80 if (!$ok && $GLOBALS['connect_statut'] == '0minirezo') 81 echo "<h4 font color=red>"._T('texte_inc_meta_1')." <a href='../spip_test_dirs.php3'>"._T('texte_inc_meta_2')."</a> "._T('texte_inc_meta_3')." </h4>\n"; 82 } 83 } 84 85 // On force lire_metas() si le cache n'a pas ete utilise 86 if (!isset($GLOBALS['meta'])) 87 lire_metas(); 88 89 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Thu Feb 22 22:27:47 2007 | par Balluche grâce à PHPXref 0.7 |