New script for formatting AX education.
[platal.git] / modules / events.php
index d333d0c..4888268 100644 (file)
@@ -40,7 +40,7 @@ class EventsModule extends PLModule
     {
         global $globals;
         // Add a new special tip when changing plat/al version
-        if ($globals->version != S::v('last_version') && is_null($exclude)) {
+        if ($globals->version != S::user()->last_version && is_null($exclude)) {
             XDB::execute('UPDATE accounts
                              SET last_version = {?}
                            WHERE uid = {?}',
@@ -64,11 +64,11 @@ class EventsModule extends PLModule
         do {
             $priority = (int)($priority/2);
             $res = XDB::query("SELECT  *
-                                 FROM  tips
+                                 FROM  reminder_tips
                                 WHERE  (expiration = '0000-00-00' OR expiration > CURDATE())
                                        AND (promo_min = 0 OR promo_min <= {?})
                                        AND (promo_max = 0 OR promo_max >= {?})
-                                       AND (priorite >= {?})
+                                       AND (priority >= {?})
                                        AND (state = 'active')
                                        $exclude
                              ORDER BY  RAND()
@@ -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);
@@ -126,7 +135,7 @@ class EventsModule extends PLModule
         // Direct link to the RSS feed, when available.
         if (S::hasAuthToken()) {
             $page->setRssLink('Polytechnique.org :: News',
-                              '/rss/'.S::v('hruid') .'/'.S::v('token').'/rss.xml');
+                              '/rss/' . S::v('hruid') . '/' . S::user()->token . '/rss.xml');
         }
 
         // Hide the read event, and reload the page to get to the next event.
@@ -199,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);
@@ -286,7 +294,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();
@@ -307,14 +314,14 @@ class EventsModule extends PLModule
     {
         $page->setTitle('Administration - Astuces');
         $page->assign('title', 'Gestion des Astuces');
-        $table_editor = new PLTableEditor('admin/tips', 'tips', 'id');
+        $table_editor = new PLTableEditor('admin/tips', 'reminder_tips', 'id');
         $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') {