Browse Source

voir les messages dans un format un peu conventionnel

svn/root/tags/plugins/organiseur/0.4.0
cedric@yterium.com 11 years ago
parent
commit
6f7817e6a0
  1. 2
      .gitattributes
  2. 22
      lang/organiseur_fr.php
  3. 28
      organiseur_autoriser.php
  4. 6
      organiseur_fonctions.php
  5. 31
      prive/objets/contenu/message.html
  6. 4
      prive/objets/liste/messages-envoyes.html
  7. 4
      prive/objets/liste/messages-recus.html
  8. 30
      prive/squelettes/contenu/message.html
  9. 11
      prive/style_prive_plugin_organiseur.html

2
.gitattributes vendored

@ -28,10 +28,12 @@ lib/fullcalendar/gcal.js -text
/organiseur_fonctions.php -text
/organiseur_pipelines.php -text
/plugin.xml -text
prive/objets/contenu/message.html -text
prive/objets/liste/messages-envoyes.html -text
prive/objets/liste/messages-recus.html -text
prive/rss/messagerie.html -text
prive/squelettes/contenu/calendrier.html -text
prive/squelettes/contenu/message.html -text
prive/squelettes/contenu/messages.html -text
prive/squelettes/inclure/configurer_messagerie.html -text
prive/squelettes/inclure/organiseur-envoi.html -text

22
lang/organiseur_fr.php

@ -12,23 +12,31 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'cal_par_semaine' => 'semaine',
// I
'icone_ecrire_nouveau_message' => 'Envoyer un nouveau message',
'icone_ecrire_nouvelle_annonce' => 'Envoyer une nouvelle annonce',
'icone_ecrire_nouveau_pensebete' => 'Ecrire une nouveau pense-bête',
'info_message_de' => 'De',
'info_message_a' => 'A',
'info_message_objet' => 'Objet',
'info_message_date' => 'Date',
'info_message_non_lu' => 'Nouveau message',
'info_selection_annonces' => 'Annonces',
'info_selection_pensebetes' => 'Pense-bêtes',
'info_selection_messages' => 'Messages',
'info_type_message_rv' => 'Rendez-vous',
'info_type_message_affich' => 'Annonce',
'info_type_message_pb' => 'Pense-bête',
'info_type_message_normal' => 'Message',
'info_message_non_lu' => 'Nouveau message',
'info_1_message_nonlu' => '1 nouveau message',
'info_nb_messages_nonlus' => '@nb@ nouveaux messages',
'info_1_message_envoye' => '1 message envoyé',
'info_nb_messages_envoyes' => '@nb@ messages envoyés',
'info_selection_annonces' => 'Annonces',
'info_selection_pensebetes' => 'Pense-bêtes',
'info_selection_messages' => 'Messages',
'icone_ecrire_nouveau_message' => 'Envoyer un nouveau message',
'icone_ecrire_nouvelle_annonce' => 'Envoyer une nouvelle annonce',
'icone_ecrire_nouveau_pensebete' => 'Ecrire une nouveau pense-bête',
// L
'loading' => 'Chargement...',

28
organiseur_autoriser.php

@ -28,4 +28,30 @@ function autoriser_messagerie_bouton_dist($faire, $type='', $id=0, $qui = NULL,
if($GLOBALS['meta']['messagerie_agenda'] == 'oui')
return true;
return false;
}
}
function autoriser_message_modifier_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
$row = sql_fetsel('statut,type,id_auteur','spip_messages','id_message='.intval($id));
if ($row['id_auteur']!=$qui['id_auteur'])
return false;
if ($row['statut']=='redac' OR $row['type']=='pb')
return true;
return false;
}
function autoriser_message_dater_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
return false;
}
function autoriser_message_voir_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
if (!intval($qui['id_auteur']))
return false;
// message annonce ou message dont $qui est l'auteur : droit de le voir
if (sql_countsel('spip_messages','id_message='.intval($id).' AND (type=\'affich\' OR id_auteur='.intval($qui['id_auteur']).')'))
return true;
// message dont $qui est destinataire
if (sql_countsel('spip_auteurs_liens','objet=\'message\' AND id_objet='.intval($id)." AND id_auteur=".intval($qui['id_auteur'])))
return true;
return false;
}

6
organiseur_fonctions.php

@ -141,4 +141,10 @@ function critere_MESSAGES_rv_en_cours_dist($idb, &$boucles, $crit) {
$boucle->where[] = $where;
}
function organiseur_icone_message($type,$taille=24){
$icone = array('pb'=>'pensebete','affich'=>'annonce');
$icone = isset($icone[$type])?$icone[$type]:'message';
return "$icone-$taille.png";
}
?>

31
prive/objets/contenu/message.html

@ -0,0 +1,31 @@
<BOUCLE_afficher_contenu(MESSAGES){id_message=#ENV{id}}{statut?}>
<div class="cartouche clearfix">
<div class="champ contenu_from clearfix">
<div class='label'><:organiseur:info_message_de:></div>
<div dir='#LANG_DIR' class='from'><BOUCLE_from(AUTEURS){id_auteur}{tout}><a href="[(#ID_AUTEUR|generer_url_entite{auteur})]">#NOM</a>[(#LOGO_AUTEUR{60})]</BOUCLE_from></div>
</div>
<div class="champ contenu_titre[ (#TITRE*|strlen|?{'',vide})] clearfix">
<div class='label'><:organiseur:info_message_objet:></div>
<div dir='#LANG_DIR' class='#EDIT{titre} titre'>#TITRE</div>
</div>
<div class="champ contenu_date_heure[ (#DATE_HEURE*|strlen|?{'',vide})] clearfix">
<div class='label'><:organiseur:info_message_date:></div>
<div dir='#LANG_DIR' class='#EDIT{date_heure} date_heure'>[[(#DATE_HEURE|nom_jour)] (#DATE_HEURE|affdate_heure)]</div>
</div>
<B_to>
<div class="champ contenu_to clearfix">
<div class='label'><:organiseur:info_message_a:></div>
<div dir='#LANG_DIR' class='to'><BOUCLE_to(AUTEURS auteurs_liens){si #TYPE|=={normal}}{id_objet=#ID_MESSAGE}{objet=message}{', '}>#NOM</BOUCLE_to></div>
</div>
</B_to>
</div>
<div class="champ contenu_texte[ (#TEXTE*|strlen|?{'',vide})]">
<div class='label'><:info_texte:></div>
<div dir='#LANG_DIR' class='#EDIT{texte} texte'>[(#TEXTE|image_reduire{500,0})]</div>
</div>
[<div class="champ contenu_notes">
<div class='label'><:info_notes:></div>
<div dir='#LANG_DIR' class='#EDIT{notes} notes'>(#NOTES)</div>
</div>]
</BOUCLE_afficher_contenu>

4
prive/objets/liste/messages-envoyes.html

@ -3,7 +3,7 @@
titre,1,
id_article,1
}})
]#SET{icone_type,#ARRAY{pb,pensebete-16.png,affich,annonce-16.png}}
]
<B_mess_env>
#ANCRE_PAGINATION
<div class="liste-objets messages">
@ -23,7 +23,7 @@
<BOUCLE_mess_env(MESSAGES){destinataire?#ENV{destinataire}}{id_auteur=#ENV{id_auteur}}{type?}{where?}{statut?}{recherche?}{tri #ENV{par,date_heure},#GET{defaut_tri}}{pagination #ENV{nb,10}}>
[(#SET{vu,[(#TYPE|=={pb}|ou{#VU|match{^(oui|pou)$}})]})]
<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][(#GET{vu}|non)new]">
<td class='type'>[(#CHEMIN_IMAGE{#GET{icone_type}|table_valeur{#TYPE}|sinon{message-16.png}}|balise_img{#VAL{organiseur:info_type_message_}|concat{#TYPE}|_T})]</td>
<td class='type'>[(#CHEMIN_IMAGE{#TYPE|organiseur_icone_message{16}}|balise_img{#VAL{organiseur:info_type_message_}|concat{#TYPE}|_T})]</td>
<td class='isrv'>[(#RV|=={oui}|oui)[(#CHEMIN_IMAGE{heure-16.png}|balise_img{<:organiseur:info_type_message_rv:>})]]</td>
<td class="to"><BOUCLE_dest(AUTEURS){id_message}{si #TYPE|=={normal}}{', '}><a href="[(#ID_AUTEUR|generer_url_entite{auteur})]">#NOM</a></BOUCLE_dest></td>
<td class='date secondaire'>

4
prive/objets/liste/messages-recus.html

@ -3,7 +3,7 @@
titre,1,
id_article,1
}})
]#SET{icone_type,#ARRAY{pb,pensebete-16.png,affich,annonce-16.png}}
]
<BOUCLE_compte_non_lus(MESSAGES auteurs){destinataire #ENV{destinataire}}{id_auteur?}{type!=pb}{type?}{where?}{statut?}{recherche?}{non_lu}>[(#NOM|vide)]</BOUCLE_compte_non_lus>
#SET{nonlus,#ENV{nonlus,#TOTAL_BOUCLE}}
<//B_compte_non_lus>
@ -30,7 +30,7 @@
[(#SET{vu,[(#TYPE|=={pb}|ou{#VU|match{^(oui|pou)$}})]})]
<tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})][(#GET{vu}|non)new]">
<td class='new'>[(#GET{vu}|?{'',#CHEMIN_IMAGE{pictonew-16.png}|balise_img{<:organiseur:info_message_non_lu:>}|inserer_attribut{title,<:organiseur:info_message_non_lu:>}})]</td>
<td class='type'>[(#CHEMIN_IMAGE{#GET{icone_type}|table_valeur{#TYPE}|sinon{message-16.png}}|balise_img{#VAL{organiseur:info_type_message_}|concat{#TYPE}|_T})]</td>
<td class='type'>[(#CHEMIN_IMAGE{#TYPE|organiseur_icone_message{16}}|balise_img{#VAL{organiseur:info_type_message_}|concat{#TYPE}|_T})]</td>
<td class='isrv'>[(#RV|=={oui}|oui)[(#CHEMIN_IMAGE{heure-16.png}|balise_img{<:organiseur:info_type_message_rv:>})]]</td>
<td class="from"><a href="[(#ID_AUTEUR|generer_url_entite{auteur})]">#NOM</a></td>
<td class='titre principale'>

30
prive/squelettes/contenu/message.html

@ -0,0 +1,30 @@
[(#AUTORISER{voir,message,#ID_MESSAGE}|sinon_interdire_acces)]
<BOUCLE_message(MESSAGES){id_message}{statut?}{si #ENV{exec}|=={message}}>
[(#BOITE_OUVRIR{[
[(#AUTORISER{modifier,message,#ID_MESSAGE}|oui)
[(#ID_MESSAGE|generer_url_ecrire_entite_edit{message}|icone_verticale{<:icone_modifier_message:>,#TYPE|organiseur_icone_message{24},edit,right ajax preload})]
]
<h1>[(#TITRE|recuperer_numero). ](#TITRE|sinon{<:info_sans_titre:>})[(#TYPE|organiseur_icone_message{24}|balise_img{'',cadre-icone})]</h1>
],simple fiche_objet})]
<div id="wysiwyg">
<INCLURE{fond=prive/objets/contenu/message,id=#ID_MESSAGE}>
</div>
#PIPELINE{afficher_complement_objet,#ARRAY{args,#ARRAY{type,message,id,#ID_MESSAGE},data,'<div class="nettoyeur"></div>'}}
#BOITE_FERMER
#SET{enfants,''}
[(#VAL{message-enfants}|trouver_fond{prive/objets/contenu/}|oui)
[(#SET{enfants,[(#INCLURE{fond=prive/objets/contenu/message-enfants,id_objet=#ID_MESSAGE,env})]})]
]
[(#PIPELINE{affiche_enfants,[(#ARRAY{args,#ARRAY{objet,message,id_objet,#ID_MESSAGE},data,#GET{enfants}})]})]
[(#EVAL{_AJAX}|oui)
<script type="text/javascript">/*<!\[CDATA\[*/reloadExecPage('[(#OBJET|objet_info{url_voir})]','#navigation,#chemin');/*\]\]>*/</script>
]
</BOUCLE_message>
[(#ENV**{exec}|=={message_edit}|?{#INCLURE{fond=prive/squelettes/contenu/message_edit,redirect='',env,retourajax=oui},#REM|sinon_interdire_acces})]
<//B_message>

11
prive/style_prive_plugin_organiseur.html

@ -29,6 +29,17 @@
.liste-objets.messages tr > .isrv {width: 16px; padding-left:2px;padding-right:2px;text-align:center;}
.liste-objets.messages tr.new td {font-weight: bold;}
/* exec=message */
.message #wysiwyg {position: relative;}
.message #wysiwyg .contenu_from .label,
.message #wysiwyg .contenu_to .label,
.message #wysiwyg .contenu_titre .label,
.message #wysiwyg .contenu_date_heure .label {display: block;float:#GET{left};width:6em;clear:#GET{left};text-align:#GET{right};padding:0 10px;}
.message #wysiwyg .contenu_from .spip_logos {position: absolute;#GET{right}: 0;top:0;}
.message #wysiwyg .contenu_titre {display: block;}
.message #wysiwyg .contenu_texte {clear:both;border-top: 1px solid #999;margin-top: 1em;padding-top: 1em;}
/* ?exec=message_edit */
.message_edit .formo {width:99%;}
.message_edit .box {margin:20px 0;}

Loading…
Cancel
Save