Overview

Packages

  • currencysymbol
  • MAbout
  • Mage
    • Admin
    • Adminhtml
    • AdminNotification
    • Api
    • Api2
    • Authorizenet
    • Backup
    • Bundle
    • Captcha
    • Catalog
    • CatalogIndex
    • CatalogInventory
    • CatalogRule
    • CatalogSearch
    • Centinel
    • Checkout
    • Cms
    • Compiler
    • Connect
    • Contacts
    • Core
    • Cron
    • CurrencySymbol
    • Customer
    • Dataflow
    • Directory
    • DirtectPost
    • Downloadable
    • Eav
    • GiftMessage
    • GoogleAnalytics
    • GoogleBase
    • GoogleCheckout
    • ImportExport
    • Index
    • Install
    • Log
    • Media
    • Newsletter
    • Oauth
    • Page
    • PageCache
    • Paygate
    • Payment
    • Paypal
    • PaypalUk
    • Persistent
    • Poll
    • ProductAlert
    • Rating
    • Reports
    • Review
    • Rss
    • Rule
    • Sales
    • SalesRule
    • Sedfriend
    • Sendfriend
    • Shipping
    • Sitemap
    • Tag
    • Tax
    • Usa
    • Weee
    • Widget
    • Wishlist
    • XmlConnect
  • None
  • Phoenix
    • Moneybookers
  • PHP
  • Zend
    • Date
    • Mime
    • XmlRpc

Classes

  • Mage_Adminhtml_Cms_PageController
  • Mage_Adminhtml_Model_System_Config_Source_Cms_Wysiwyg_Enabled
  • Mage_Cms_Block_Block
  • Mage_Cms_Block_Page
  • Mage_Cms_Block_Widget_Block
  • Mage_Cms_Block_Widget_Page_Link
  • Mage_Cms_Controller_Router
  • Mage_Cms_Helper_Data
  • Mage_Cms_Helper_Page
  • Mage_Cms_Helper_Wysiwyg_Images
  • Mage_Cms_IndexController
  • Mage_Cms_Model_Block
  • Mage_Cms_Model_Mysql4_Block
  • Mage_Cms_Model_Mysql4_Block_Collection
  • Mage_Cms_Model_Mysql4_Page
  • Mage_Cms_Model_Mysql4_Page_Collection
  • Mage_Cms_Model_Mysql4_Page_Service
  • Mage_Cms_Model_Observer
  • Mage_Cms_Model_Page
  • Mage_Cms_Model_Resource_Block
  • Mage_Cms_Model_Resource_Block_Collection
  • Mage_Cms_Model_Resource_Page
  • Mage_Cms_Model_Resource_Page_Collection
  • Mage_Cms_Model_Resource_Page_Service
  • Mage_Cms_Model_Template_Filter
  • Mage_Cms_Model_Wysiwyg_Config
  • Mage_Cms_Model_Wysiwyg_Images_Storage
  • Mage_Cms_Model_Wysiwyg_Images_Storage_Collection
  • Mage_Cms_PageController
  • Overview
  • Package
  • Class
  • Tree
 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 page service resource model
29:  *
30:  * @author     Magento Core Team <core@magentocommerce.com>
31:  */
32: class Mage_Cms_Model_Resource_Page_Service extends Mage_Core_Model_Resource_Db_Abstract
33: {
34:     /**
35:      * Init cms page service model
36:      *
37:      */
38:     protected function _construct()
39:     {
40:         $this->_init('cms/page', 'page_id');
41:     }
42: 
43:     /**
44:      * Unlinks from $fromStoreId store pages that have same identifiers as pages in $byStoreId
45:      *
46:      * Routine is intented to be used before linking pages of some store ($byStoreId) to other store ($fromStoreId)
47:      * to prevent duplication of url keys
48:      *
49:      * Resolved $byLinkTable can be provided when restoring links from some backup table
50:      *
51:      * @param int $fromStoreId
52:      * @param int $byStoreId
53:      * @param string $byLinkTable
54:      *
55:      * @return Mage_Cms_Model_Mysql4_Page_Service
56:      */
57:     public function unlinkConflicts($fromStoreId, $byStoreId, $byLinkTable = null)
58:     {
59:         $readAdapter = $this->_getReadAdapter();
60: 
61:         $linkTable = $this->getTable('cms/page_store');
62:         $mainTable = $this->getMainTable();
63:         $byLinkTable = $byLinkTable ? $byLinkTable : $linkTable;
64: 
65:         // Select all page ids of $fromStoreId that have identifiers as some pages in $byStoreId
66:         $select = $readAdapter->select()
67:             ->from(array('from_link' => $linkTable), 'page_id')
68:             ->join(
69:                 array('from_entity' => $mainTable),
70:                 $readAdapter->quoteInto(
71:                     'from_entity.page_id = from_link.page_id AND from_link.store_id = ?',
72:                     $fromStoreId
73:                 ),
74:                 array()
75:             )->join(
76:                 array('by_entity' => $mainTable),
77:                 'from_entity.identifier = by_entity.identifier AND from_entity.page_id != by_entity.page_id',
78:                 array()
79:             )->join(
80:                 array('by_link' => $byLinkTable),
81:                 $readAdapter->quoteInto('by_link.page_id = by_entity.page_id AND by_link.store_id = ?', $byStoreId),
82:                 array()
83:             );
84:         $pageIds = $readAdapter->fetchCol($select);
85: 
86:         // Unlink found pages
87:         if ($pageIds) {
88:             $writeAdapter = $this->_getWriteAdapter();
89:             $where = array(
90:                 'page_id IN (?)'   => $pageIds,
91:                 'AND store_id = ?' => $fromStoreId
92:             );
93:             $writeAdapter->delete($linkTable, $where);
94:         }
95:         return $this;
96:     }
97: }
98: 
Magento 1.7.0.2 API documentation generated by ApiGen 2.8.0