X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fecrire%2Fexec%2Fmessage.php;fp=www%2Fecrire%2Fexec%2Fmessage.php;h=2fe5e80d5514226538bb6672ec7def178d16ad8c;hp=0000000000000000000000000000000000000000;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c
diff --git a/www/ecrire/exec/message.php b/www/ecrire/exec/message.php
new file mode 100644
index 0000000..2fe5e80
--- /dev/null
+++ b/www/ecrire/exec/message.php
@@ -0,0 +1,369 @@
+"._T('titre_rendez_vous')." ".majuscules(nom_jour($date_heure))." ".majuscules(affdate($date_heure))."
\n".heures($date_heure)." "._T('date_mot_heures')." ".minutes($date_heure)."";
+ echo " ".heures($date_fin)." "._T('date_mot_heures')." ".minutes($date_fin)."
";
+ } else {
+ echo ""._T('titre_rendez_vous')."
\n".majuscules(nom_jour($date_heure))." ".majuscules(affdate($date_heure)).", ".heures($date_heure)." "._T('date_mot_heures')." ".minutes($date_heure)."";
+ echo "
\n ".majuscules(nom_jour($date_fin))." ".majuscules(affdate($date_fin)).", ".heures($date_fin)." "._T('date_mot_heures')." ".minutes($date_fin)."
";
+ }
+}
+
+// http://doc.spip.org/@http_auteurs_ressemblants
+function http_auteurs_ressemblants($cherche_auteur, $id_message)
+{
+
+ $cherche_auteur = htmlspecialchars($cherche_auteur);
+
+ global $connect_id_auteur;
+ $query = sql_select("id_auteur, nom", "spip_auteurs", "messagerie<>'non' AND id_auteur<>'$connect_id_auteur' AND pass<>'' AND login<>''");
+ $table_auteurs = array();
+ $table_ids = array();
+ while ($row = sql_fetch($query)) {
+ $table_auteurs[] = $row['nom'];
+ $table_ids[] = $row['id_auteur'];
+ }
+ $resultat = mots_ressemblants($cherche_auteur, $table_auteurs, $table_ids);
+ if (!$resultat) {
+ return '' . _T('info_recherche_auteur_zero', array('cherche_auteur' => $cherche_auteur))."
";
+ }
+ else if (count($resultat) == 1) {
+ // action/editer_message a du prendre en compte ce cas
+ list(, $nouv_auteur) = each($resultat);
+ $row = sql_fetsel("nom", "spip_auteurs", "id_auteur=$nouv_auteur");
+ $nom_auteur = $row['nom'];
+ return ""._T('info_ajout_participant')."
" .
+ "";
+ }
+ else if (count($resultat) < 16) {
+ $res = '';
+ $query = sql_select("*", "spip_auteurs", "id_auteur IN (" . join(',', $resultat) . ")", "", "nom");
+
+ while ($row = sql_fetch($query)) {
+ $id_auteur = $row['id_auteur'];
+ $nom_auteur = $row['nom'];
+ $email_auteur = $row['email'];
+ $bio_auteur = $row['bio'];
+ $res .= "\n$nom_auteur" .
+ ($email_auteur ? " ($email_auteur)" : '') .
+ "\n "
+ . _T('lien_ajout_destinataire').
+ "" .
+ (!trim($bio_auteur) ? '' :
+ ("
\n".propre(couper($bio_auteur, 100))."\n")) .
+ "\n";
+ }
+ return ""._T('info_recherche_auteur_ok', array('cherche_auteur' => $cherche_auteur))."
" .($res ? "" : '');
+ }
+ else {
+ return ""._T('info_recherche_auteur_a_affiner', array('cherche_auteur' => $cherche_auteur))."
";
+ }
+}
+
+// http://doc.spip.org/@http_ajouter_participants
+function http_ajouter_participants($ze_auteurs, $id_message)
+{
+ include_spip('inc/editer_auteurs');
+ $cond = auteurs_autorises($ze_auteurs, "messagerie<>'non'");
+ $all = objet_auteur_select($cond);
+ if (!$all) return '';
+
+ $res = " \n" .
+ "";
+
+ if (is_numeric($all)) {
+ $res .= "\n";
+ $res .= "\n";
+ } else {
+
+ $res .= ""
+ . "";
+ }
+ return redirige_action_post('editer_message', "$id_message,", 'message', "id_message=$id_message", "\n$res
\n");
+}
+
+// http://doc.spip.org/@http_message_avec_participants
+function http_message_avec_participants($id_message, $statut, $forcer_dest, $cherche_auteur, $expediteur='')
+{
+ global $connect_id_auteur ;
+
+ if ($cherche_auteur) {
+ echo "\n"
+ . http_auteurs_ressemblants($cherche_auteur , $id_message)
+ . "\n
";
+ }
+ $bouton = bouton_block_depliable(_T('info_nombre_partcipants'),true,"auteurs,ajouter_auteur");
+ echo debut_cadre_enfonce("redacteurs-24.gif", true, '', $bouton, 'participants');
+
+ //
+ // Liste des participants
+ //
+
+ $result = sql_allfetsel("*", "spip_auteurs AS auteurs, spip_auteurs_messages AS lien", "lien.id_message=$id_message AND lien.id_auteur=auteurs.id_auteur");
+
+ $total_dest = count($result);
+
+ if ($total_dest > 0) {
+ $ifond = 0;
+ $res = '';
+ $formater_auteur = charger_fonction('formater_auteur', 'inc');
+ $t = _T('lien_retrait_particpant');
+ foreach($result as $k => $row) {
+ $id_auteur = $row["id_auteur"];
+ list($status, $mail, $nom, $site,) = $formater_auteur($id_auteur, $row);
+ if ($id_auteur == $expediteur) {
+
+ $nom = ""
+ . _T('info_auteur_message')
+ . " $nom";
+ }
+ $class = alterner (++$ifond,'row_even','row_odd');
+ $res .= "\n$status $mail $nom $site$exp | "
+ . "\n"
+ . (($id_auteur == $connect_id_auteur) ? " " : ("[$t]")) . " |
\n";
+ $result[$k] = $id_auteur;
+
+ }
+ echo
+ debut_block_depliable(true,"auteurs"),
+ "\n\n",
+ fin_block();
+ }
+
+ if ($statut == 'redac' OR $forcer_dest)
+ echo http_ajouter_participants($result, $id_message);
+ else {
+ echo
+ debut_block_depliable(true,"ajouter_auteur"),
+ "
\n",
+ fin_block();
+ }
+ echo fin_cadre_enfonce(true);
+ return $total_dest;
+}
+
+// http://doc.spip.org/@http_affiche_message
+function http_affiche_message($id_message, $expediteur, $statut, $type, $texte, $titre, $rv, $date_heure, $date_fin, $cherche_auteur, $forcer_dest)
+{
+ global $connect_id_auteur,$connect_statut, $les_notes;
+
+ if ($type == 'normal') {
+ $le_type = _T('info_message_2').aide ("messut");
+ $la_couleur = "#02531b";
+ $fond = "#cffede";
+ }
+ else if ($type == 'pb') {
+ $le_type = _T('info_pense_bete').aide ("messpense");
+ $la_couleur = "#3874b0";
+ $fond = "#edf3fe";
+ }
+ else if ($type == 'affich') {
+ $le_type = _T('info_annonce');
+ $la_couleur = "#ccaa00";
+ $fond = "#ffffee";
+ }
+
+ // affichage des caracteristiques du message
+
+ echo ""; // debut cadre de couleur
+ //echo debut_cadre_relief("messagerie-24.gif", true);
+ echo "\n
";
+ echo ""; # uniques
+
+ echo "$le_type ";
+ echo "$titre";
+ if ($statut == 'redac') {
+ echo " "._T('info_redaction_en_cours')."";
+ }
+ else if ($rv == 'non') {
+ echo " ".nom_jour($date_heure).' '.affdate_heure($date_heure)."";
+ }
+
+
+ //////////////////////////////////////////////////////
+ // Message avec participants
+ //
+
+ if ($type == 'normal')
+ $total_dest = http_message_avec_participants($id_message, $statut, $forcer_dest, $cherche_auteur, $expediteur);
+
+ if ($rv != "non") http_afficher_rendez_vous($date_heure, $date_fin);
+
+
+ //////////////////////////////////////////////////////
+ // Le message lui-meme
+ //
+
+ echo "\n "
+ . "$texte ";
+
+ if ($les_notes) {
+ echo debut_cadre_relief('', true);
+ echo "";
+ echo justifier(""._T('info_notes')." : ".$les_notes);
+ echo " ";
+ echo fin_cadre_relief(true);
+ }
+
+ if ($expediteur == $connect_id_auteur AND $statut == 'redac') {
+ if ($type == 'normal' AND $total_dest < 2) {
+ echo ""._T('avis_destinataire_obligatoire')." ";
+ } else {
+ echo "\n";
+ echo icone_inline(_T('icone_envoyer_message'), redirige_action_auteur('editer_message', "$id_message/publie", "message","id_message=$id_message"), "messagerie-24.gif", "creer.gif");
+ echo " ";
+ }
+ }
+ echo " |
\n";
+
+ // echo "\n"; //echo fin_cadre_relief(true);
+ echo "
"; // fin du cadre de couleur
+
+ // Les boutons
+
+ $aut = ($expediteur == $connect_id_auteur);
+ $aff = ($type == 'affich' AND $connect_statut == '0minirezo');
+
+ echo "\n";
+
+ // bouton de suppression
+
+ if ($aut AND ($statut == 'redac' OR $type == 'pb') OR $aff) {
+ echo icone_inline(_T('icone_supprimer_message'), redirige_action_auteur("editer_message","-$id_message", 'messagerie'), "messagerie-24.gif", "supprimer.gif", 'left');
+ }
+
+ // bouton retrait de la discussion
+
+ if ($statut == 'publie' AND $type == 'normal') {
+ echo icone_inline(_T('icone_arret_discussion'), redirige_action_auteur("editer_message","$id_message/-$connect_id_auteur", 'messagerie', "id_message=$id_message"), "messagerie-24.gif", "supprimer.gif", 'left');
+ }
+
+ // bouton modifier ce message
+
+ if ($aut OR $aff) {
+ echo icone_inline(_T('icone_modifier_message'), (generer_url_ecrire("message_edit","id_message=$id_message")), "messagerie-24.gif", "edit.gif", 'right');
+ }
+ echo " |
";
+}
+
+// http://doc.spip.org/@exec_affiche_message_dist
+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 "
";
+ 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();
+}
+
+?>