From 340ae1fc7d761397ee72386cac9eb88399068b63 Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Wed, 1 Jan 2003 15:23:10 +0000 Subject: [PATCH] Correction bug ecrire -> ecrire/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plus d'éénements logés dans spip.log On évite les timeout en faisant une seule grosse opération à la fois Amélioration de l'écran "purger les données d'indexation", qui indique désoermais "Le moteur de recherche n'est pas activé. Les tables d'indexation du moteur sont vides. " etc. --- article-dist.html | 2 +- breve-dist.html | 2 +- ecrire/admin_vider.php3 | 24 +++++++++----- ecrire/inc_statistiques.php3 | 4 +++ forum-dist.html | 2 +- inc-public-global.php3 | 26 +++++++++------ inc-stats.php3 | 61 +++++++++++++++++++----------------- mot-dist.html | 2 +- recherche-dist.html | 2 +- resume-dist.html | 2 +- rubrique-dist.html | 6 +++- sommaire-dist.html | 2 +- 12 files changed, 82 insertions(+), 53 deletions(-) diff --git a/article-dist.html b/article-dist.html index 78b4e4a97e..30608a36be 100644 --- a/article-dist.html +++ b/article-dist.html @@ -39,7 +39,7 @@ <a href="resume.php3" title="Articles populaires et derniers messages de forum">En résumé</a> </li> <li class="menu-item"> - <a href="ecrire" title="Accéder à l'espace réservé aux rédacteurs">Administration</a> + <a href="ecrire/" title="Accéder à l'espace réservé aux rédacteurs">Administration</a> </li> </ul> </div> diff --git a/breve-dist.html b/breve-dist.html index b8f326cd11..bec85d3448 100644 --- a/breve-dist.html +++ b/breve-dist.html @@ -40,7 +40,7 @@ <a href="resume.php3" title="Articles populaires et derniers messages de forum">En résumé</a> </li> <li class="menu-item"> - <a href="ecrire" title="Accéder à l'espace réservé aux rédacteurs">Administration</a> + <a href="ecrire/" title="Accéder à l'espace réservé aux rédacteurs">Administration</a> </li> </ul> </div> diff --git a/ecrire/admin_vider.php3 b/ecrire/admin_vider.php3 index 4a71491b00..a590e61ba8 100644 --- a/ecrire/admin_vider.php3 +++ b/ecrire/admin_vider.php3 @@ -98,14 +98,24 @@ echo "<TR><TD BACKGROUND=''>"; echo "<FONT FACE='Georgia,Garamond,Times,serif' SIZE=3>"; -echo "\n<p align='justify'>Utilisez cette commande afin de vider les tables utilisées -par le moteur de recherche intégré à SPIP. Cela permet de gagner de -l'espace disque si vous avez désactivé le moteur de recherche. Cela peut servir -également à réindexer les documents au cas où vous avez restauré une sauvegarde. - -<p align='justify'>Notez que les documents modifiés de façon normale (depuis l'interface -SPIP) sont automatiquement réindexés, cette commande n'est donc utile que de façon exceptionnelle."; +echo "\n<p align='justify'>"; +if (lire_meta('activer_moteur') == 'oui') + echo "<b>Le moteur de recherche est activé.</b> Utilisez cette commande + si vous souhaitez procéder à une réindexation rapide (après restauration + d'une sauvegarde par exemple). Notez que les documents modifiés de + façon normale (depuis l'interface SPIP) sont automatiquement + réindexés : cette commande n'est donc utile que de façon exceptionnelle."; +else { + echo "<b>Le moteur de recherche n'est pas activé.</b>"; + $row = spip_fetch_array(spip_query("SELECT COUNT(*) AS cnt FROM spip_index_articles")); + if ($row['cnt']) + echo " Utilisez cette commande afin de vider les tables d'indexation utilisées + par le moteur de recherche intégré à SPIP. Cela vous permettra + de gagner de l'espace disque."; + else + echo " Les tables d'indexation du moteur sont vides."; +} echo "\n<FORM ACTION='admin_vider.php3' METHOD='post'>"; diff --git a/ecrire/inc_statistiques.php3 b/ecrire/inc_statistiques.php3 index 8ae432a0f7..339ca6bdb5 100644 --- a/ecrire/inc_statistiques.php3 +++ b/ecrire/inc_statistiques.php3 @@ -215,6 +215,7 @@ function calculer_n_referers($nb_referers) { function calculer_referers() { + spip_log("analyse referers"); $encore = calculer_n_referers(100); if ($encore) { include_ecrire("inc_meta.php3"); @@ -233,6 +234,7 @@ function calculer_referers() { // function calculer_visites($date = "") { + spip_log("analyse visites"); // calculer les popularites avant d'effacer les donnees calculer_popularites(); @@ -290,6 +292,8 @@ function calculer_visites($date = "") { // function calculer_popularites() { + spip_log("analyse popularites"); + $date = lire_meta('date_stats_popularite'); include_ecrire("inc_meta.php3"); ecrire_meta("date_stats_popularite", time()); diff --git a/forum-dist.html b/forum-dist.html index 5727b2e330..91cc293fe3 100644 --- a/forum-dist.html +++ b/forum-dist.html @@ -36,7 +36,7 @@ <a href="resume.php3" title="Articles populaires et derniers messages de forum">En résumé</a> </li> <li class="menu-item"> - <a href="ecrire" title="Accéder à l'espace réservé aux rédacteurs">Administration</a> + <a href="ecrire/" title="Accéder à l'espace réservé aux rédacteurs">Administration</a> </li> </ul> </div> diff --git a/inc-public-global.php3 b/inc-public-global.php3 index 209c435840..6bba044e7f 100644 --- a/inc-public-global.php3 +++ b/inc-public-global.php3 @@ -155,6 +155,7 @@ if (file_exists($chemin_cache)) { if ($var_recherche) { fin_surligne($var_recherche, $mode_surligne); + $timeout = true; // risque timeout } @@ -193,8 +194,8 @@ if (!file_exists("CACHE/.htaccess")) { if (lire_meta('activer_moteur') == 'oui') { $fichier_index = 'ecrire/data/.index'; if ($db_ok) { - include_ecrire("inc_texte.php3"); - include_ecrire("inc_filtres.php3"); + // include_ecrire("inc_texte.php3"); + // include_ecrire("inc_filtres.php3"); include_ecrire("inc_index.php3"); $s = ''; if ($id_article AND !deja_indexe('article', $id_article)) @@ -215,7 +216,7 @@ if (lire_meta('activer_moteur') == 'oui') { } if ($use_cache AND file_exists($fichier_index) AND $size = filesize($fichier_index)) { include_ecrire("inc_connect.php3"); - if ($db_ok) { + if (!$timeout AND $db_ok) { include_ecrire("inc_texte.php3"); include_ecrire("inc_filtres.php3"); include_ecrire("inc_index.php3"); @@ -226,8 +227,10 @@ if (lire_meta('activer_moteur') == 'oui') { $f = fopen($fichier_index, 'w'); fwrite($f, $suite); fclose($f); - $s = explode(' ', $s); + $s = explode(' ', trim($s)); + spip_log("indexation $s[0] $s[1]"); indexer_objet($s[0], $s[1], false); + $timeout = true; } } } @@ -239,8 +242,9 @@ if (lire_meta('activer_moteur') == 'oui') { // Se declenche une fois par jour quand le cache n'est pas recalcule // -if ($use_cache && file_exists('CACHE/.purge2') && $db_ok) { +if (!$timeout AND $use_cache AND file_exists('CACHE/.purge2') AND $db_ok) { unlink('CACHE/.purge2'); + spip_log("purge cache niveau 2"); $query = "SELECT fichier FROM spip_forum_cache WHERE maj < DATE_SUB(NOW(), INTERVAL 14 DAY)"; $result = spip_query($query); unset($fichiers); @@ -252,14 +256,17 @@ if ($use_cache && file_exists('CACHE/.purge2') && $db_ok) { $query = "DELETE FROM spip_forum_cache WHERE fichier IN (".join(',', $fichiers).")"; spip_query($query); } + $timeout = true; } -if ($use_cache && file_exists('CACHE/.purge')) { +if (!$timeout AND $use_cache AND file_exists('CACHE/.purge')) { unlink('CACHE/.purge'); + spip_log("purge cache niveau 1"); $f = fopen('CACHE/.purge2', 'w'); fclose($f); include_local ("inc-cache.php3"); purger_repertoire('CACHE', 14 * 24 * 3600); + $timeout = true; } @@ -281,8 +288,7 @@ if ($admin_ok AND !$flag_preserver AND !$flag_boutons_admin) { // Mise a jour d'un (ou de zero) site syndique // -if ($db_ok AND lire_meta("activer_syndic") != "non") { - flush(); +if (!$timeout AND $db_ok AND lire_meta("activer_syndic") != "non") { include_ecrire("inc_texte.php3"); include_ecrire("inc_filtres.php3"); include_ecrire("inc_sites.php3"); @@ -290,6 +296,7 @@ if ($db_ok AND lire_meta("activer_syndic") != "non") { executer_une_syndication(); executer_une_indexation_syndic(); + $timeout = true; } // @@ -307,7 +314,7 @@ if (lire_meta("activer_statistiques") != "non") { // $majnouv = lire_meta('majnouv'); -if (lire_meta('quoi_de_neuf') == 'oui' AND $jours_neuf = lire_meta('jours_neuf') +if (!$timeout AND lire_meta('quoi_de_neuf') == 'oui' AND $jours_neuf = lire_meta('jours_neuf') AND $adresse_neuf = lire_meta('adresse_neuf') AND (time() - $majnouv) > 3600 * 24 * $jours_neuf) { include_ecrire('inc_connect.php3'); if ($db_ok) { @@ -344,6 +351,7 @@ if (lire_meta('quoi_de_neuf') == 'oui' AND $jours_neuf = lire_meta('jours_neuf') } else spip_log("envoi mail nouveautes : pas de nouveautes"); } + $timeout = true; } ?> diff --git a/inc-stats.php3 b/inc-stats.php3 index 9ae71fa122..9a60365fdb 100644 --- a/inc-stats.php3 +++ b/inc-stats.php3 @@ -6,12 +6,8 @@ if (defined("_INC_STATS")) return; define("_INC_STATS", "1"); function ecrire_stats() { - global $id_article, $id_breve, $id_rubrique, $admin_ok; - include_ecrire("inc_connect.php3"); - if (!$GLOBALS['db_ok']) - return; + global $id_article, $id_breve, $id_rubrique, $admin_ok, $timeout; - // Essai de fichier de log simplifie $log_ip = $GLOBALS['REMOTE_ADDR']; if ($id_rubrique > 0) { $log_type = "rubrique"; @@ -36,7 +32,34 @@ function ecrire_stats() { } else return; + + // + // Loguer la visite dans la base si possible + // + if ($log_type != "autre") { + $query = "INSERT IGNORE INTO spip_visites_temp (ip, type, id_objet) ". + "VALUES ($log_ip, '$log_type', $log_id_num)"; + spip_query($query); + } + if (lire_meta('activer_statistiques_ref') == 'oui') { + $url_site_spip = lire_meta('adresse_site'); + $url_site_spip = eregi_replace("^(https?|ftp://)www\.", "\\1(www)?\.", $url_site_spip); + $log_referer = $GLOBALS['HTTP_REFERER']; + if (eregi($url_site_spip, $log_referer) AND !$GLOBALS['var_recherche']) $log_referer = ""; + if ($log_referer) { + $referer_md5 = '0x'.substr(md5($log_referer), 0, 16); + $query = "INSERT IGNORE INTO spip_referers_temp (ip, referer, referer_md5, type, id_objet) ". + "VALUES ($log_ip, '$log_referer', $referer_md5, '$log_type', $log_id_num)"; + spip_query($query); + } + } + + + // // Archivage des visites temporaires + // + if ($timeout) return; + $date = date("Y-m-d"); $last_date = lire_meta("date_statistiques"); @@ -46,6 +69,7 @@ function ecrire_stats() { ecrire_meta('calculer_referers_now', 'non'); ecrire_metas(); calculer_referers(); + $timeout = true; } else if ($date != $last_date) { include_ecrire("inc_meta.php3"); include_ecrire("inc_statistiques.php3"); @@ -60,35 +84,15 @@ function ecrire_stats() { ecrire_meta('calculer_referers_now','oui'); ecrire_metas(); } + $timeout = true; } - // Log simple des visites - if ($log_type != "autre") { - $query = "INSERT IGNORE INTO spip_visites_temp (ip, type, id_objet) ". - "VALUES ($log_ip, '$log_type', $log_id_num)"; - spip_query($query); - } - - // Log complexe (referers) - if (lire_meta('activer_statistiques_ref') == 'oui') { - $url_site_spip = lire_meta('adresse_site'); - $url_site_spip = eregi_replace("^(https?|ftp://)www\.", "\\1(www)?\.", $url_site_spip); - $log_referer = $GLOBALS['HTTP_REFERER']; - if (eregi($url_site_spip, $log_referer) AND !$GLOBALS['var_recherche']) $log_referer = ""; - if ($log_referer) { - $referer_md5 = '0x'.substr(md5($log_referer), 0, 16); - $query = "INSERT IGNORE INTO spip_referers_temp (ip, referer, referer_md5, type, id_objet) ". - "VALUES ($log_ip, '$log_referer', $referer_md5, '$log_type', $log_id_num)"; - spip_query($query); - } - } - - // popularite, mise a jour dix minutes $date_popularite = lire_meta('date_stats_popularite'); - if ((time() - $date_popularite) > 600) { + if (!$timeout AND ((time() - $date_popularite) > 600)) { include_ecrire("inc_statistiques.php3"); calculer_popularites(); + $timeout = true; } @@ -100,7 +104,6 @@ function ecrire_stats() { ecrire_meta('calculer_referers_now', 'oui'); ecrire_metas(); } - } diff --git a/mot-dist.html b/mot-dist.html index 5785eb76f0..cee3f5cec5 100644 --- a/mot-dist.html +++ b/mot-dist.html @@ -39,7 +39,7 @@ <a href="resume.php3" title="Articles populaires et derniers messages de forum">En résumé</a> </li> <li class="menu-item"> - <a href="ecrire" title="Accéder à l'espace réservé aux rédacteurs">Administration</a> + <a href="ecrire/" title="Accéder à l'espace réservé aux rédacteurs">Administration</a> </li> </ul> </div> diff --git a/recherche-dist.html b/recherche-dist.html index aa620e7e35..17dc7026a4 100644 --- a/recherche-dist.html +++ b/recherche-dist.html @@ -36,7 +36,7 @@ <a href="resume.php3" title="Articles populaires et derniers messages de forum">En résumé</a> </li> <li class="menu-item"> - <a href="ecrire" title="Accéder à l'espace réservé aux rédacteurs">Administration</a> + <a href="ecrire/" title="Accéder à l'espace réservé aux rédacteurs">Administration</a> </li> </ul> </div> diff --git a/resume-dist.html b/resume-dist.html index a93fe5f0d4..54e6a6bb5b 100644 --- a/resume-dist.html +++ b/resume-dist.html @@ -35,7 +35,7 @@ <a href="resume.php3" title="Articles populaires et derniers messages de forum">En résumé</a> </li> <li class="menu-item"> - <a href="ecrire" title="Accéder à l'espace réservé aux rédacteurs">Administration</a> + <a href="ecrire/" title="Accéder à l'espace réservé aux rédacteurs">Administration</a> </li> </ul> </div> diff --git a/rubrique-dist.html b/rubrique-dist.html index f9c497cada..7d8b51d89f 100644 --- a/rubrique-dist.html +++ b/rubrique-dist.html @@ -39,7 +39,7 @@ <a href="resume.php3" title="Articles populaires et derniers messages de forum">En résumé</a> </li> <li class="menu-item"> - <a href="ecrire" title="Accéder à l'espace réservé aux rédacteurs">Administration</a> + <a href="ecrire/" title="Accéder à l'espace réservé aux rédacteurs">Administration</a> </li> </ul> </div> @@ -177,6 +177,10 @@ [<div class="chapo">(#TEXTE)</div>] [<div class="notes">(#NOTES)</div>] +<BOUCLE_documents_joints(DOCUMENTS) {id_rubrique} {mode=document} {doublons} {"<br>"}> +[(#LOGO_DOCUMENT|#URL_DOCUMENT)][<br>(#TITRE)][ - (#DESCRIPTIF)] +</BOUCLE_documents_joints> +<br> <!-- Articles recents --> diff --git a/sommaire-dist.html b/sommaire-dist.html index 81a130fb04..60de904926 100644 --- a/sommaire-dist.html +++ b/sommaire-dist.html @@ -36,7 +36,7 @@ <a href="resume.php3" title="Articles populaires et derniers messages de forum">En résumé</a> </li> <li class="menu-item"> - <a href="ecrire" title="Accéder à l'espace réservé aux rédacteurs">Administration</a> + <a href="ecrire/" title="Accéder à l'espace réservé aux rédacteurs">Administration</a> </li> </ul> </div> -- GitLab