[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / plugins-dist / organiseur / action / quete_calendrier_prive.php
index 144140b..8e3cd7b 100644 (file)
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-if (!defined('_ECRIRE_INC_VERSION')) return;
+/**
+ * Gestion de l'action de quête des événements du calendrier
+ *
+ * @package SPIP\Organiseur\Action
+ **/
+
+if (!defined('_ECRIRE_INC_VERSION')) {
+       return;
+}
 
 /**
  * Fournir une liste d'"evenements" entre deux dates start et end
  * au format json
- * utilise pour l'affichage du calendrier prive et public
- * 
+ *
+ * Utilisé pour l'affichage du calendrier privé et public
+ *
+ * @pipeline_appel quete_calendrier_prive
+ * @uses quete_calendrier_interval_rv()
+ * @uses quete_calendrier_interval()
+ * @uses convert_fullcalendar_quete_calendrier_interval_rv()
+ * @uses convert_fullcalendar_quete_calendrier_interval()
+ *
  * @return void
  */
-function action_quete_calendrier_prive_dist(){
-       $securiser_action = charger_fonction('securiser_action','inc');
+function action_quete_calendrier_prive_dist() {
+       $securiser_action = charger_fonction('securiser_action', 'inc');
        $securiser_action();
 
-       $start = _request('start');
-       $end = _request('end');
+       $start = strtotime(_request('start'));
+       $end = strtotime(_request('end'));
        $quoi = _request('quoi');
 
        include_spip('inc/quete_calendrier');
@@ -32,28 +47,29 @@ function action_quete_calendrier_prive_dist(){
        $evt = array();
 
        // recuperer la liste des evenements au format ics
-       $start = date('Y-m-d H:i:s',$start);
-       $end = date('Y-m-d H:i:s',$end);
-       $limites = array(sql_quote($start),sql_quote($end));
+       $start = date('Y-m-d H:i:s', $start);
+       $end = date('Y-m-d H:i:s', $end);
+       $limites = array(sql_quote($start), sql_quote($end));
 
        // on fonction de quoi on récupère : tout (rv + publication) ou l'un ou l'autre.
        $entier = $duree = array();
 
-       if (!$quoi OR $quoi=='rv') {
+       if (!$quoi or $quoi == 'rv') {
                $duree = quete_calendrier_interval_rv(reset($limites), end($limites));
                $evt = convert_fullcalendar_quete_calendrier_interval_rv($duree, $evt);
        }
 
-       if (!$quoi OR $quoi=='publication') {
-               list($entier,) = quete_calendrier_interval($limites);
+       if (!$quoi or $quoi == 'publication') {
+               list($entier, ) = quete_calendrier_interval($limites);
                $evt = convert_fullcalendar_quete_calendrier_interval($entier, $evt);
        }
 
 
        // permettre aux plugins d'afficher leurs evenements dans ce calendrier
-       $evt = pipeline('quete_calendrier_prive',
+       $evt = pipeline(
+               'quete_calendrier_prive',
                array(
-                       'args' => array('start' => $start, 'end' => $end, 'quoi'=>$quoi),
+                       'args' => array('start' => $start, 'end' => $end, 'quoi' => $quoi),
                        'data' => $evt,
                )
        );
@@ -64,19 +80,21 @@ function action_quete_calendrier_prive_dist(){
 }
 
 /**
- * Convertir une date au format ical renvoyee par quete_calendrier_interval
+ * Convertir une date au format ical renvoyée par quete_calendrier_interval
  * dans le format attendu par fullcalendar : yyyy-mm-dd H:i:s
+ *
  * @param $dateical
  * @return string
  */
-function convert_dateical($dateical){
-       $d = explode('T',$dateical);
+function convert_dateical($dateical) {
+       $d = explode('T', $dateical);
        $amj = reset($d);
-       $s = substr($amj,0,4).'-'.substr($amj,4,2).'-'.substr($amj,6,2);
-       if (count($d)>1){
+       $s = substr($amj, 0, 4) . '-' . substr($amj, 4, 2) . '-' . substr($amj, 6, 2);
+       if (count($d) > 1) {
                $his = end($d);
-               $s .= ' '.substr($his,0,2).":".substr($his,2,2).":".substr($his,4,2);
+               $s .= ' ' . substr($his, 0, 2) . ':' . substr($his, 2, 2) . ':' . substr($his, 4, 2);
        }
+
        return $s;
 }
 
@@ -90,23 +108,25 @@ function convert_dateical($dateical){
  *     Les événements au format fullcalendar déjà présents
  * @return array
  *     Les événements au format fullcalendar
-**/
+ **/
 function convert_fullcalendar_quete_calendrier_interval($messages, $evt = array()) {
-       if (!$messages) return $evt;
+       if (!$messages) {
+               return $evt;
+       }
 
        // la retransformer au format attendu par fullcalendar
        // facile : chaque evt n'est mentionne qu'une fois, a une date
-       foreach($messages as $amj=>$l){
-               $date = substr($amj,0,4).'-'.substr($amj,4,2).'-'.substr($amj,6,2);
-               foreach($l as $e){
+       foreach ($messages as $amj => $l) {
+               $date = substr($amj, 0, 4) . '-' . substr($amj, 4, 2) . '-' . substr($amj, 6, 2);
+               foreach ($l as $e) {
                        $evt[] = array(
                                'id' => 0,
                                'title' => $e['SUMMARY'],
                                'allDay' => true,
                                'start' => $date,
                                'end' => $date,
-                               'url' => str_replace('&','&',$e['URL']),
-                               'className' => "calendrier-event ".$e['CATEGORIES'],
+                               'url' => str_replace('&', '&', $e['URL']),
+                               'className' => 'calendrier-event ' . $e['CATEGORIES'],
                                'description' => $e['DESCRIPTION'],
                        );
                }
@@ -119,15 +139,19 @@ function convert_fullcalendar_quete_calendrier_interval($messages, $evt = array(
  * Convertir une sortie événement de quete calendrier_interval_rv
  * dans le format attendu par fullcalendar
  *
+ * @use convert_dateical()
+ *
  * @param array $messages
  *     Les événements / messages au format issu de la quete calendrier_interval_rv
  * @param array $evt
  *     Les événements au format fullcalendar déjà présents
  * @return array
  *     Les événements au format fullcalendar
-**/
+ **/
 function convert_fullcalendar_quete_calendrier_interval_rv($messages, $evt = array()) {
-       if (!$messages) return $evt;
+       if (!$messages) {
+               return $evt;
+       }
 
        // ici il faut faire attention : un evt apparait N fois
        // mais on a son id
@@ -138,9 +162,9 @@ function convert_fullcalendar_quete_calendrier_interval_rv($messages, $evt = arr
                $seen[$e['url']] = true;
        }
 
-       foreach($messages as $amj=>$l){
-               foreach($l as $id=>$e){
-                       $url = str_replace('&','&',$e['URL']);
+       foreach ($messages as $l) {
+               foreach ($l as $id => $e) {
+                       $url = str_replace('&', '&', $e['URL']);
                        if (!isset($seen[$url])) {
                                $evt[] = array(
                                        'id' => $id,
@@ -149,7 +173,7 @@ function convert_fullcalendar_quete_calendrier_interval_rv($messages, $evt = arr
                                        'start' => convert_dateical($e['DTSTART']), //Ymd\THis
                                        'end' => convert_dateical($e['DTEND']), // Ymd\THis
                                        'url' => $url,
-                                       'className' => "calendrier-event ".$e['CATEGORIES'],
+                                       'className' => 'calendrier-event ' . $e['CATEGORIES'],
                                        'description' => $e['DESCRIPTION'],
                                );
                                $seen[$url] = true;