function change_date_message($id_message, $heures,$minutes,$mois, $jour, $annee, $heures_fin,$minutes_fin,$mois_fin, $jour_fin, $annee_fin) { $date = date("Y-m-d H:i:s", mktime($heures,$minutes,0,$mois, $jour, $annee)); $jour = journum($date); $mois = mois($date); $annee = annee($date); $heures = heures($date); $minutes = minutes($date); // Verifier que la date de fin est bien posterieure au debut $unix_debut = date("U", mktime($heures,$minutes,0,$mois, $jour, $annee)); $unix_fin = date("U", mktime($heures_fin,$minutes_fin,0,$mois_fin, $jour_fin, $annee_fin)); if ($unix_fin <= $unix_debut) { $jour_fin = $jour; $mois_fin = $mois; $annee_fin = $annee; $heures_fin = $heures + 1; $minutes_fin = $minutes; } $date_fin = date("Y-m-d H:i:s", mktime($heures_fin,$minutes_fin,0,$mois_fin, $jour_fin, $annee_fin)); $jour_fin = journum($date_fin); $mois_fin = mois($date_fin); $annee_fin = annee($date_fin); $heures_fin = heures($date_fin); $minutes_fin = minutes($date_fin); sql_updateq('spip_messages', array('date_heure'=>"$annee-$mois-$jour $heures:$minutes:00", 'date_fin'=>"$annee_fin-$mois_fin-$jour_fin $heures_fin:$minutes_fin:00"), "id_message=$id_message"); }
function quete_calendrier_agenda($annee, $mois) { include_spip('inc/session'); $connect_id_auteur = session_get('id_auteur'); $rv = array(); if (!$connect_id_auteur) { return $rv; } $date = date("Y-m-d", mktime(0, 0, 0, $mois, 1, $annee)); $mois = mois($date); $annee = annee($date); // rendez-vous personnels dans le mois $result_messages = sql_select("M.titre AS summary, M.texte AS description, M.id_message AS uid, M.date_heure", "spip_messages AS M, spip_auteurs_liens AS L", "((L.id_auteur={$connect_id_auteur} AND L.id_objet=M.id_message AND L.objet='message') OR M.type='affich') AND M.rv='oui' AND M.date_heure >='{$annee}-{$mois}-1' AND date_heure < DATE_ADD('{$annee}-{$mois}-1', INTERVAL 1 MONTH) AND M.statut='publie'"); while ($row = sql_fetch($result_messages)) { $rv[journum($row['date_heure'])] = $row; } return $rv; }
function quete_calendrier_agenda ($annee, $mois) { global $connect_id_auteur; $rv = array(); if (!$connect_id_auteur) return $rv; $date = date("Y-m-d", mktime(0,0,0,$mois, 1, $annee)); $mois = mois($date); $annee = annee($date); // rendez-vous personnels dans le mois $result_messages = sql_select("M.titre AS summary, M.texte AS description, M.id_message AS uid, M.date_heure", "spip_messages AS M, spip_auteurs_messages AS L", "((L.id_auteur=$connect_id_auteur AND L.id_message=M.id_message) OR M.type='affich') AND M.rv='oui' AND M.date_heure >='$annee-$mois-1' AND date_heure < DATE_ADD('$annee-$mois-1', INTERVAL 1 MONTH) AND M.statut='publie'"); while($row=sql_fetch($result_messages)) { $rv[journum($row['date_heure'])] = $row; } return $rv; }
function exec_affiche_message_dist($id_message, $cherche_auteur, $forcer_dest) { $row = sql_fetsel("*", "spip_messages", "id_message=$id_message"); if ($row) { $id_message = $row['id_message']; $date_heure = $row["date_heure"]; $date_fin = $row["date_fin"]; $titre = typo($row["titre"]); $texte = propre($row["texte"]); $type = $row["type"]; $statut = $row["statut"]; $rv = $row["rv"]; $expediteur = $row['id_auteur']; $lejour=journum($row['date_heure']); $lemois = mois($row['date_heure']); $lannee = annee($row['date_heure']); $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page($titre, "accueil", "messagerie"); echo debut_gauche('', true); if ($rv != 'non') echo http_calendrier_agenda ($lannee, $lemois, $lejour, $lemois, $lannee,false, generer_url_ecrire('calendrier')); echo "<br />"; echo http_calendrier_rv(quete_calendrier_taches_annonces(),"annonces"); echo http_calendrier_rv(quete_calendrier_taches_pb(),"pb"); echo http_calendrier_rv(quete_calendrier_taches_rv(), "rv"); if ($rv != "non") { list ($sh, $ah) = quete_calendrier_interval(quete_calendrier_jour($lannee,$lemois, $lejour)); foreach ($ah as $k => $v) { foreach ($v as $l => $e) { if (preg_match(",=$id_message$,", $e['URL'])) { $ah[$k][$l]['CATEGORIES'] = "calendrier-nb"; break; } } } echo creer_colonne_droite('', true); echo http_calendrier_ics_titre($lannee,$lemois,$lejour,generer_url_ecrire('calendrier')); echo http_calendrier_ics($lannee,$lemois, $lejour, '', '', 90, array($sh, $ah), '', ' calendrier-msg'); } echo debut_droite('', true); http_affiche_message($id_message, $expediteur, $statut, $type, $texte, $titre, $rv, $date_heure, $date_fin, $cherche_auteur, $forcer_dest); // reponses et bouton poster message $discuter = charger_fonction('discuter', 'inc'); echo $discuter($id_message, 'message', 'id_message', "perso"); } echo fin_gauche(), fin_page(); }
function calendrier_jour($jour, $mois, $annee, $large = "large", $le_message = 0) { global $spip_lang_rtl, $spip_lang_right, $spip_lang_left; global $connect_id_auteur, $connect_status; global $couleur_claire; $date = date("Y-m-d", mktime(0, 0, 0, $mois, $jour, $annee)); $jour = journum($date); $mois = mois($date); $annee = annee($date); if ($large == "large") { $largeur = 300; $modif_decalage = 40; $debut_gauche = 40; } else { if ($large == "col") { $largeur = 120; $modif_decalage = 15; $debut_gauche = 20; } else { $largeur = 80; $modif_decalage = 5; $debut_gauche = 5; } } $bgcolor = "white"; if ($large == "etroit") { $bgcolor = "#eeeeee"; $today = getdate(time()); $jour_today = $today["mday"]; $mois_today = $today["mon"]; $annee_today = $today["year"]; if ($jour == $jour_today and $mois == $mois_today and $annee == $annee_today) { $bgcolor = "white"; } } $nom = mktime(1, 1, 1, $mois, $jour, $annee); $jour_semaine = date("w", $nom); if ($jour_semaine == 0) { $bgcolor = "#e0e0e0"; } if ($large == "col") { echo "<div align='center' style='padding: 5px;'><b class='verdana1'><a href='calendrier_jour.php3?jour={$jour}&mois={$mois}&annee={$annee}' style='color:black;'>" . affdate_jourcourt("{$annee}-{$mois}-{$jour}") . "</a></b></div>"; } else { if ($large == "large") { echo "<div align='center' style='padding: 5px;'>"; echo " <a href='message_edit.php3?rv={$annee}-{$mois}-{$jour}&new=oui&type=pb' class='arial1' style='color: blue;'><IMG SRC='img_pack/m_envoi_bleu{$spip_lang_rtl}.gif' WIDTH='14' HEIGHT='7' BORDER='0' alt='' /> " . _T("lien_nouvea_pense_bete") . "</a>"; echo " <a href='message_edit.php3?rv={$annee}-{$mois}-{$jour}&new=oui&type=normal' class='arial1' style='color: green;'><IMG SRC='img_pack/m_envoi{$spip_lang_rtl}.gif' WIDTH='14' HEIGHT='7' BORDER='0' alt='' /> " . _T("lien_nouveau_message") . "</a>"; if ($connect_status == "admin") { echo " <a href='message_edit.php3?rv={$annee}-{$mois}-{$jour}&new=oui&type=affich' class='arial1' style='color: #ff9900;'><IMG SRC='img_pack/m_envoi_jaune{$spip_lang_rtl}.gif' WIDTH='14' HEIGHT='7' BORDER='0' alt='' /> " . _T("lien_nouvelle_annonce") . "</a>\n"; } echo "</div>"; } } if ($large != "etroit") { echo "<div style='background-color: {$bgcolor}; border-left: 1px solid #aaaaaa; border-right: 1px solid #aaaaaa; border-bottom: 1px solid #aaaaaa;'>"; } else { echo "<div style='background-color: {$bgcolor};'>"; } // bordure echo "<div style='position: relative; width: 100%; height: 450px; background: url(img_pack/fond-calendrier.gif);'>"; echo "<div style='position: absolute; {$spip_lang_left}: 2px; top: 2px; color: #666666;' class='arial0'><b class='arial0'>0:00<br />7:00</b></div>"; for ($i = 7; $i < 20; $i++) { echo "<div style='position: absolute; {$spip_lang_left}: 2px; top: " . (($i - 6) * 30 + 2) . "px; color: #666666;' class='arial0'><b class='arial0'>{$i}:00</b></div>"; } echo "<div style='position: absolute; {$spip_lang_left}: 2px; top: 422px; color: #666666;' class='arial0'><b class='arial0'>20:00<br />23:59</b></div>"; // articles du jour $query = "SELECT * FROM spip_articles WHERE statut='publie' AND date >='{$annee}-{$mois}-{$jour}' AND date < DATE_ADD('{$annee}-{$mois}-{$jour}', INTERVAL 1 DAY) ORDER BY date"; $result = spip_query($query); while ($row = spip_fetch_array($result)) { $id_article = $row['id_article']; $titre = typo($row['titre']); $lejour = journum($row['date']); $lemois = mois($row['date']); $les_articles .= "<div><a href='articles.php3?id_article={$id_article}' class='arial1'><img src='img_pack/puce-verte-breve.gif' width='8' height='9' border='0'> {$titre}</a></div>"; } // breves du jour $query = "SELECT * FROM spip_breves WHERE statut='publie' AND date_heure >='{$annee}-{$mois}-{$jour}' AND date_heure < DATE_ADD('{$annee}-{$mois}-{$jour}', INTERVAL 1 DAY) ORDER BY date_heure"; $result = spip_query($query); while ($row = spip_fetch_array($result)) { $id_breve = $row['id_breve']; $titre = typo($row['titre']); $lejour = journum($row['date_heure']); $lemois = mois($row['date_heure']); $les_breves .= "<div><a href='breves_voir.php3?id_breve={$id_breve}' class='arial1'><img src='img_pack/puce-blanche-breve.gif' width='8' height='9' border='0'> {$titre}</a></div>"; } if ($large == "large") { if ($les_articles or $les_breves) { if ($les_articles) { $les_articles = "<div><b class='verdana1'>" . _T('info_articles') . "</b></div>" . $les_articles; } if ($les_breves) { $les_breves = "<div><b class='verdana1'>" . _T('info_breves_02') . "</b></div>" . $les_breves; } echo "<div style='position: absolute; {$spip_lang_left}: 355px; top: 32px; width: 140px;'>"; echo $les_articles; echo $les_breves; echo "</div>"; } } // rendez-vous personnels $result_messages = spip_query("SELECT messages.* 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 <='{$annee}-{$mois}-{$jour} 23:59:00' AND messages.date_fin > '{$annee}-{$mois}-{$jour} 00:00:00' AND messages.statut='publie' GROUP BY messages.id_message ORDER BY messages.date_heure"); // Note: le $date_fin est strictement superieur a minuit while ($row = spip_fetch_array($result_messages)) { $id_message = $row['id_message']; $date_heure = $row["date_heure"]; $date_fin = $row["date_fin"]; $titre = propre($row["titre"]); $texte = propre($row["texte"]); $type = $row["type"]; $lejour = journum($row['date_heure']); if ($type == "normal") { $la_couleur = "#02531B"; $couleur_fond = "#CFFEDE"; } elseif ($type == "pb") { $la_couleur = "#3874B0"; $couleur_fond = "#EDF3FE"; } elseif ($type == "affich") { $la_couleur = "#ccaa00"; $couleur_fond = "#ffffee"; } else { $la_couleur = "black"; $couleur_fond = "#aaaaaa"; } $heure_debut = heures($date_heure); $minutes_debut = minutes($date_heure); $jour_debut = journum($date_heure); $mois_debut = mois($date_heure); $annee_debut = annee($date_heure); // Verifier si debut est jour precedent $unix_debut = date("U", mktime($heures_debut, $minutes_debut, 0, $mois_debut, $jour_debut, $annee_debut)); $unix_debut_today = date("U", mktime(0, 0, 0, $mois, $jour, $annee)); if ($unix_debut < $unix_debut_today) { $heure_debut = 0; $minutes_debut = 0; } // Verifier si fin est jour suivant $heure_fin = heures($date_fin); $minutes_fin = minutes($date_fin); $jour_fin = journum($date_fin); $mois_fin = mois($date_fin); $annee_fin = annee($date_fin); $unix_fin = date("U", mktime($heures_fin, $minutes_fin, 0, $mois_fin, $jour_fin, $annee_fin)); $unix_fin_today = date("U", mktime(23, 59, 0, $mois, $jour, $annee)); if ($unix_fin > $unix_fin_today) { $heure_fin = 23; $minutes_fin = 59; } // Corriger pour l'affichage dans le tableau (debut et fin de tableau sont reduits) if ($heure_debut < 6) { $heure_debut = 6; $minutes_debut = 0; } if ($heure_fin < 7) { $heure_fin = 7; $minutes_fin = 00; } if ($heure_debut > 20) { $heure_debut = 20; $minutes_debut = 0; } if ($heure_fin > 20) { $heure_fin = 21; $minutes_fin = 00; } $haut = floor((($heure_debut - 6) * 60 + $minutes_debut) / 2); $bas = floor((($heure_fin - 6) * 60 + $minutes_fin) / 2); $hauteur = $bas - $haut - 7; if ($hauteur < 23) { $hauteur = 23; } if ($bas_prec > $haut) { $decalage = $decalage + $modif_decalage; } else { $decalage = $debut_gauche; } if ($bas > $bas_prec) { $bas_prec = $bas; } if ($le_message == $id_message) { $couleur_cadre = "black"; } else { $couleur_cadre = "{$la_couleur}"; } echo "<div class='dessous' style='position: absolute; {$spip_lang_left}: " . $decalage . "px; top: " . $haut . "px; height: " . ($hauteur + 8) . "px; width: " . ($largeur + 8) . "px; ' onClick=\"document.location='message.php3?id_message={$id_message}'\" onMouseOver=\"changeclass(this, 'dessus');\" onMouseOut=\"changeclass(this, 'dessous');\">"; echo "<div style='position: absolute; height: " . $hauteur . "px; width: " . $largeur . "px; border: 1px solid {$la_couleur}; padding: 3px; background-color: {$couleur_fond}; -moz-border-radius: 5px;'>"; echo "</div>"; echo "<div style='position: absolute; overflow: hidden; height: " . $hauteur . "px; width: " . $largeur . "px; border: 1px solid {$couleur_cadre}; padding: 3px; -moz-border-radius: 5px;'>"; echo "<div><b><a href='message.php3?id_message={$id_message}' class='verdana1' style='color: {$la_couleur};'>{$titre}</a></b></div>"; if ($type == "normal") { $result_auteurs = spip_query("SELECT auteurs.* FROM spip_auteurs AS auteurs, spip_auteurs_messages AS lien WHERE (lien.id_message='{$id_message}' AND (auteurs.id_auteur!='{$connect_id_auteur}' AND lien.id_auteur=auteurs.id_auteur))"); while ($row_auteur = spip_fetch_array($result_auteurs)) { $id_auteur = $row_auteur['id_auteur']; $nom_auteur = $row_auteur['nom']; $les_auteurs[$id_message][] = $nom_auteur; } if (count($les_auteurs[$id_message]) > 0) { echo "<div><font class='verdana1'>" . join($les_auteurs[$id_message], ", ") . "</font></div>"; } } if ($large) { echo "<div><a href='message.php3?id_message={$id_message}' class='arial1' style='color: #333333; text-decoration: none;'>{$texte}</a></div>"; } echo "</div>"; echo "</div>"; } echo "</div>"; echo "</div>"; if ($large != "large") { if ($les_articles or $les_breves) { if ($les_articles) { $les_articles = "<div><b class='verdana1'>" . _T('info_articles') . "</b></div>" . $les_articles; } if ($les_breves) { $les_breves = "<div><b class='verdana1'>" . _T('info_breves_02') . "</b></div>" . $les_breves; } echo "<div style='padding: 5px;'>"; echo $les_articles; echo $les_breves; echo "</div>"; } } }
echo '<fieldset class="info_box">' . "\n"; echo '<p class="normal_text">' . "\n"; echo _Ti('app_input_title') . $row['title'] . "<br />\n"; echo _Ti('app_input_type') . _Tkw('appointments', $row['type']) . "<br />\n"; if ($row['hidden'] == 'Y') { echo '<p class="normal_text"><strong>' . _T('app_info_is_deleted') . "</strong>"; if ($ac['a']) { echo " " . _T('app_info_is_deleted2'); } echo "</p>\n"; } show_page_subtitle(_T('generic_subtitle_general'), 'tools_agenda'); echo _Ti('app_input_description') . nl2br($row['description']) . "<br />\n"; echo "<br />\n"; echo _Ti('time_input_date_start') . format_date($row['start_time'], 'short'); $year_for_cal = "&annee=" . annee($row['start_time']) . "&mois=" . mois($row['start_time']) . "&jour=" . journum($row['start_time']); // day echo ' ' . http_href_img("calendar.php?type=jour" . $year_for_cal, 'cal-today.gif', '', _T('app_info_see_cal_for_day_tooltip')); echo "<br />\n"; /* [ML] removing: not really useful for now $end_time = vider_date($row['end_time']); $reminder = vider_date($row['reminder']); if ($prefs['time_intervals'] == 'absolute') { echo _Ti('time_input_date_end') . format_date($row['end_time'], 'short') . "<br />\n"; echo _Ti('app_input_reminder') . format_date($row['reminder'], 'short') . "<br />\n"; } else { $duration = ($end_time ? strtotime($row['end_time']) - strtotime($row['start_time']) : 0); echo _Ti('app_input_time_length') . format_time_interval($duration,($prefs['time_intervals_notation'] == 'hours_only')) . "<br />\n"; $reminder_offset = ($reminder ? strtotime($row['start_time']) - strtotime($row['reminder']) : 0); echo _Ti('app_input_reminder') . format_time_interval($reminder_offset,($prefs['time_intervals_notation'] == 'hours_only'))
function presenter_message_boucles($row, $afficher_auteurs) { global $connect_id_auteur, $spip_lang_left, $spip_lang_rtl; $vals = array(); $id_message = $row['id_message']; $date = $row["date_heure"]; $date_fin = $row["date_fin"]; $titre = sinon($row['titre'], _T('ecrire:info_sans_titre')); $type = $row["type"]; $rv = $row["rv"]; // // Titre // $s = "<a href='" . generer_url_ecrire("message","id_message=$id_message") . "' style='display: block;'>"; switch ($type) { case 'pb' : $puce = "m_envoi_bleu$spip_lang_rtl.gif"; break; case 'memo' : $puce = "m_envoi_jaune$spip_lang_rtl.gif"; break; case 'affich' : $puce = "m_envoi_jaune$spip_lang_rtl.gif"; break; case 'normal': default: $puce = "m_envoi$spip_lang_rtl.gif"; break; } $s .= http_img_pack("$puce", "", "width='14' height='7'"); $s .= " ".typo($titre)."</a>"; $vals[] = $s; // // Auteurs if ($afficher_auteurs) { $result_auteurs = sql_select("auteurs.id_auteur, auteurs.nom", "spip_auteurs AS auteurs, spip_auteurs_messages AS lien", "lien.id_message=$id_message AND lien.id_auteur!=$connect_id_auteur AND lien.id_auteur=auteurs.id_auteur"); $auteurs = ''; while ($row_auteurs = sql_fetch($result_auteurs)) { $id_auteur = $row_auteurs['id_auteur']; $auteurs[] = "<a href='" . generer_url_ecrire("auteur_infos","id_auteur=$id_auteur") . "'>".typo($row_auteurs['nom'])."</a>"; } if ($auteurs AND $type == 'normal') { $s = "<span class='arial1 spip_x-small'>" . join(', ', $auteurs) . "</span>"; } else $s = " "; $vals[] = $s; } // // Messages de forums $total_forum = sql_countsel('spip_forum', "id_message=$id_message"); if ($total_forum > 0) $vals[] = "($total_forum)"; else $vals[] = ""; // // Date // $s = affdate($date); if ($rv == 'oui') { $jour=journum($date); $mois=mois($date); $annee=annee($date); $heure = heures($date).":".minutes($date); if (affdate($date) == affdate($date_fin)) $heure_fin = heures($date_fin).":".minutes($date_fin); else $heure_fin = "..."; $s = "<div " . http_style_background('rv-12.gif', "$spip_lang_left center no-repeat; padding-$spip_lang_left: 15px") . "><a href='" . generer_url_ecrire("calendrier","type=jour&jour=$jour&mois=$mois&annee=$annee") . "'><b style='color: black;'>$s</b><br />$heure-$heure_fin</a></div>"; } else { $s = "<span style='color: #999999'>$s</span>"; } $vals[] = $s; return $vals; }
function sql_calendrier_agenda($mois, $annee) { global $connect_id_auteur; $rv = array(); if (!$connect_id_auteur) { return $rv; } $date = date("Y-m-d", mktime(0, 0, 0, $mois, 1, $annee)); $mois = mois($date); $annee = annee($date); // The future events involving the author in this month $result_messages = lcm_query("SELECT app.start_time\n\t\t\t\t\tFROM lcm_app as app, lcm_author_app as aut\n\t\t\t\t\tWHERE aut.id_author = " . $GLOBALS['author_session']['id_author'] . "\n\t\t\t\t\tAND app.id_app = aut.id_app\n\t\t\t\t\tAND app.hidden != 'Y'\n\t\t\t\t\tAND app.start_time >= '{$annee}-{$mois}-01'\n\t\t\t\t\tAND app.start_time < " . lcm_query_date_add_interval("{$annee}-{$mois}-01", '+', 'month', 1)); while ($row = lcm_fetch_array($result_messages)) { $rv[journum($row['start_time'])] = 1; } return $rv; }