Пример #1
0
/**
 * 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);
}
Пример #2
0
function quete_calendrier_interval($limites)
{
    include_spip('inc/urls');
    list($avant, $apres) = $limites;
    $evt = array();
    quete_calendrier_interval_articles($avant, $apres, $evt);
    quete_calendrier_interval_breves($avant, $apres, $evt);
    quete_calendrier_interval_rubriques($avant, $apres, $evt);
    return array($evt, quete_calendrier_interval_rv($avant, $apres));
}