Browse Source

un onglet des RV visualisables sur un calendrier a cet effet

+ diriger l'icone du bandeau sur la page squelette messages qui n'est pas moins utilisable que l'ancienne en PHP
svn/root/tags/plugins/organiseur/0.4.0
cedric@yterium.com 11 years ago
parent
commit
c76d424c1c
  1. 1
      .gitattributes
  2. 12
      action/quete_calendrier.php
  3. 1
      lang/organiseur_fr.php
  4. 2
      plugin.xml
  5. 1
      prive/squelettes/contenu/messages.html
  6. 68
      prive/squelettes/inclure/organiseur-rv.html

1
.gitattributes vendored

@ -39,6 +39,7 @@ prive/squelettes/inclure/organiseur-envoi.html -text
prive/squelettes/inclure/organiseur-message.html -text
prive/squelettes/inclure/organiseur-rappels.html -text
prive/squelettes/inclure/organiseur-reception.html -text
prive/squelettes/inclure/organiseur-rv.html -text
prive/squelettes/navigation/messages.html -text
prive/squelettes/top/calendrier.html -text
prive/style_prive_plugin_organiseur.html -text

12
action/quete_calendrier.php

@ -25,12 +25,22 @@ function action_quete_calendrier_dist(){
$start = _request('start');
$end = _request('end');
$quoi = _request('quoi');
$quoi = (in_array($quoi,array('publication','rv'))?$quoi:'publication');
include_spip('inc/quete_calendrier');
// recuperer la liste des evenements au format ics
$limites = array(sql_quote(date('Y-m-d H:i:s',$start)),sql_quote(date('Y-m-d H:i:s',$end)));
list($entier,$duree) = quete_calendrier_interval($limites);
switch($quoi){
case 'rv':
$entier = array();
$duree = quete_calendrier_interval_rv(reset($limites), end($limites));
break;
default:
list($entier,$duree) = quete_calendrier_interval($limites);
break;
}
// la retransformer au format attendu par fullcalendar
$evt = array();

1
lang/organiseur_fr.php

@ -34,6 +34,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// T
'titre_boite_reception' => 'Boîte de reception',
'titre_boite_envoi' => 'Boîte d\'envoi',
'titre_agenda_rv' => 'Rendez-vous',
);
?>

2
plugin.xml

@ -15,7 +15,7 @@
<icone>images/calendrier-16.png</icone>
<titre>Agenda interne</titre>
</bouton>
<bouton id='messagerie' parent="outils_collaboratifs">
<bouton id='messages' parent="outils_collaboratifs">
<icone>images/messagerie-16.png</icone>
<titre>info_messagerie_interne</titre>
</bouton>

1
prive/squelettes/contenu/messages.html

@ -3,6 +3,7 @@
<ul>
<li>[(#URL_ECRIRE{messages,quoi=reception}|lien_ou_expose{<:organiseur:titre_boite_reception:>,#ENV{quoi,reception}|=={reception},ajax})]</li>
<li>[(#URL_ECRIRE{messages,quoi=envoi}|lien_ou_expose{<:organiseur:titre_boite_envoi:>,#ENV{quoi,reception}|=={envoi},ajax})]</li>
<li>[(#URL_ECRIRE{messages,quoi=rv}|lien_ou_expose{<:organiseur:titre_agenda_rv:>,#ENV{quoi,reception}|=={rv},ajax})]</li>
</ul>
</div>
<INCLURE{fond=prive/squelettes/inclure/organiseur-#ENV{quoi,reception},id_auteur=#SESSION{id_auteur},ajax} />

68
prive/squelettes/inclure/organiseur-rv.html

@ -0,0 +1,68 @@
<div id="loading" style="position:absolute;top:20px;left:350px;padding:5px 30px;display:none;border:1px solid #ddd;background:#eee;z-index:100;"><:organiseur:loading:></div>
<div id="calendrier"></div>
<link rel='stylesheet' type='text/css' href='#CHEMIN{lib/fullcalendar/fullcalendar.css}' />
<link rel='stylesheet' type='text/css' href='#CHEMIN{calendrier.css}' />
<script type='text/javascript' src='#CHEMIN{lib/fullcalendar/fullcalendar.js}'></script>
<script type="text/javascript">
jQuery(document).ready(function() {
// page is now ready, initialize the calendar...
$('#calendrier').fullCalendar({
editable: false,
events: "[(#URL_ACTION_AUTEUR{quete_calendrier,calendrier}|parametre_url{quoi,rv,&})]",
header: {
left: 'prevYear,prev,next,nextYear today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
firstDay: 1,
monthNames:['<:date_mois_1|attribut_html:>','<:date_mois_2|attribut_html:>','<:date_mois_3|attribut_html:>','<:date_mois_4|attribut_html:>','<:date_mois_5|attribut_html:>','<:date_mois_6|attribut_html:>','<:date_mois_7|attribut_html:>','<:date_mois_8|attribut_html:>','<:date_mois_9|attribut_html:>','<:date_mois_10|attribut_html:>','<:date_mois_11|attribut_html:>','<:date_mois_12|attribut_html:>'],
monthNamesShort:['<:date_mois_1_abbr|attribut_html:>','<:date_mois_2_abbr|attribut_html:>','<:date_mois_3_abbr|attribut_html:>','<:date_mois_4_abbr|attribut_html:>','<:date_mois_5_abbr|attribut_html:>','<:date_mois_6_abbr|attribut_html:>','<:date_mois_7_abbr|attribut_html:>','<:date_mois_8_abbr|attribut_html:>','<:date_mois_9_abbr|attribut_html:>','<:date_mois_10_abbr|attribut_html:>','<:date_mois_11_abbr|attribut_html:>','<:date_mois_12_abbr|attribut_html:>'],
dayNames:['<:date_jour_1|attribut_html:>','<:date_jour_2|attribut_html:>','<:date_jour_3|attribut_html:>','<:date_jour_4|attribut_html:>','<:date_jour_5|attribut_html:>','<:date_jour_6|attribut_html:>','<:date_jour_7|attribut_html:>'],
dayNamesShort:['<:date_jour_1_abbr|attribut_html:>','<:date_jour_2_abbr|attribut_html:>','<:date_jour_3_abbr|attribut_html:>','<:date_jour_4_abbr|attribut_html:>','<:date_jour_5_abbr|attribut_html:>','<:date_jour_6_abbr|attribut_html:>','<:date_jour_7_abbr|attribut_html:>'],
buttonText: {
today: '<:date_aujourdhui|attribut_html:>',
month: '<:organiseur:cal_par_mois|attribut_html:>',
day: '<:organiseur:cal_par_jour|attribut_html:>',
week: '<:organiseur:cal_par_semaine|attribut_html:>'
},
weekMode : 'liquid',
loading: function(bool) {
if (bool) $('#loading').show();
else $('#loading').hide();
},
timeFormat: {
// for agendaWeek and agendaDay
agenda: "H'h'mm{ - H'h'mm}", // 5h00 - 6h30
// for all other views
'': "H'h'(mm)" // 19h
},
axisFormat: "H'h'(mm)",
allDayText:'<:organiseur:cal_jour_entier|attribut_html:>',
columnFormat: {
month: 'ddd', // Mon
week: 'ddd d/M', // Mon 9/7
day: 'dddd d/M' // Monday 9/7
},
titleFormat: {
month: 'MMMM yyyy', // September 2009
week: "d [ MMM] [ yyyy]{ '&#8212;' d MMM yyyy}", // Sep 7 - 13 2009
day: 'dddd d MMM yyyy' // Tuesday, Sep 8, 2009
},
dayClick: function(date, allDay, jsEvent, view) {
if(view.name=='month'){
$('.fc-button-agendaWeek').click();
$('#calendrier').fullCalendar( 'gotoDate', date );
}
else
if(view.name=='agendaWeek'){
$('.fc-button-agendaDay').click();
$('#calendrier').fullCalendar( 'gotoDate', date );
}
},
isRTL : [(#LANG_DIR|=={rtl}|?{true,false})]
})
});
</script>
Loading…
Cancel
Save