landing-klikaset/wp-content/plugins/unlimited-elements-for-elem.../provider/admin_notices/manager.class.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];
}
}