Keeps hidden validation preferences in the database instead of in a cookie (Closes...
authorStéphane Jacob <jacou@melix.net>
Tue, 10 Jun 2008 01:09:16 +0000 (03:09 +0200)
committerStéphane Jacob <jacou@melix.net>
Tue, 10 Jun 2008 01:09:16 +0000 (03:09 +0200)
ChangeLog
modules/admin.php
upgrade/0.9.17/02_requests_hidden.sql [new file with mode: 0644]

index d205829..1e56b3d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,7 +12,9 @@ New:
 Bug/Wish:
 
     * Admin:
+        - #770: Keeps hidden validation preferences in the database        -JAC
         - #811: Improve interface to add medal ranks and avoid losing data -ALK
+        - #830: Adds admnistration pages for sub-sectors and functions     -JAC
 
     * Carnet:
         - #831: Don't be notified of birthdays of the previous day         -FRU
index bfb4b27..50a0c94 100644 (file)
@@ -944,6 +944,8 @@ class AdminModule extends PLModule
         $page->assign('categories', $categories = explode(',', str_replace("'", '', substr($a['Type'], 5, -1))));
 
         $hidden = array();
+        $res = XDB::query('SELECT hidden_requests FROM requests_hidden WHERE user_id = {?}', S::v('uid'));
+        $hide_requests = $res->fetchOneCell();
         if (Post::has('hide')) {
             $hide = array();
             foreach ($categories as $cat)
@@ -951,9 +953,11 @@ class AdminModule extends PLModule
                     $hidden[$cat] = 1;
                     $hide[] = $cat;
                 }
-            setcookie('hide_requests', join(',',$hide), time()+(count($hide)?25920000:(-3600)), '/', '', 0);
-        } elseif (Env::has('hide_requests'))  {
-            foreach (explode(',',Env::v('hide_requests')) as $hide_type)
+            $hide_requests = join(',', $hide);
+            XDB::query('REPLACE INTO requests_hidden (user_id, hidden_requests) VALUES({?}, {?})',
+                       S::v('uid'), $hide_requests);
+        } elseif ($hide_requests)  {
+            foreach (explode(',', $hide_requests) as $hide_type)
                 $hidden[$hide_type] = true;
         }
         $page->assign('hide_requests', $hidden);
diff --git a/upgrade/0.9.17/02_requests_hidden.sql b/upgrade/0.9.17/02_requests_hidden.sql
new file mode 100644 (file)
index 0000000..ba7ade2
--- /dev/null
@@ -0,0 +1,7 @@
+CREATE TABLE requests_hidden (
+  user_id SMALLINT UNSIGNED NOT NULL,
+  hidden_requests TEXT NOT NULL,
+  PRIMARY KEY(user_id)
+) CHARSET=utf8;
+
+# vim:set syntax=mysql: