/** * Fournir une liste d'"evenements" entre deux dates start et end * au format json * utilise pour l'affichage du calendrier prive et public * * @return void */ function action_quete_calendrier_prive_dist() { $securiser_action = charger_fonction('securiser_action', 'inc'); $securiser_action(); $start = _request('start'); $end = _request('end'); $quoi = _request('quoi'); include_spip('inc/quete_calendrier'); $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)); // 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') { $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); $evt = convert_fullcalendar_quete_calendrier_interval($entier, $evt); } // permettre aux plugins d'afficher leurs evenements dans ce calendrier $evt = pipeline('quete_calendrier_prive', array('args' => array('start' => $start, 'end' => $end, 'quoi' => $quoi), 'data' => $evt)); // format json include_spip('inc/json'); echo json_encode($evt); }
function http_calendrier_init($time='', $type='mois', $echelle='', $partie_cal='', $script='', $evt=null) { if (is_array($time)) { list($j,$m,$a) = $time; if ($j+$m+$a) $time = @mktime(0,0,0, $m, $j, $a); } if (!is_numeric($time)) $time = time(); $jour = date("d",$time); $mois = date("m",$time); $annee = date("Y",$time); if (!$echelle = intval($echelle)) $echelle = DEFAUT_D_ECHELLE; if (!is_string($type) OR !preg_match('/^\w+$/', $type)) $type ='mois'; if (!is_string($partie_cal) OR !preg_match('/^\w+$/', $partie_cal)) $partie_cal = DEFAUT_PARTIE; list($script, $ancre) = calendrier_retire_args_ancre($script); if (is_null($evt)) { $g = 'quete_calendrier_' . $type; $evt = quete_calendrier_interval($g($annee,$mois, $jour)); quete_calendrier_interval_articles("'$annee-$mois-00'", "'$annee-$mois-1'", $evt[0]); // si on veut les forums, decommenter # quete_calendrier_interval_forums($g($annee,$mois,$jour), $evt[0]); } $f = 'http_calendrier_' . $type; if (!function_exists($f)) $f = 'http_calendrier_mois'; return $f($annee, $mois, $jour, $echelle, $partie_cal, $script, $ancre, $evt); }
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 "<br />"; 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(); }