$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, IF(u.nom_usage = "", u.nom, u.nom_usage) AS nom, u.prenom, u.promo, ev.user_id IS NULL AS nonlu FROM evenements AS e INNER JOIN auth_user_md5 AS u ON e.user_id = u.user_id LEFT JOIN evenements_vus AS ev ON (e.id = ev.evt_id AND ev.user_id = {?}) WHERE FIND_IN_SET("valide", e.flags) AND peremption >= NOW() AND (e.promo_min = 0 || e.promo_min <= {?}) AND (e.promo_max = 0 || e.promo_max >= {?}) ORDER BY e.creation_date DESC LIMIT {?}', S::i('uid'), S::i('promo'), S::i('promo'), 5); $page->assign('events', $events); $page->assign('event_count', XDB::query("SELECT FOUND_ROWS()")->fetchOneCell()); } 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') != '') { require_once 'userset.inc.php'; $view = new SearchSet(true); $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 !'); } } 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 enc=utf-8: ?>