X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;ds=sidebyside;f=modules%2Fevents.php;h=c37c2f81f38eb6cb0e2b6b57b501348af92843fc;hb=16d2c88314364b5e79936f4262d453dff03abdad;hp=9a4d95eb4e824228454e8f2323410574eb302e8d;hpb=9f52839d4a55c6b59ab80af35026a064e007ac72;p=platal.git diff --git a/modules/events.php b/modules/events.php index 9a4d95e..c37c2f8 100644 --- a/modules/events.php +++ b/modules/events.php @@ -25,11 +25,11 @@ class EventsModule extends PLModule { return array( 'events' => $this->make_hook('ev', AUTH_COOKIE), - 'rss' => $this->make_hook('rss', AUTH_PUBLIC, 'user', NO_HTTPS), 'events/preview' => $this->make_hook('preview', AUTH_PUBLIC, 'user', NO_AUTH), 'events/photo' => $this->make_hook('photo', AUTH_PUBLIC), 'events/submit' => $this->make_hook('ev_submit', AUTH_MDP), 'admin/events' => $this->make_hook('admin_events', AUTH_MDP, 'admin'), + 'rss' => $this->make_token_hook('rss', AUTH_COOKIE), 'ajax/tips' => $this->make_hook('tips', AUTH_COOKIE, 'user', NO_AUTH), 'admin/tips' => $this->make_hook('admin_tips', AUTH_MDP, 'admin'), @@ -103,31 +103,31 @@ class EventsModule extends PLModule function handler_ev(&$page, $action = 'list', $eid = null, $pound = null) { $page->changeTpl('events/index.tpl'); - $page->addJsLink('ajax.js'); $user = S::user(); /** XXX: Tips and reminder only for user with 'email' permission. - * We can do better in the future by storing the required permission(s) - * with teh tip/reminder. + * We can do better in the future by storing a userfilter + * with the tip/reminder. */ if ($user->checkPerms(User::PERM_MAIL)) { $page->assign('tips', $this->get_tips()); - // Adds a reminder onebox to the page. - require_once 'reminder.inc.php'; - if (($reminder = Reminder::GetCandidateReminder($user))) { - $reminder->Prepare($page); - } + } - // Wishes "Happy birthday" when required - $profile = $user->profile(); - if (!is_null($profile)) { - if ($profile->next_birthday == date('Y-m-d')) { - $birthyear = (int)date('Y', strtotime($profile->birthdate)); - $curyear = (int)date('Y'); - $page->assign('birthday', $curyear - $birthyear); - } + // Adds a reminder onebox to the page. + require_once 'reminder.inc.php'; + if (($reminder = Reminder::GetCandidateReminder($user))) { + $reminder->Prepare($page); + } + + // Wishes "Happy birthday" when required + $profile = $user->profile(); + if (!is_null($profile)) { + if ($profile->next_birthday == date('Y-m-d')) { + $birthyear = (int)date('Y', strtotime($profile->birthdate)); + $curyear = (int)date('Y'); + $page->assign('birthday', $curyear - $birthyear); } } @@ -143,8 +143,9 @@ class EventsModule extends PLModule FROM announce_read AS ev INNER JOIN announces AS e ON e.id = ev.evt_id WHERE expiration < NOW()'); - XDB::execute('REPLACE INTO announce_read VALUES({?},{?})', - $eid, S::v('uid')); + XDB::execute('INSERT IGNORE INTO announce_read (evt_id, uid) + VALUES ({?}, {?})', + $eid, S::v('uid')); pl_redirect('events#'.$pound); } @@ -207,7 +208,6 @@ class EventsModule extends PLModule exit; } } elseif ($eid == 'valid') { - require_once 'validations.inc.php'; $valid = Validate::get_request_by_id($valid); if ($valid && $valid->img) { pl_cached_dynamic_content_headers("image/" . $valid->imgtype); @@ -228,11 +228,11 @@ class EventsModule extends PLModule exit; } - function handler_rss(&$page, $user = null, $hash = null) + function handler_rss(PlPage& $page, PlPage& $user) { $this->load('feed.inc.php'); $feed = new EventFeed(); - return $feed->run($page, $user, $hash); + return $feed->run($page, $user); } function handler_preview(&$page) @@ -254,7 +254,6 @@ class EventsModule extends PLModule function handler_ev_submit(&$page) { $page->changeTpl('events/submit.tpl'); - $page->addJsLink('ajax.js'); $wp = new PlWikiPage('Xorg.Annonce'); $wp->buildCache(); @@ -294,7 +293,6 @@ class EventsModule extends PLModule } elseif ($action) { S::assert_xsrf_token(); - require_once 'validations.inc.php'; $evtreq = new EvtReq($titre, $texte, $promo_min, $promo_max, $expiration, $valid_mesg, S::user(), $upload); $evtreq->submit(); @@ -333,7 +331,6 @@ class EventsModule extends PLModule function handler_admin_events(&$page, $action = 'list', $eid = null) { $page->changeTpl('events/admin.tpl'); - $page->addJsLink('ajax.js'); $page->setTitle('Administration - Evenements'); $page->register_modifier('hde', 'html_entity_decode'); @@ -383,9 +380,10 @@ class EventsModule extends PLModule Post::v('promo_min'), Post::v('promo_max'), $flags, $eid); if ($upload->exists() && list($x, $y, $type) = $upload->imageInfo()) { - XDB::execute('REPLACE INTO announce_photos - SET eid = {?}, attachmime = {?}, x = {?}, y = {?}, attach = {?}', - $eid, $type, $x, $y, $upload->getContents()); + XDB::execute('INSERT INTO announce_photos (eid, attachmime, attach, x, y) + VALUES ({?}, {?}, {?}, {?}, {?}) + ON DUPLICATE KEY UPDATE attachmime = VALUES(attachmime), attach = VALUES(attach), x = VALUES(x), y = VALUES(y)', + $eid, $type, $upload->getContents(), $x, $y); $upload->rm(); } }