70 lines
1.2 KiB
PHP
70 lines
1.2 KiB
PHP
|
<?php
|
||
|
|
||
|
/**
|
||
|
* @package Unlimited Elements
|
||
|
* @author UniteCMS http://unitecms.net
|
||
|
* @copyright Copyright (c) 2016 UniteCMS
|
||
|
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
|
||
|
*/
|
||
|
|
||
|
defined('UNLIMITED_ELEMENTS_INC') or die('Restricted access');
|
||
|
|
||
|
class UCAdminNoticesManager{
|
||
|
|
||
|
private static $notices = array();
|
||
|
|
||
|
/**
|
||
|
* get all notices
|
||
|
*/
|
||
|
public static function getNotices(){
|
||
|
|
||
|
return self::$notices;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* add a notice instance
|
||
|
*/
|
||
|
public static function addNotice($notice){
|
||
|
|
||
|
self::$notices[$notice->getId()] = $notice;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* mark the notice as dismissed
|
||
|
*/
|
||
|
public static function dismissNotice($id){
|
||
|
|
||
|
$notice = self::getNotice($id);
|
||
|
|
||
|
if($notice === null)
|
||
|
return;
|
||
|
|
||
|
$notice->dismiss();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* postpone the notice for the given duration (in hours)
|
||
|
*/
|
||
|
public static function postponeNotice($id, $duration){
|
||
|
|
||
|
$notice = self::getNotice($id);
|
||
|
|
||
|
if($notice === null)
|
||
|
return;
|
||
|
|
||
|
$notice->postpone($duration);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* get the notice by identifier
|
||
|
*/
|
||
|
private static function getNotice($id){
|
||
|
|
||
|
if(empty(self::$notices[$id]))
|
||
|
return null;
|
||
|
|
||
|
return self::$notices[$id];
|
||
|
}
|
||
|
|
||
|
}
|