X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fevents.php;h=9f434cb0a97ae3c173988b9cfe8569eb9fff14dc;hb=1dd218522cea6ae08998b0ca107c8fec608ddce8;hp=035f2741f9bd665983838f7dc3c64654d2813e81;hpb=1c0419d6b4c94643bfa7bed9a6b435bbdbbae02f;p=platal.git diff --git a/modules/events.php b/modules/events.php index 035f274..9f434cb 100644 --- a/modules/events.php +++ b/modules/events.php @@ -104,10 +104,19 @@ class EventsModule extends PLModule { $page->changeTpl('events/index.tpl'); $page->addJsLink('ajax.js'); - $page->assign('tips', $this->get_tips()); - // Adds a reminder onebox to the page. $user = S::user(); + + /** XXX: Tips and reminder only for user with 'email' permission. + * 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); @@ -135,8 +144,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); } @@ -199,7 +209,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); @@ -286,7 +295,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(); @@ -311,10 +319,10 @@ class EventsModule extends PLModule $table_editor->describe('expiration', 'date de péremption', true); $table_editor->describe('promo_min', 'promo. min (0 aucune)', false); $table_editor->describe('promo_max', 'promo. max (0 aucune)', false); - $table_editor->describe('titre', 'titre', true); + $table_editor->describe('title', 'titre', true); $table_editor->describe('state', 'actif', true); $table_editor->describe('text', 'texte (html) de l\'astuce', false); - $table_editor->describe('priorite', '0<=priorité<=255', true); + $table_editor->describe('priority', '0<=priorité<=255', true); $table_editor->list_on_edit(false); $table_editor->apply($page, $action, $id); if (($action == 'edit' && !is_null($id)) || $action == 'update') { @@ -375,9 +383,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(); } }