芝麻web文件管理V1.00
编辑当前文件:/home2/sdektunc/public_html/cepali/lib/horde/framework/Horde/Imap/Client/Base/Alerts.php
* @category Horde * @copyright 2014-2017 Horde LLC * @license http://www.horde.org/licenses/lgpl21 LGPL 2.1 * @package Imap_Client * @since 2.24.0 */ class Horde_Imap_Client_Base_Alerts implements SplSubject { /** * Alert data. * * @var object */ protected $_alert; /** * Observers. * * @var array */ protected $_observers = array(); /** * Add an alert. * * @param string $alert The alert string. * @param string $type The alert type. */ public function add($alert, $type = null) { $this->_alert = new stdClass; $this->_alert->alert = $alert; if (!is_null($type)) { $this->_alert->type = $type; } $this->notify(); } /** * Returns the last alert received. * * @return object Alert information. Object with these properties: *
* - alert: (string) Alert string. * - type: (string) [OPTIONAL] Alert type. *
*/ public function getLast() { return $this->_alert; } /* SplSubject methods. */ /** */ public function attach(SplObserver $observer) { $this->detach($observer); $this->_observers[] = $observer; } /** */ public function detach(SplObserver $observer) { if (($key = array_search($observer, $this->_observers, true)) !== false) { unset($this->_observers[$key]); } } /** * Notification is triggered internally whenever the object's internal * data storage is altered. */ public function notify() { foreach ($this->_observers as $val) { $val->update($this); } } }