public static function disableNotice($id_notice)
 {
     global $user_info;
     if (empty($user_info['id'])) {
         return;
     }
     require_once SUBSDIR . '/DismissibleNotices.class.php';
     $notice = new Dismissible_Notices();
     return $notice->disableNotice($id_notice, $user_info['id']);
 }
 public function action_index()
 {
     global $user_info;
     checkSession('get');
     $id_notice = isset($_GET['idnotice']) ? (int) $_GET['idnotice'] : 0;
     if (!empty($id_notice)) {
         require_once SUBSDIR . '/DismissibleNotices.class.php';
         $notice = new Dismissible_Notices();
         $notice->disableMemberNotice($id_notice, $user_info['id']);
     }
     die;
 }
 public function action_save()
 {
     global $context, $txt;
     require_once SUBSDIR . '/Post.subs.php';
     if (empty($_POST['expire_alt'])) {
         $expire = strtotime($_POST['expire']);
     } else {
         // This is the case date-picker doesn't kick in and the format is still an unix timestamp
         if (is_numeric($_POST['expire_alt'])) {
             $expire = $_POST['expire_alt'];
         } else {
             $expire = strtotime($_POST['expire_alt']);
         }
     }
     $expire = (int) $expire;
     $id = isset($_REQUEST['idnotice']) ? (int) $_REQUEST['idnotice'] : 0;
     $body = isset($_REQUEST['body']) ? Util::htmlspecialchars($_REQUEST['body']) : '';
     $class = isset($_REQUEST['class']) ? Util::htmlspecialchars($_REQUEST['class']) : 'success';
     preparsecode($body);
     $groups = json_encode(array_map('intval', array_keys($_POST['default_groups_list'])));
     $positioning = array('element' => $this->validPositioning(isset($_REQUEST['positioning']) ? $_REQUEST['positioning'] : null), 'element_name' => isset($_REQUEST['element_name']) ? Util::htmlspecialchars($_REQUEST['element_name']) : '', 'position' => isset($_REQUEST['position']) ? (int) $_REQUEST['position'] : 0);
     require_once SUBSDIR . '/DismissibleNotices.class.php';
     $notice = new Dismissible_Notices();
     $new = $notice->save($id, $expire, $body, $class, $groups, $positioning);
     loadTemplate('Json');
     $context['sub_template'] = 'send_json';
     $context['json_data'] = array('id' => $new['id_notice'], 'added' => standardTime($new['added']), 'expire' => Dismissible_Notices_Integrate::formatExpireCol($expire), 'body' => un_htmlspecialchars($body), 'class' => $new['class'], 'groups' => $new['show_to'], 'edit' => '<a data-idnotice="' . $new['id_notice'] . '" class="dismissnotice_editable" href="#">' . $txt['modify'] . '</a>');
 }