/** * Get the current store * * @return Mage_Core_Model_Store */ public function getStore() { if (self::$_store === false) { return Mage::app()->getStore(); } self::$_store = Mage::app()->getStore(); if (Mage::app()->getStore()->getCode() === 'admin') { $storeValue = Mage::app()->getRequest()->getParam('store', false); $store = Mage::getModel('core/store')->load($storeValue, (int) $storeValue > 0 ? null : 'code'); if ($store->getId()) { self::$_store = $store; } else { self::$_store = $this->getDefaultStore(Mage::app()->getRequest()->getParam('website', null)); } } return self::$_store; }
/** * Initialise the taxonomy data * * @return $this */ protected function _initTaxonomies() { if (!is_null(self::$_taxonomies)) { return $this; } self::$_taxonomies = false; $transportObject = new Varien_Object(array('taxonomies' => false)); Mage::dispatchEvent('wordpress_app_init_taxonomies', array('transport' => $transportObject)); if ($transportObject->getTaxonomies()) { self::$_taxonomies = $transportObject->getTaxonomies(); } else { $blogPrefix = Mage::helper('wordpress')->isWordPressMU() && Mage::helper('wp_addon_multisite')->canRun() && Mage::helper('wp_addon_multisite')->isDefaultBlog(); $bases = array('category' => Mage::helper('wordpress')->getWpOption('category_base'), 'post_tag' => Mage::helper('wordpress')->getWpOption('tag_base')); foreach ($bases as $baseType => $base) { if ($blogPrefix && $base && strpos($base, '/blog') === 0) { $bases[$baseType] = substr($base, strlen('/blog')); } } self::$_taxonomies = array('category' => Mage::getModel('wordpress/term_taxonomy')->setData(array('type' => 'category', 'taxonomy_type' => 'category', 'labels' => array('name' => 'Categories', 'singular_name' => 'Category'), 'public' => true, 'hierarchical' => true, 'rewrite' => array('hierarchical' => true, 'slug' => $bases['category']), '_builtin' => true)), 'post_tag' => Mage::getModel('wordpress/term_taxonomy')->setData(array('type' => 'post_tag', 'taxonomy_type' => 'post_tag', 'labels' => array('name' => 'Tags', 'singular_name' => 'Tag'), 'public' => true, 'hierarchical' => false, 'rewrite' => array('slug' => $bases['post_tag']), '_builtin' => true))); } if (isset(self::$_taxonomies['category'])) { $helper = Mage::helper('wordpress'); $canRemoveCategoryPrefix = $helper->isPluginEnabled('wp-no-category-base/no-category-base.php') || $helper->isPluginEnabled('wp-remove-category-base/wp-remove-category-base.php') || $helper->isPluginEnabled('remove-category-url/remove-category-url.php') || Mage::helper('wp_addon_wordpressseo')->canRemoveCategoryBase(); if ($canRemoveCategoryPrefix) { self::$_taxonomies['category']->setSlug(''); } } return $this; }