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", + $res, + "
    \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
    "._T('lien_ajouter_participant')."
    ", + 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(); +} + +?>