Mage_Adminhtml_Model_System_Config_Backend_Product_Alert_Cron Class Reference

Inheritance diagram for Mage_Adminhtml_Model_System_Config_Backend_Product_Alert_Cron:

Mage_Core_Model_Config_Data Mage_Core_Model_Abstract Varien_Object

List of all members.

Public Attributes

const CRON_STRING_PATH = 'crontab/jobs/catalog_product_alert/schedule/cron_expr'
const CRON_MODEL_PATH = 'crontab/jobs/catalog_product_alert/run/model'

Protected Member Functions

 _afterSave ()


Detailed Description

Definition at line 35 of file Cron.php.


Member Function Documentation

_afterSave (  )  [protected]

Processing object after save data

Returns:
Mage_Core_Model_Abstract

Reimplemented from Mage_Core_Model_Abstract.

Definition at line 40 of file Cron.php.

00041     {
00042         $priceEnable = $this->getData('groups/productalert/fields/allow_price/value');
00043         $stockEnable = $this->getData('groups/productalert/fields/allow_stock/value');
00044 
00045         $enabled     = $priceEnable || $stockEnable;
00046         $frequncy    = $this->getData('groups/productalert_cron/fields/frequency/value');
00047         $time        = $this->getData('groups/productalert_cron/fields/time/value');
00048 
00049         $errorEmail  = $this->getData('groups/productalert_cron/fields/error_email/value');
00050 
00051         $frequencyDaily     = Mage_Adminhtml_Model_System_Config_Source_Cron_Frequency::CRON_DAILY;
00052         $frequencyWeekly    = Mage_Adminhtml_Model_System_Config_Source_Cron_Frequency::CRON_WEEKLY;
00053         $frequencyMonthly   = Mage_Adminhtml_Model_System_Config_Source_Cron_Frequency::CRON_MONTHLY;
00054         $cronDayOfWeek      = date('N');
00055 
00056         $cronExprArray      = array(
00057             intval($time[1]),                                   # Minute
00058             intval($time[0]),                                   # Hour
00059             ($frequncy == $frequencyMonthly) ? '1' : '*',       # Day of the Month
00060             '*',                                                # Month of the Year
00061             ($frequncy == $frequencyWeekly) ? '1' : '*',         # Day of the Week
00062         );
00063 
00064         $cronExprString     = join(' ', $cronExprArray);
00065 
00066         try {
00067             Mage::getModel('core/config_data')
00068                 ->load(self::CRON_STRING_PATH, 'path')
00069                 ->setValue($cronExprString)
00070                 ->setPath(self::CRON_STRING_PATH)
00071                 ->save();
00072             Mage::getModel('core/config_data')
00073                 ->load(self::CRON_MODEL_PATH, 'path')
00074                 ->setValue((string) Mage::getConfig()->getNode(self::CRON_MODEL_PATH))
00075                 ->setPath(self::CRON_MODEL_PATH)
00076                 ->save();
00077         } catch (Exception $e) {
00078             throw new Exception(Mage::helper('cron')->__('Unable to save Cron expression'));
00079         }
00080     }


Member Data Documentation

const CRON_MODEL_PATH = 'crontab/jobs/catalog_product_alert/run/model'

Definition at line 38 of file Cron.php.

const CRON_STRING_PATH = 'crontab/jobs/catalog_product_alert/schedule/cron_expr'

Definition at line 37 of file Cron.php.


The documentation for this class was generated from the following file:

Generated on Sat Jul 4 17:23:13 2009 for Magento by  doxygen 1.5.8