Example #1
0
 public function getIpNotifications()
 {
     $systemInfo = Model::getIpNotifications();
     if (isset($_REQUEST['afterLogin'])) {
         // Request after login.
         if ($systemInfo == '') {
             $_SESSION['ipSystem']['show_system_message'] = false;
             // Don't display system alert at the top.
             return null;
         } else {
             $md5 = \Ip\ServiceLocator::storage()->get('Ip', 'lastSystemMessageShown');
             if ($systemInfo && (!$md5 || $md5 != md5(serialize($systemInfo)))) {
                 // We have a new message.
                 $newMessage = false;
                 foreach (json_decode($systemInfo) as $infoValue) {
                     if ($infoValue->type != 'status') {
                         $newMessage = true;
                     }
                 }
                 $_SESSION['ipSystem']['show_system_message'] = $newMessage;
                 // Display system alert.
             } else {
                 // This message was already seen.
                 $_SESSION['ipSystem']['show_system_message'] = false;
                 // Don't display system alert at the top.
                 return null;
             }
         }
     } else {
         // administrator/system tab.
         \Ip\ServiceLocator::storage()->set('Ip', 'lastSystemMessageShown', md5(serialize($systemInfo)));
         $_SESSION['ipSystem']['show_system_message'] = false;
         // Don't display system alert at the top.
     }
     return new \Ip\Response\Json($systemInfo);
 }