public function addStore($name, $code, $websiteId, $groupId = null) { if (!Mage::helper('M2ePro/Magento_Store_Website')->isExists($websiteId)) { $error = Mage::helper('M2ePro')->__('Website with id %value% does not exists.', $websiteId); throw new Exception($error); } try { $store = Mage::app()->getStore($code, 'code'); $error = Mage::helper('M2ePro')->__('Store with %code% already exists.', $code); throw new Exception($error); } catch (Exception $e) { // M2ePro_TRANSLATIONS // Group with id %group_id% doesn't belongs to website with %site_id%. if ($groupId) { if (!Mage::helper('M2ePro/Magento_Store_Group')->isChildOfWebsite($groupId, $websiteId)) { $error = Mage::helper('M2ePro')->__('Group with id %group_id% doesn\'t belong to' . 'website with %site_id%.', $groupId, $websiteId); throw new Exception($error); } } else { $groupId = Mage::app()->getWebsite($websiteId)->getDefaultGroupId(); } $store = new Mage_Core_Model_Store(); $store->setId(null); $store->setWebsite(Mage::app()->getWebsite($websiteId)); $store->setWebsiteId($websiteId); $store->setGroup(Mage::app()->getGroup($groupId)); $store->setGroupId($groupId); $store->setCode($code); $store->setName($name); $store->save(); Mage::app()->reinitStores(); return $store; } }