0byt3m1n1
Path:
/
data
/
applications
/
aps
/
magento
/
1.5.1.0-0
/
standard
/
htdocs
/
app
/
code
/
core
/
Mage
/
Core
/
Model
/
[
Home
]
File: Observer.php
<?php /** * Magento * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/osl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@magentocommerce.com so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade Magento to newer * versions in the future. If you wish to customize Magento for your * needs please refer to http://www.magentocommerce.com for more information. * * @category Mage * @package Mage_Core * @copyright Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com) * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) */ /** * Core Observer model * * @category Mage * @package Mage_Core * @author Magento Core Team <core@magentocommerce.com> */ class Mage_Core_Model_Observer { /** * Check if synchronize process is finished and generate notification message * * @param Varien_Event_Observer $observer * @return Mage_Core_Model_Observer */ public function addSynchronizeNotification(Varien_Event_Observer $observer) { $adminSession = Mage::getSingleton('admin/session'); if (!$adminSession->hasSyncProcessStopWatch()) { $flag = Mage::getSingleton('core/file_storage')->getSyncFlag(); $state = $flag->getState(); if ($state == Mage_Core_Model_File_Storage_Flag::STATE_RUNNING) { $syncProcessStopWatch = true; } else { $syncProcessStopWatch = false; } $adminSession->setSyncProcessStopWatch($syncProcessStopWatch); } $adminSession->setSyncProcessStopWatch(false); if (!$adminSession->getSyncProcessStopWatch()) { if (!isset($flag)) { $flag = Mage::getSingleton('core/file_storage')->getSyncFlag(); } $state = $flag->getState(); if ($state == Mage_Core_Model_File_Storage_Flag::STATE_FINISHED) { $flagData = $flag->getFlagData(); if (isset($flagData['has_errors']) && $flagData['has_errors']) { $severity = Mage_AdminNotification_Model_Inbox::SEVERITY_MAJOR; $title = Mage::helper('adminhtml')->__('An error has occured while syncronizing media storages.'); $description = Mage::helper('adminhtml')->__('One or more media files failed to be synchronized during the media storages syncronization process. Refer to the log file for details.'); } else { $severity = Mage_AdminNotification_Model_Inbox::SEVERITY_NOTICE; $title = Mage::helper('adminhtml')->__('Media storages synchronization has completed!'); $description = Mage::helper('adminhtml')->__('Synchronization of media storages has been successfully completed.'); } $date = date('Y-m-d H:i:s'); Mage::getModel('adminnotification/inbox')->parse(array( array( 'severity' => $severity, 'date_added' => $date, 'title' => $title, 'description' => $description, 'url' => '', 'internal' => true ) )); $flag->setState(Mage_Core_Model_File_Storage_Flag::STATE_NOTIFIED)->save(); } $adminSession->setSyncProcessStopWatch(false); } return $this; } }