From 1e8846214702409ceb81588bc0bac71836c0b185 Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Fri, 25 Apr 2003 03:36:04 +0000 Subject: [PATCH] annule et remplace les trucs de date --- ecrire/inc_version.php3 | 1 + inc-calcul-squel.php3 | 25 +++++++++++++++++-------- inc-calcul.php3 | 15 +++++++++++++-- inc-public-global.php3 | 5 +---- nouveautes-dist.html | 4 ++-- 5 files changed, 34 insertions(+), 16 deletions(-) diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3 index 6f995999c9..f54bcb2738 100644 --- a/ecrire/inc_version.php3 +++ b/ecrire/inc_version.php3 @@ -195,6 +195,7 @@ $flag_ImageJpeg = function_exists("ImageJpeg"); $flag_ImagePng = function_exists("ImagePng"); $flag_multibyte = function_exists("mb_encode_mimeheader"); $flag_iconv = function_exists("iconv"); +$flag_strtotime = function_exists("strtotime"); $flag_gd = $flag_ImageGif || $flag_ImageJpeg || $flag_ImagePng; diff --git a/inc-calcul-squel.php3 b/inc-calcul-squel.php3 index 09c53554a4..5b83b37693 100644 --- a/inc-calcul-squel.php3 +++ b/inc-calcul-squel.php3 @@ -409,15 +409,24 @@ function parser_boucle($texte, $id_parent) { $col_table = ''; } else if ($col == 'age') { - $col = "(LEAST((TO_DAYS(now())-TO_DAYS($table.$col_date)),(DAYOFMONTH(now())-DAYOFMONTH($table.$col_date))+30.4368*(MONTH(now())-MONTH($table.$col_date))+365.2422*(YEAR(now())-YEAR($table.$col_date))))"; + $col = "(LEAST((UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP($table.$col_date))/86400, TO_DAYS(now())-TO_DAYS($table.$col_date), DAYOFMONTH(now())-DAYOFMONTH($table.$col_date)+30.4368*(MONTH(now())-MONTH($table.$col_date))+365.2422*(YEAR(now())-YEAR($table.$col_date))))"; $col_table = ''; } else if ($col == 'age_relatif') { - $col = "(LEAST((TO_DAYS('(\$date)')-TO_DAYS($table.$col_date)),(DAYOFMONTH('(\$date)')-DAYOFMONTH($table.$col_date))+30.4368*(MONTH('(\$date)')-MONTH($table.$col_date))+365.2422*(YEAR('(\$date)')-YEAR($table.$col_date))))"; + $col = "LEAST((UNIX_TIMESTAMP('(\$date)')-UNIX_TIMESTAMP($table.$col_date))/86400, +TO_DAYS('(\$date)')-TO_DAYS($table.$col_date), DAYOFMONTH('(\$date)')-DAYOFMONTH($table.$col_date)+30.4368*(MONTH('(\$date)')-MONTH($table.$col_date))+365.2422*(YEAR('(\$date)')-YEAR($table.$col_date)))"; $col_table = ''; } - else if ($col == 'age_mail_nouv') { - $col = "(LEAST((TO_DAYS('(\$date_nouv)')-TO_DAYS($table.$col_date)),(DAYOFMONTH('(\$date_nouv)')-DAYOFMONTH($table.$col_date))+30.4368*(MONTH('(\$date_nouv)')-MONTH($table.$col_date))+365.2422*(YEAR('(\$date_nouv)')-YEAR($table.$col_date))))"; + else if ($col == 'jour_relatif') { + $col = "LEAST(TO_DAYS('(\$date)')-TO_DAYS($table.$col_date), DAYOFMONTH('(\$date)')-DAYOFMONTH($table.$col_date)+30.4368*(MONTH('(\$date)')-MONTH($table.$col_date))+365.2422*(YEAR('(\$date)')-YEAR($table.$col_date)))"; + $col_table = ''; + } + else if ($col == 'mois_relatif') { + $col = "(MONTH('(\$date)')-MONTH($table.$col_date)+12*(YEAR('(\$date)')-YEAR($table.$col_date)))"; + $col_table = ''; + } + else if ($col == 'annee_relatif') { + $col = "YEAR('(\$date)')-YEAR($table.$col_date)"; $col_table = ''; } else if ($col == 'age_redac') { @@ -823,7 +832,7 @@ function parser($texte) { 'ID_ARTICLE', 'ID_RUBRIQUE', 'ID_BREVE', 'ID_FORUM', 'ID_PARENT', 'ID_SECTEUR', 'ID_DOCUMENT', 'ID_TYPE', 'ID_AUTEUR', 'ID_MOT', 'ID_SYNDIC_ARTICLE', 'ID_SYNDIC', 'ID_SIGNATURE', 'ID_GROUPE', 'TITRE', 'SURTITRE', 'SOUSTITRE', 'DESCRIPTIF', 'CHAPO', 'TEXTE', 'PS', 'NOTES', 'INTRODUCTION', 'MESSAGE', - 'DATE', 'DATE_REDAC', 'DATE_MODIF', 'DATE_MAIL_NOUV', 'INCLUS', + 'DATE', 'DATE_REDAC', 'DATE_MODIF', 'DATE_NOUVEAUTES', 'INCLUS', 'LESAUTEURS', 'EMAIL', 'NOM_SITE', 'LIEN_TITRE', 'URL_SITE', 'LIEN_URL', 'NOM', 'BIO', 'TYPE', 'PGP', 'FORMULAIRE_ECRIRE_AUTEUR', 'FORMULAIRE_FORUM', 'FORMULAIRE_SITE', 'PARAMETRES_FORUM', 'FORMULAIRE_RECHERCHE', 'RECHERCHE', 'FORMULAIRE_INSCRIPTION', 'FORMULAIRE_SIGNATURE', 'LOGO_MOT', 'LOGO_RUBRIQUE', 'LOGO_RUBRIQUE_NORMAL', 'LOGO_RUBRIQUE_SURVOL', 'LOGO_AUTEUR', 'LOGO_SITE', 'LOGO_BREVE', 'LOGO_BREVE_RUBRIQUE', 'LOGO_DOCUMENT', 'LOGO_ARTICLE', 'LOGO_ARTICLE_RUBRIQUE', 'LOGO_ARTICLE_NORMAL', 'LOGO_ARTICLE_SURVOL', @@ -880,7 +889,7 @@ function parser($texte) { } // Dates : ajouter le vidage des dates egales a 00-00-0000 - $c = array('DATE', 'DATE_REDAC', 'DATE_MODIF', 'DATE_MAIL_NOUV'); + $c = array('DATE', 'DATE_REDAC', 'DATE_MODIF', 'DATE_NOUVEAUTES'); reset($c); while (list(, $val) = each($c)) { $champs_traitement[$val][] = 'vider_date'; @@ -1344,7 +1353,7 @@ function calculer_champ($id_champ, $id_boucle, $nom_var) $code = "propre('- ')"; break; - case 'DATE_MAIL_NOUV': + case 'DATE_NOUVEAUTES': $milieu = "if (lire_meta('quoi_de_neuf') == 'oui' AND lire_meta('majnouv')) \$$nom_var = date('Y-m-d H:i:s', lire_meta('majnouv')); else @@ -1721,7 +1730,7 @@ function calculer_boucle($id_boucle, $prefix_boucle) // $texte .= "function $func".'($contexte) { - global $pile_boucles, $ptr_pile_boucles, $id_doublons, $fichier_cache, $requetes_cache, $syn_rubriques, $rubriques_publiques, $id_article_img, $date_nouv; + global $pile_boucles, $ptr_pile_boucles, $id_doublons, $fichier_cache, $requetes_cache, $syn_rubriques, $rubriques_publiques, $id_article_img; '; diff --git a/inc-calcul.php3 b/inc-calcul.php3 index a22fcf89be..f666ce151b 100644 --- a/inc-calcul.php3 +++ b/inc-calcul.php3 @@ -429,6 +429,7 @@ function calculer_page_globale($fond) { global $contexte; global $fichier_requete; global $id_rubrique_fond; + global $date; $contexte = ''; $contexte_defaut = array('id_parent', 'id_rubrique', 'id_article', 'id_auteur', @@ -439,8 +440,18 @@ function calculer_page_globale($fond) { $contexte[$val] = (int) $GLOBALS[$val]; } } - if ($GLOBALS["date"]) { - $contexte["date"] = $GLOBALS["date"]; + + // mettre la date eventuellement passee en globale au format MySQL + if ($date) { + if (ereg("^[12][0-9]{3}$", $date)) + $date .= "-01-01"; + else if (ereg("^[12][0-9]{3}[/-][01]?[0-9]$", $date)) + $date = ereg_replace("/","-",$date)."-01"; + else if ($GLOBALS['flag_strtotime']) { + if ($date_str = strtotime($date)) + $date = date("Y-m-d H:i:s", $date_str); + } + $contexte['date'] = $date; } // Calcul de la rubrique associee a la requete diff --git a/inc-public-global.php3 b/inc-public-global.php3 index 927673dbfa..3261bddb78 100644 --- a/inc-public-global.php3 +++ b/inc-public-global.php3 @@ -69,10 +69,6 @@ if ($ajout_forum) { ajout_forum(); } - -// date relative a l'envoi du mail nouveautes -$GLOBALS['date_nouv'] = date('Y-m-d H:i:s', lire_meta('majnouv')); - if (!$use_cache) { $lastmodified = time(); if (($lastmodified - lire_meta('date_purge_cache')) > 24 * 3600) { @@ -236,6 +232,7 @@ if (!$timeout AND lire_meta('quoi_de_neuf') == 'oui' AND $jours_neuf = lire_meta unset ($sujet_nouveautes); $fond = 'nouveautes'; $delais = 0; + $contexte_inclus = array('date' => date('Y-m-d H:i:s', $majnouv)); include(inclure_fichier($fond, $delais, $contexte_inclus)); // envoi diff --git a/nouveautes-dist.html b/nouveautes-dist.html index 0a71d51613..3f9d45dd6a 100644 --- a/nouveautes-dist.html +++ b/nouveautes-dist.html @@ -21,7 +21,7 @@ $mail_nouveautes = ' ----------------- '; -<BOUCLE_nv1(ARTICLES){age_mail_nouv<=0}{par date}{inverse}{0,30}> +<BOUCLE_nv1(ARTICLES){age_relatif<=0}{par date}{inverse}{0,30}> $mail_nouveautes .= '[** (#TITRE|textebrut|texte_script) **]'; $mail_nouveautes .= "\n"; $mail_nouveautes .= '[par (#LESAUTEURS|textebrut|texte_script)] '; @@ -41,7 +41,7 @@ $mail_nouveautes .= ' ---------------- '; -<BOUCLE_nv2(BREVES){age_mail_nouv<=0}{par date}{inverse}{0,30}> +<BOUCLE_nv2(BREVES){age_relatif<=0}{par date}{inverse}{0,30}> $mail_nouveautes .= '[* (#TITRE|textebrut|texte_script) *]'; $mail_nouveautes .= '[ - (#DATE|affdate|texte_script)]'."\n\n"; $mail_nouveautes .= '[(#INTRODUCTION|textebrut|texte_script)]'."\n\n"; -- GitLab