From 08a194976cfd4c51f9828f8ca485533e247a27c4 Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Sun, 4 Feb 2007 14:05:58 +0000 Subject: [PATCH] Pas malin de calculer 2 fois s'il y a des rendez-vous, d'autant que les gadgets en rajoutent une couche. --- ecrire/exec/accueil.php | 32 ++++-------------------------- ecrire/inc/agenda.php | 26 +++++++++++++++++++++++- ecrire/inc/gadgets.php | 44 ++++++++++++----------------------------- 3 files changed, 42 insertions(+), 60 deletions(-) diff --git a/ecrire/exec/accueil.php b/ecrire/exec/accueil.php index cf8c2ae8d1..3cdb150edd 100644 --- a/ecrire/exec/accueil.php +++ b/ecrire/exec/accueil.php @@ -390,33 +390,6 @@ function etat_base_accueil() return $res ; } -// -// Affiche les messsages -// et les calendrier du mois et du jour s'il y a des rendez-vous -// - -// http://doc.spip.org/@accueil_evenements -function accueil_evenements() -{ - global $partie_cal, $echelle; - - $mois = date("m"); - $annee = date("Y"); - $jour = date("d"); - $date = date("Y-m-d"); - - $evtm = sql_calendrier_agenda($annee, $mois); - $evt = sql_calendrier_interval_rv("'$date'", "'$date 23:59:59'"); - - return "<div> </div>" - . http_calendrier_rv(sql_calendrier_taches_annonces(),"annonces") - . http_calendrier_rv(sql_calendrier_taches_pb(),"pb") - . http_calendrier_rv(sql_calendrier_taches_rv(), "rv") - . ($evtm ? http_calendrier_agenda($annee, $mois, $jour, $mois, $annee, false, generer_url_ecrire('calendrier'), '', $evtm) : '') - . ($evt ? ( http_calendrier_ics_titre($annee,$mois,$jour,generer_url_ecrire('calendrier')) . http_calendrier_ics($annee, $mois, $jour, $echelle, $partie_cal, 90, array('', $evt))) : ''); -} - - // http://doc.spip.org/@exec_accueil_dist function exec_accueil_dist() { @@ -442,7 +415,10 @@ function exec_accueil_dist() } creer_colonne_droite(); - echo accueil_evenements(); + list($evtm, $evtt, $evtr) = http_calendrier_messages(date("Y"), date("m"), date("d")," 23:59:59"); + + echo "<div> </div>", $evtt, $evtm, $evtr; + echo pipeline('affiche_droite',array('args'=>array('exec'=>'accueil','id_rubrique'=>$id_rubrique),'data'=>'')); debut_droite(); diff --git a/ecrire/inc/agenda.php b/ecrire/inc/agenda.php index 2d2f851d9c..c57f6c9a3f 100644 --- a/ecrire/inc/agenda.php +++ b/ecrire/inc/agenda.php @@ -1166,7 +1166,31 @@ function http_calendrier_agenda_rv ($annee, $mois, $les_rv, $fclic, -// Fonction pour la messagerie et la page d'accueil +// Fonctions pour la messagerie, la page d'accueil et les gadgets + +function http_calendrier_messages($annee='', $mois='', $jour='', $heures='') +{ + global $partie_cal, $echelle; + + if ($evtm = sql_calendrier_agenda($annee, $mois)) + $evtm = http_calendrier_agenda($annee, $mois, $jour, $mois, $annee, false, generer_url_ecrire('calendrier'), '', $evtm); + else $evtm= ''; + + $evtt = http_calendrier_rv(sql_calendrier_taches_annonces(),"annonces") + . http_calendrier_rv(sql_calendrier_taches_pb(),"pb") + . http_calendrier_rv(sql_calendrier_taches_rv(), "rv"); + + $evtr= ''; + if ($heures) { + $date = date("$annee-$mois-$jour"); + $datef = "'$date $heures'"; + if ($heures = sql_calendrier_interval_rv("'$date'", $datef)) + $evtr = http_calendrier_ics_titre($annee,$mois,$jour,generer_url_ecrire('calendrier')) . http_calendrier_ics($annee, $mois, $jour, $echelle, $partie_cal, 90, array('', $heures)); + } + return array($evtm, $evtt, $evtr); +} + + // http://doc.spip.org/@http_calendrier_rv function http_calendrier_rv($messages, $type) { diff --git a/ecrire/inc/gadgets.php b/ecrire/inc/gadgets.php index 067dcfad04..e4b53533d9 100644 --- a/ecrire/inc/gadgets.php +++ b/ecrire/inc/gadgets.php @@ -437,37 +437,19 @@ function bandeau_gadgets($largeur, $options, $id_rubrique) { function gadget_agenda() { global $connect_id_auteur; - $gadget = ''; - $today = getdate(time()); - $jour_today = $today["mday"]; - $mois_today = $today["mon"]; - $annee_today = $today["year"]; - $date = date("Y-m-d", mktime(0,0,0,$mois_today, 1, $annee_today)); - $mois = mois($date); - $annee = annee($date); - $jour = jour($date); - $gadget .= "<table><tr>"; - $gadget .= "<td style='width: 200px' valign='top' >"; - $gadget .= "<div>"; - $gadget .= http_calendrier_agenda($annee_today, $mois_today, $jour_today, $mois_today, $annee_today, false, generer_url_ecrire('calendrier')); - $gadget .= "</div>"; - $gadget .= "</td>"; - - $n = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM spip_messages AS messages WHERE id_auteur=$connect_id_auteur AND statut='publie' AND type='pb' AND rv!='oui' LIMIT 1")); - if (!$n['n']) - $n = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM spip_messages AS messages, spip_auteurs_messages AS lien WHERE ((lien.id_auteur='$connect_id_auteur' AND lien.id_message=messages.id_message) OR messages.type='affich') AND messages.rv='oui' AND messages.date_heure > DATE_SUB(NOW(), INTERVAL 1 DAY) AND messages.date_heure < DATE_ADD(NOW(), INTERVAL 1 MONTH) AND messages.statut='publie' GROUP BY messages.id_message ORDER BY messages.date_heure LIMIT 1")); - if ($n['n']) { - $gadget .= "<td style='width: 10px' valign='top'> </td>"; - $gadget .= "<td style='width: 200px; color: black;' valign='top'>"; - $gadget .= "<div> </div>"; - $gadget .= http_calendrier_rv(sql_calendrier_taches_annonces(),"annonces"); - $gadget .= http_calendrier_rv(sql_calendrier_taches_pb(),"pb"); - $gadget .= http_calendrier_rv(sql_calendrier_taches_rv(), "rv"); - $gadget .= "</td>"; - } - $gadget .= "</tr></table>"; - - return $gadget; + list($evtm, $evtt, $evtr) = http_calendrier_messages(date("Y"), date("m"), date("d")); + + return "<table><tr>" + . "<td style='width: 200px; vertical-align: top;' >" + . "<div>" + . $evtm + . "</div>" + . "</td>" + . (!$evtt ? '' : + ( "<td style='width: 10px; vertical-align: top'> </td>" + . "<td style='width: 200px; color: black; vertical-align: top'>" + . "<div> </div>$evtt</td>")) + . "</tr></table>"; } // http://doc.spip.org/@gadget_messagerie -- GitLab