Rev 609 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?php/***************************************************************************\* SPIP, Systeme de publication pour l'internet ** ** Copyright (c) 2001-2005 ** Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James ** ** Ce programme est un logiciel libre distribue sous licence GNU/GPL. ** Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *\***************************************************************************/include ("inc.php3");include_ecrire ("inc_mots.php3");include_ecrire ("inc_calendrier.php");function http_afficher_rendez_vous($date_heure, $date_fin){global $spip_lang_rtl;if (jour($date_heure) == jour($date_fin) AND mois($date_heure) == mois($date_fin) AND annee($date_heure) == annee($date_fin)) {echo "<p><center class='verdana2'>"._T('titre_rendez_vous')." ".majuscules(nom_jour($date_heure))." <b>".majuscules(affdate($date_heure))."</b><br><b>".heures($date_heure)." "._T('date_mot_heures')." ".minutes($date_heure)."</b>";echo " <img src='puce$spip_lang_rtl.gif' border='0'> ".heures($date_fin)." "._T('date_mot_heures')." ".minutes($date_fin)."</center>";} else {echo "<p><center class='verdana2'>"._T('titre_rendez_vous')."<br> ".majuscules(nom_jour($date_heure))." <b>".majuscules(affdate($date_heure))."</b>, <b>".heures($date_heure)." "._T('date_mot_heures')." ".minutes($date_heure)."</b>";echo "<center class='verdana2'><img src='puce$spip_lang_rtl.gif' border='0'> ".majuscules(nom_jour($date_fin))." ".majuscules(affdate($date_fin)).", <b>".heures($date_fin)." "._T('date_mot_heures')." ".minutes($date_fin)."</b>";//echo " <img src='puce$spip_lang_rtl.gif' border='0'> ".heures($date_fin)." "._T('date_mot_heures')." ".minutes($date_fin)."</center>";}}function sql_nouveau_participant($nouv_auteur, $id_message){spip_query("DELETE FROM spip_auteurs_messages WHERE id_auteur='$nouv_auteur' AND id_message='$id_message'");spip_query("INSERT INTO spip_auteurs_messages (id_auteur,id_message,vu) VALUES ('$nouv_auteur','$id_message','non')");}function http_auteurs_ressemblants($cherche_auteur, $id_message){global $connect_id_auteur;$query = spip_query("SELECT id_auteur, nomFROM spip_auteursWHERE messagerie<>'non' AND id_auteur<>'$connect_id_auteur' AND pass<>'' AND login<>''");$table_auteurs = array();$table_ids = array();while ($row = spip_fetch_array($query)) {$table_auteurs[] = $row['nom'];$table_ids[] = $row['id_auteur'];}$resultat = mots_ressemblants($cherche_auteur, $table_auteurs, $table_ids);if (!$resultat) {return '<b>' . _T('info_recherche_auteur_zero', array('cherche_auteur' => $cherche_auteur))."</b><br />";}else if (count($resultat) == 1) {list(, $nouv_auteur) = each($resultat);sql_nouveau_participant($nouv_auteur, $id_message);$row = spip_fetch_array(spip_query("SELECT nom FROM spip_auteurs WHERE id_auteur=$nouv_auteur"));$nom_auteur = $row['nom'];return "<b>"._T('info_ajout_participant')."</b><br />" ."<ul><li><font face='Verdana,Arial,Sans,sans-serif' size='2'><b><font size='3'>$nom_auteur</font></b></font>\n</ul>";}else if (count($resultat) < 16) {$res = '';$query = spip_query("SELECT * FROM spip_auteurs WHERE id_auteur IN (" .join(',', $resultat) .") ORDER BY nom");while ($row = spip_fetch_array($query)) {$id_auteur = $row['id_auteur'];$nom_auteur = $row['nom'];$email_auteur = $row['email'];$bio_auteur = $row['bio'];$res .= "<LI><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=2><b><FONT SIZE=3>$nom_auteur</FONT></b>" .($email_auteur ? " ($email_auteur)" : '') ." | <A HREF=\"message.php3?id_message=$id_message&ajout_auteur=oui&nouv_auteur=$id_auteur\">" ._T('lien_ajout_destinataire')."</A>" .(!trim($bio_auteur) ? '' :("<br /><FONT SIZE=1>".propre(couper($bio_auteur, 100))."</FONT>\n")) ."</FONT></LI>\n";}return "<b>"._T('info_recherche_auteur_ok', array('cherche_auteur' => $cherche_auteur))."</b><br /><UL>$res</UL>";}else {return "<b>"._T('info_recherche_auteur_a_affiner', array('cherche_auteur' => $cherche_auteur))."</b><br />";}}function http_visualiser_participants($auteurs_tmp){return "\n<table border='0' cellspacing='0' cellpadding='3' width='100%' background=''><tr><td bgcolor='#EEEECC'>" .bouton_block_invisible("auteurs,ajouter_auteur") ."<span class='serif2'><b>" ._T('info_nombre_partcipants') ."</b></span>" .((count($auteurs_tmp) == 0) ? '' :(" <font class='arial2'>".join($auteurs_tmp,", ")."</font>")) ."</td></tr></table>";}function http_ajouter_participants($ze_auteurs, $id_message){$query_ajout_auteurs = "SELECT * FROM spip_auteurs WHERE ";if ($ze_auteurs) $query_ajout_auteurs .= "id_auteur NOT IN ($ze_auteurs) AND ";$query_ajout_auteurs .= " messagerie<>'non' AND statut IN ('0minirezo', '1comite') ORDER BY statut, nom";$result_ajout_auteurs = spip_query($query_ajout_auteurs);if (spip_num_rows($result_ajout_auteurs) > 0) {echo "<FORM ACTION='message.php3' METHOD='post'>";echo "<DIV align=left><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=2><b>"._T('bouton_ajouter_participant')." </b></FONT>\n";echo "<input TYPE='Hidden' NAME='id_message' VALUE=\"$id_message\">";if (spip_num_rows($result_ajout_auteurs) > 50) {echo "<input TYPE='text' NAME='cherche_auteur' CLASS='fondl' VALUE='' SIZE='20'>";echo "<input TYPE='submit' NAME='Chercher' VALUE='"._T('bouton_chercher')."' CLASS='fondo'>";}else {echo "<SELECT NAME='nouv_auteur' SIZE='1' STYLE='WIDTH=150' CLASS='fondl'>";$group = false;$group2 = false;while($row=spip_fetch_array($result_ajout_auteurs)) {$id_auteur = $row['id_auteur'];$nom = $row['nom'];$email = $row['email'];$statut_auteur = $row['statut'];$statut_auteur=ereg_replace("0minirezo", _T('info_statut_administrateur'), $statut_auteur);$statut_auteur=ereg_replace("1comite", _T('info_statut_redacteur'), $statut_auteur);$statut_auteur=ereg_replace("2redac", _T('info_statut_redacteur'), $statut_auteur);$statut_auteur=ereg_replace("5poubelle", _T('info_statut_efface'), $statut_auteur);$premiere = strtoupper(substr(trim($nom), 0, 1));if ($GLOBALS['connect_statut'] != '0minirezo') {if ($p = strpos($email, '@')) $email = substr($email, 0, $p).'@...';}if ($statut_auteur != $statut_old) {echo "\n<OPTION VALUE=\"x\">";echo "\n<OPTION VALUE=\"x\"> $statut_auteur".'s';}if ($premiere != $premiere_old AND ($statut_auteur != _T('info_administrateur') OR !$premiere_old)) {echo "\n<OPTION VALUE=\"x\">";}$texte_option = supprimer_tags(couper("$nom ($email) ", 40));echo "\n<OPTION VALUE=\"$id_auteur\"> $texte_option";$statut_old = $statut_auteur;$premiere_old = $premiere;}echo "</SELECT>";echo "<input TYPE='submit' NAME='Ajouter' VALUE='"._T('bouton_ajouter')."' CLASS='fondo'>";}echo "</div></FORM>";}}function http_afficher_forum_perso($id_message, $titre){$forum_retour = urlencode("message.php3?id_message=$id_message");echo "<br /><br />\n<div align='center'>";icone(_T('icone_poster_message'), "forum_envoi.php3?statut=perso&adresse_retour=".$forum_retour."&id_message=$id_message&titre_message=".urlencode($titre), "forum-interne-24.gif", "creer.gif");echo "</div>\n<p align='left'>";$query_forum = "SELECT * FROM spip_forum WHERE statut='perso' AND id_message='$id_message' AND id_parent=0 ORDER BY date_heure DESC LIMIT 0,20";afficher_forum(spip_query($query_forum), $forum_retour);echo "\n</p>";}if (!spip_num_rows(spip_query("SELECT id_auteur FROM spip_auteurs_messages WHERE id_auteur=$connect_id_auteur AND id_message=$id_message"))) {$row = spip_fetch_array(spip_query("SELECT type FROM spip_messages WHERE id_message=$id_message"));if ($row['type'] != "affich"){debut_page(_T('info_acces_refuse'));debut_gauche();debut_droite();echo "<b>"._T('avis_non_acces_message')."</b><p>";fin_page();exit;}}if ($ajout_forum AND strlen($texte) > 10 AND strlen($titre) > 2) {spip_query("UPDATE spip_auteurs_messages SET vu='non' WHERE id_message='$id_message'");}if ($modifier_message == "oui") {$titre = addslashes($titre);$texte = addslashes($texte);spip_query("UPDATE spip_messages SET titre='$titre', texte='$texte' WHERE id_message='$id_message'");}if ($changer_rv) {spip_query("UPDATE spip_messages SET rv='$rv' WHERE id_message='$id_message'");}if ($jour) {// Convertir dates a calendrier correct (exemple: 31 fevrier devient debut mars, 24h12 devient 00h12 du lendemain)$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);spip_query("UPDATE spip_messages SET date_heure='$annee-$mois-$jour $heures:$minutes:00', date_fin='$annee_fin-$mois_fin-$jour_fin $heures_fin:$minutes_fin:00' WHERE id_message='$id_message'");}if ($change_statut) {spip_query("UPDATE spip_messages SET statut='$change_statut' WHERE id_message='$id_message'");spip_query("UPDATE spip_messages SET date_heure=NOW() WHERE id_message='$id_message' AND rv<>'oui'");}if ($supp_dest) {spip_query("DELETE FROM spip_auteurs_messages WHERE id_message='$id_message' AND id_auteur='$supp_dest'");}if ($row = spip_fetch_array(spip_query("SELECT * FROM spip_messages WHERE id_message=$id_message"))) {$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"];$page = $row["page"];$rv = $row["rv"];$expediteur = $row['id_auteur'];$lejour=journum($row['date_heure']);$lemois = mois($row['date_heure']);$lannee = annee($row['date_heure']);// Marquer le message vu pour le visiteurif ($type != "affich")spip_query("UPDATE spip_auteurs_messages SET vu='oui' WHERE id_message='$id_message' AND id_auteur='$connect_id_auteur'");debut_page($titre, "redacteurs", "messagerie");debut_gauche();if ($rv != 'non')echo http_calendrier_agenda ($lannee, $lemois, $lejour, $lemois, $lannee,false, 'calendrier.php3');echo "<br />";echo http_calendrier_rv(sql_calendrier_taches_annonces(),"annonces");echo http_calendrier_rv(sql_calendrier_taches_pb(),"pb");echo http_calendrier_rv(sql_calendrier_taches_rv(), "rv");if ($rv != "non") {list ($sh, $ah) = sql_calendrier_interval(sql_calendrier_jour($lannee,$lemois, $lejour));foreach ($ah as $k => $v){foreach ($v as $l => $e){if (ereg("=$id_message$", $e['URL'])){$ah[$k][$l]['CATEGORIES'] = "calendrier-nb";break;}}}creer_colonne_droite();echo http_calendrier_ics_titre($lannee,$lemois,$lejour,'calendrier.php3');echo http_calendrier_ics($lannee,$lemois, $lejour, $echelle, $partie_cal, 90, array($sh, $ah));}debut_droite();if ($type == 'normal') {$le_type = _T('info_message_2').aide ("messut");$la_couleur = "#02531B";$couleur_fond = "#CFFEDE";}else if ($type == 'pb') {$le_type = _T('info_pense_bete').aide ("messpense");$la_couleur = "#3874B0";$couleur_fond = "#EDF3FE";}else if ($type == 'affich') {$le_type = _T('info_annonce');$la_couleur = "#ccaa00";$couleur_fond = "#ffffee";}// affichage des caracteristiques du messageecho "<div style='border: 1px solid $la_couleur; background-color: $couleur_fond; padding: 5px;'>"; // debut cadre de couleur//debut_cadre_relief("messagerie-24.gif");echo "\n<table width='100%' cellpadding='0' cellspacing='0' border='0'>";echo "<tr><td>"; # uniquesecho "<font face='Verdana,Arial,Sans,sans-serif' size='2' color='$la_couleur'><b>$le_type</b></font><br />";echo "<font face='Verdana,Arial,Sans,sans-serif' size='5'><b>$titre</b></font>";if ($statut == 'redac') {echo "<br /><font face='Verdana,Arial,Sans,sans-serif' size='2' color='red'><b>"._T('info_redaction_en_cours')."</b></font>";}else if ($rv == 'non') {echo "<br /><font face='Verdana,Arial,Sans,sans-serif' size='2' color='#666666'><b>".nom_jour($date_heure).' '.affdate_heure($date_heure)."</b></font>";}echo "<p>";//////////////////////////////////////////////////////// Message avec participants//if ($type == 'normal') {echo debut_cadre_enfonce("redacteurs-24.gif", true);if ($cherche_auteur) {echo "\n<p align='left'><div class='cadre-info'>" .http_auteurs_ressemblants($cherche_auteur , $id_message) ."\n</div></p>";}if ($nouv_auteur > 0) sql_nouveau_participant($nouv_auteur, $id_message);//// Liste des participants//$query_auteurs = "SELECT auteurs.* FROM spip_auteurs AS auteurs, spip_auteurs_messages AS lien WHERE lien.id_message=$id_message AND lien.id_auteur=auteurs.id_auteur";$result_auteurs = spip_query($query_auteurs);$total_dest = spip_num_rows($result_auteurs);if ($total_dest > 0) {$couleurs = array("#FFFFFF",$couleur_claire);$auteurs_tmp = array();$ze_auteurs = array();$ifond = 0;$res = '';while($row = spip_fetch_array($result_auteurs)) {$id_auteur = $row["id_auteur"];$nom_auteur = typo($row["nom"]);$statut_auteur = $row["statut"];$ze_auteurs[] = $id_auteur;$couleur = $couleurs[$ifond];$ifond = 1 - $ifond;$auteurs_tmp[] = "<a href='auteurs_edit.php3?id_auteur=" . $id_auteur ."'>". $nom_auteur . "</a>";$res .= "<tr><td background='' bgcolor='$couleur'><font face='Verdana,Arial,Sans,sans-serif' size=2> ".bonhomme_statut($row)." " .(($id_auteur != $expediteur) ? '' :"<font class='arial0'>"._T('info_auteur_message')."</font> ") .$nom_auteur ."</font></td>" ."<td background='' bgcolor='$couleur' align='right'><font face='Verdana,Arial,Sans,sans-serif' size='1'>" .(($id_auteur == $connect_id_auteur) ?" " :("[<a href='message.php3?id_message=$id_message&supp_dest=$id_auteur'>"._T('lien_retrait_particpant')."</a>]")) ."</font></td></tr>\n";}echohttp_visualiser_participants($auteurs_tmp),debut_block_invisible("auteurs"),"\n<table border=0 cellspacing=0 cellpadding=3 width=100% background=''><tr><td bgcolor='#eeeecc' colspan=2>",$res,"</td></tr></table>",fin_block();}if ($statut == 'redac' OR $forcer_dest)http_ajouter_participants(join(',', $ze_auteurs),$id_message);else {echodebut_block_invisible("ajouter_auteur"),"<br /><div align='right'><font face='Verdana,Arial,Sans,sans-serif' size='2'><a href='message.php3?id_message=$id_message&forcer_dest=oui'>"._T('lien_ajouter_participant')."</a></font></div>",fin_block();}fin_cadre_enfonce();}if ($rv != "non") http_afficher_rendez_vous($date_heure, $date_fin);//////////////////////////////////////////////////////// Le message lui-meme//echo "<div align='left'>","\n<table width='100%' cellpadding='0' cellspacing='0' border='0'>","<tr><td>","<div class='serif'><p>$texte</p></div>";if ($expediteur == $connect_id_auteur AND $statut == 'redac') {if ($type == 'normal' AND $total_dest < 2){echo "<p align='right'><font face='Verdana,Arial,Sans,sans-serif' size='2' color='#666666'><b>"._T('avis_destinataire_obligatoire')."</b></font></p>";} else {echo "\n<p><center><table><tr><td>";icone (_T('icone_envoyer_message'), ("message.php3?id_message=$id_message&change_statut=publie"), "messagerie-24.gif", "creer.gif");echo "</td></tr></table></center></p>";}}echo "</td></tr></table></div>";echo "</td></tr></table>"; //fin_cadre_relief();echo "</div>"; // fin du cadre de couleur// Les boutonsecho "\n<table width='100%'><tr><td>";// bouton de suppressionif ($expediteur == $connect_id_auteur AND ($statut == 'redac' OR $type == 'pb') OR ($type == 'affich' AND $connect_statut == '0minirezo')) {echo "\n<table align='left'><tr><td>";icone (_T('icone_supprimer_message'), ("messagerie.php3?detruire_message=$id_message"), "messagerie-24.gif", "supprimer.gif");echo "</td></tr></table>";}// bouton retrait de la discussionif ($statut == 'publie' AND $type == 'normal') {echo "\n<table align='left'><tr><td>";icone (_T('icone_arret_discussion'), "messagerie.php3?id_message=$id_message&supp_dest=$connect_id_auteur", "messagerie-24.gif", "supprimer.gif");echo "</td></tr></table>";}// bouton modifier ce messageif ($expediteur == $connect_id_auteur OR ($type == 'affich' AND $connect_statut == '0minirezo')) {echo "\n<table align='right'><tr><td>";icone (_T('icone_modifier_message'), ("message_edit.php3?id_message=$id_message"), "messagerie-24.gif", "edit.gif");echo "</td></tr></table>";}echo "</td></tr></table>";// reponses et bouton poster messagehttp_afficher_forum_perso($id_message, $titre);}fin_page();?>