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_Cms
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: /**
28: * CMS block model
29: *
30: * @method Mage_Cms_Model_Resource_Block _getResource()
31: * @method Mage_Cms_Model_Resource_Block getResource()
32: * @method string getTitle()
33: * @method Mage_Cms_Model_Block setTitle(string $value)
34: * @method string getIdentifier()
35: * @method Mage_Cms_Model_Block setIdentifier(string $value)
36: * @method string getContent()
37: * @method Mage_Cms_Model_Block setContent(string $value)
38: * @method string getCreationTime()
39: * @method Mage_Cms_Model_Block setCreationTime(string $value)
40: * @method string getUpdateTime()
41: * @method Mage_Cms_Model_Block setUpdateTime(string $value)
42: * @method int getIsActive()
43: * @method Mage_Cms_Model_Block setIsActive(int $value)
44: *
45: * @category Mage
46: * @package Mage_Cms
47: * @author Magento Core Team <core@magentocommerce.com>
48: */
49:
50: class Mage_Cms_Model_Block extends Mage_Core_Model_Abstract
51: {
52: const CACHE_TAG = 'cms_block';
53: protected $_cacheTag= 'cms_block';
54:
55: protected function _construct()
56: {
57: $this->_init('cms/block');
58: }
59:
60: /**
61: * Prevent blocks recursion
62: *
63: * @throws Mage_Core_Exception
64: * @return Mage_Core_Model_Abstract
65: */
66: protected function _beforeSave()
67: {
68: $needle = 'block_id="' . $this->getBlockId() . '"';
69: if (false == strstr($this->getContent(), $needle)) {
70: return parent::_beforeSave();
71: }
72: Mage::throwException(
73: Mage::helper('cms')->__('The static block content cannot contain directive with its self.')
74: );
75: }
76: }
77: