*/ class Mage_AdminNotification_Model_Inbox extends Mage_Core_Model_Abstract { const SEVERITY_CRITICAL = 1; const SEVERITY_MAJOR = 2; const SEVERITY_MINOR = 3; const SEVERITY_NOTICE = 4; protected function _construct() { $this->_init('adminnotification/inbox'); } /** * Retrieve Severity collection array * * @return array|string */ public function getSeverities($severity = null) { $severities = array( self::SEVERITY_CRITICAL => Mage::helper('adminnotification')->__('critical'), self::SEVERITY_MAJOR => Mage::helper('adminnotification')->__('major'), self::SEVERITY_MINOR => Mage::helper('adminnotification')->__('minor'), self::SEVERITY_NOTICE => Mage::helper('adminnotification')->__('notice'), ); if (!is_null($severity)) { if (isset($severities[$severity])) { return $severities[$severity]; } return null; } return $severities; } /** * Retrieve Latest Notice * * @return Mage_AdminNotification_Model_Inbox */ public function loadLatestNotice() { $this->setData(array()); $this->getResource()->loadLatestNotice($this); return $this; } /** * Retrieve notice statuses * * @return array */ public function getNoticeStatus() { return $this->getResource()->getNoticeStatus($this); } /** * Parse and save new data * * @param array $data * @return Mage_AdminNotification_Model_Inbox */ public function parse(array $data) { return $this->getResource()->parse($this, $data); } /** * Add new message * * @param int $severity * @param string $title * @param string|array $description * @param string $url * @param bool $isInternal * @return Mage_AdminNotification_Model_Inbox */ public function add($severity, $title, $description, $url = '', $isInternal = true) { if (!$this->getSeverities($severity)) { Mage::throwException($this->__('Wrong message type')); } if (is_array($description)) { $description = '