$this->make_hook('ig_events_xml', AUTH_PUBLIC, 'user', NO_HTTPS), 'gadgets/ig-events' => $this->make_hook('ig_events', AUTH_PUBLIC), 'gadgets/ig-search.xml' => $this->make_hook('ig_search_xml', AUTH_PUBLIC, 'user', NO_HTTPS), 'gadgets/ig-search' => $this->make_hook('ig_search', AUTH_PUBLIC), ); } function handler_ig_events_xml($page) { require_once 'gadgets/gadgets.inc.php'; init_igoogle_xml('gadgets/ig-events.xml.tpl'); } function handler_ig_events($page) { require_once 'gadgets/gadgets.inc.php'; init_igoogle_html('gadgets/ig-events.tpl', AUTH_COOKIE); $events = XDB::iterator("SELECT SQL_CALC_FOUND_ROWS e.id, e.titre, UNIX_TIMESTAMP(e.creation_date) AS creation_date, ev.uid IS NULL AS nonlu, e.uid FROM announces AS e LEFT JOIN announce_read AS ev ON (e.id = ev.evt_id AND ev.uid = {?}) WHERE FIND_IN_SET('valide', e.flags) AND expiration >= NOW() ORDER BY e.creation_date DESC", S::i('uid')); $page->assign('event_count', XDB::query("SELECT FOUND_ROWS()")->fetchOneCell()); Platal::load('events', 'feed.inc.php'); $user = S::user(); $data = array(); while ($e = PlFeed::nextEvent($events, $user)) { $data[] = $e; if (count($data) == 5) { break; } } $page->assign('events', $data); } function handler_ig_search_xml($page) { require_once 'gadgets/gadgets.inc.php'; init_igoogle_xml('gadgets/ig-search.xml.tpl'); } function handler_ig_search($page) { if (Env::has('quick') && Env::s('quick') != '') { global $globals; require_once 'userset.inc.php'; $view = new QuickSearchSet(); $view->addMod('gadget', 'Gadget', true); $view->apply(null, $page); $nb_tot = $view->count(); $page->assign('result_count', $nb_tot); if (!S::logged() && $nb_tot > $globals->search->public_max) { $page->assign('error', 'Votre recherche a généré trop de résultats pour un affichage public.'); } elseif ($nb_tot > $globals->search->private_max) { $page->assign('error', 'Recherche trop générale.'); } elseif (empty($nb_tot)) { $page->assign('error', 'Il n\'existe personne correspondant à ces critères dans la base !'); } else { $page->assign('error', false); } } require_once 'gadgets/gadgets.inc.php'; init_igoogle_html('gadgets/ig-search.tpl', AUTH_PUBLIC); } } // vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8: ?>