Example #1
0
 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;
     }
 }