1: <?php
2: /**
3: * Magento
4: *
5: * NOTICE OF LICENSE
6: *
7: * This source file is subject to the Open Software License (OSL 3.0)
8: * that is bundled with this package in the file LICENSE.txt.
9: * It is also available through the world-wide-web at this URL:
10: * http://opensource.org/licenses/osl-3.0.php
11: * If you did not receive a copy of the license and are unable to
12: * obtain it through the world-wide-web, please send an email
13: * to license@magentocommerce.com so we can send you a copy immediately.
14: *
15: * DISCLAIMER
16: *
17: * Do not edit or add to this file if you wish to upgrade Magento to newer
18: * versions in the future. If you wish to customize Magento for your
19: * needs please refer to http://www.magentocommerce.com for more information.
20: *
21: * @category Mage
22: * @package Mage_Paypal
23: * @copyright Copyright (c) 2012 Magento Inc. (http://www.magentocommerce.com)
24: * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
25: */
26:
27: class Mage_Paypal_Model_System_Config_Backend_Cron extends Mage_Core_Model_Config_Data
28: {
29: const CRON_STRING_PATH = 'crontab/jobs/paypal_fetch_settlement_reports/schedule/cron_expr';
30: const CRON_MODEL_PATH_INTERVAL = 'paypal/fetch_reports/schedule';
31:
32: /**
33: * Cron settings after save
34: * @return void
35: */
36: protected function _afterSave()
37: {
38: $cronExprString = '';
39: $time = explode(',', Mage::getModel('core/config_data')->load('paypal/fetch_reports/time', 'path')->getValue());
40: if (Mage::getModel('core/config_data')->load('paypal/fetch_reports/active', 'path')->getValue()) {
41: $interval = Mage::getModel('core/config_data')->load(self::CRON_MODEL_PATH_INTERVAL, 'path')->getValue();
42: $cronExprString = "{$time[1]} {$time[0]} */{$interval} * *";
43: }
44:
45: Mage::getModel('core/config_data')
46: ->load(self::CRON_STRING_PATH, 'path')
47: ->setValue($cronExprString)
48: ->setPath(self::CRON_STRING_PATH)
49: ->save();
50:
51: return parent::_afterSave();
52: }
53: }
54: