Prevents notice when no menu on xnet.
[platal.git] / modules / carnet.php
index 7479b3c..1d065af 100644 (file)
@@ -64,7 +64,7 @@ class CarnetModule extends PLModule
                              SET  last = FROM_UNIXTIME({?})
                            WHERE  uid = {?}',
                          Get::i('read'), S::i('uid'));
-            S::set('watch_last', Get::i('read'));
+            S::user()->invalidWatchCache();
             Platal::session()->updateNbNotifs();
             pl_redirect('carnet/panel');
         }
@@ -131,6 +131,8 @@ class CarnetModule extends PLModule
         }
         XDB::execute('INSERT IGNORE INTO  watch_promo (uid, promo)
                                   VALUES  ' . implode(', ', $to_add));
+        S::user()->invalidWatchCache();
+        Platal::session()->updateNbNotifs();
     }
 
     private function delPromo(PlPage &$page, $promo)
@@ -146,12 +148,16 @@ class CarnetModule extends PLModule
         XDB::execute('DELETE FROM  watch_promo
                             WHERE  ' . XDB::format('uid = {?}', S::i('uid')) . '
                                    AND promo IN (' . implode(', ', $to_delete) . ')');
+        S::user()->invalidWatchCache();
+        Platal::session()->updateNbNotifs();
     }
 
     public function addNonRegistered(PlPage &$page, PlUser &$user)
     {
         XDB::execute('INSERT IGNORE INTO  watch_nonins (uid, ni_id)
                                   VALUES  ({?}, {?})', S::i('uid'), $user->id());
+        S::user()->invalidWatchCache();
+        Platal::session()->updateNbNotifs();
     }
 
     public function delNonRegistered(PlPage &$page, PlUser &$user)
@@ -159,6 +165,8 @@ class CarnetModule extends PLModule
         XDB::execute('DELETE FROM  watch_nonins
                             WHERE  uid = {?} AND ni_id = {?}',
                     S::i('uid'), $user->id());
+        S::user()->invalidWatchCache();
+        Platal::session()->updateNbNotifs();
     }
 
     public function handler_notifs(&$page, $action = null, $arg = null)
@@ -201,6 +209,8 @@ class CarnetModule extends PLModule
             XDB::execute('UPDATE  watch
                              SET  actions = {?}
                            WHERE  uid = {?}', $flags, S::i('uid'));
+            S::user()->invalidWatchCache();
+            Platal::session()->updateNbNotifs();
         }
 
         if (Env::has('flags_contacts')) {
@@ -208,6 +218,8 @@ class CarnetModule extends PLModule
             XDB::execute('UPDATE  watch
                              SET  ' . XDB::changeFlag('flags', 'contacts', Env::b('contacts')) . '
                            WHERE  uid = {?}', S::i('uid'));
+            S::user()->invalidWatchCache();
+            Platal::session()->updateNbNotifs();
         }
 
         if (Env::has('flags_mail')) {
@@ -215,6 +227,8 @@ class CarnetModule extends PLModule
             XDB::execute('UPDATE  watch
                              SET  ' . XDB::changeFlag('flags', 'mail', Env::b('mail')) . '
                            WHERE  uid = {?}', S::i('uid'));
+            S::user()->invalidWatchCache();
+            Platal::session()->updateNbNotifs();
         }
 
         $user = S::user();
@@ -266,18 +280,22 @@ class CarnetModule extends PLModule
         }
         switch (Env::v('action')) {
             case 'retirer':
-                if (($user = User::get(Env::v('user')))) {
+                if (($contact = User::get(Env::v('user')))) {
                     if (XDB::execute("DELETE FROM  contacts
-                                            WHERE  uid = {?} AND contact = {?}", $uid, $user->id())) {
+                                            WHERE  uid = {?} AND contact = {?}",
+                                     $uid, $contact->id())) {
+                        Platal::session()->updateNbNotifs();
                         $page->trigSuccess("Contact retiré !");
                     }
                 }
                 break;
 
             case 'ajouter':
-                if (($user = User::get(Env::v('user')))) {
+                if (($contact = User::get(Env::v('user')))) {
                     if (XDB::execute("REPLACE INTO  contacts (uid, contact)
-                                            VALUES  ({?}, {?})", $uid, $user->id())) {
+                                            VALUES  ({?}, {?})",
+                                     $uid, $contact->id())) {
+                        Platal::session()->updateNbNotifs();
                         $page->trigSuccess('Contact ajouté !');
                     } else {
                         $page->trigWarning('Contact déjà dans la liste !');