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);
}
}
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);
}
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);
function handler_ev_submit(&$page)
{
$page->changeTpl('events/submit.tpl');
- $page->addJsLink('ajax.js');
$wp = new PlWikiPage('Xorg.Annonce');
$wp->buildCache();
} 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();
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');
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();
}
}