コード例 #1
0
 /**
  * Called once at that the beginning of the export.  Used this to perform any
  * actions required (e.g. loading categories) to set up the process.
  *
  * @param Mage_Core_Model_Store $oStore The store context in which this export occurs
  * @param Mage_Core_Model_Config_Element $oConfig The field mapping for this feed
  * @return Aligent_Feeds_Model_Googleshopping_Formatter $this
  */
 public function init(Mage_Core_Model_Store $oStore, Mage_Core_Model_Config_Element $oConfig)
 {
     $this->_oConfig = $oConfig;
     $this->_oStore = $oStore;
     $this->_vBaseUrl = $oStore->getBaseUrl();
     $this->_vMediaBaseUrl = $oStore->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);
     $this->_vProductMediaBaseUrl = $this->_vMediaBaseUrl . 'catalog/product';
     return $this;
 }
コード例 #2
0
ファイル: StoreTest.php プロジェクト: relue/magento2
 public function testGetBaseUrlInPub()
 {
     $this->_model->load('default');
     $_SERVER['SCRIPT_FILENAME'] = 'test/pub/index.php';
     $this->assertEquals('http://localhost/js/', $this->_model->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS));
     $this->assertEquals('http://localhost/media/', $this->_model->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA));
 }
コード例 #3
0
ファイル: Store.php プロジェクト: jcrabill/magento-fc
 public function getBaseUrl($type = self::URL_TYPE_LINK, $secure = null)
 {
     $store_code = $this->getCode();
     $url = parent::getBaseUrl($type, $secure);
     if ($dev_host = @$_SERVER['SERVER_NAME']) {
         $host = parse_url($url, PHP_URL_HOST);
         $url = str_replace('://' . $host . '/', '://' . $dev_host . '/', $url);
     }
     return $url;
 }
コード例 #4
0
ファイル: StoreTest.php プロジェクト: rorteg/magento2
 /**
  * Isolation is enabled, as we pollute config with rewrite values
  *
  * @param string $type
  * @param bool $useCustomEntryPoint
  * @param bool $useStoreCode
  * @param string $expected
  * @dataProvider getBaseUrlForCustomEntryPointDataProvider
  * @magentoAppIsolation enabled
  */
 public function testGetBaseUrlForCustomEntryPoint($type, $useCustomEntryPoint, $useStoreCode, $expected)
 {
     /* config operations require store to be loaded */
     $this->_model->load('default');
     $this->_model->setConfig(Mage_Core_Model_Store::XML_PATH_USE_REWRITES, false);
     $this->_model->setConfig(Mage_Core_Model_Store::XML_PATH_STORE_IN_URL, $useStoreCode);
     // emulate custom entry point
     $_SERVER['SCRIPT_FILENAME'] = 'custom_entry.php';
     if ($useCustomEntryPoint) {
         Mage::register('custom_entry_point', true);
     }
     $actual = $this->_model->getBaseUrl($type);
     $this->assertEquals($expected, $actual);
 }
コード例 #5
0
ファイル: Api.php プロジェクト: shebin512/Magento_Zoff
 /**
  * Create a Klevu Webstore using the API for the given Magento store.
  *
  * @param                       $customer_id
  * @param Mage_Core_Model_Store $store
  * @param bool                  $test_mode
  *
  * @return array An array with the following keys:
  *                 success: boolean value indicating whether the operation was successful.
  *                 webstore: (success only) Varien_Object containing Webstore information.
  *                 message: message to be displayed to the user.
  */
 public function createWebstore($customer_id, Mage_Core_Model_Store $store, $test_mode = false)
 {
     $name = sprintf("%s - %s - %s", $store->getWebsite()->getName(), $store->getName(), $store->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB));
     $language = Mage::helper("klevu_search")->getStoreLanguage($store);
     $timezone = $store->getConfig(Mage_Core_Model_Locale::XML_PATH_DEFAULT_TIMEZONE);
     // Convert $test_mode to string
     $test_mode = $test_mode ? "true" : "false";
     $response = Mage::getModel("klevu_search/api_action_addwebstore")->execute(array("customerId" => $customer_id, "storeName" => $name, "language" => $language, "timezone" => $timezone, "testMode" => $test_mode));
     if ($response->isSuccessful()) {
         $webstore = new Varien_Object(array("store_name" => $name, "js_api_key" => $response->getJsApiKey(), "rest_api_key" => $response->getRestApiKey(), "test_account_enabled" => $test_mode));
         return array("success" => true, "webstore" => $webstore, "message" => $response->getMessage());
     } else {
         return array("success" => false, "message" => $response->getMessage());
     }
 }
コード例 #6
0
 public function getBaseUrl($type = self::URL_TYPE_LINK, $secure = null)
 {
     $store_code = $this->getCode();
     $url = parent::getBaseUrl($type, $secure);
     $local_host = Mage::getConfig()->getNode('global/dev_url/url');
     if ($local_host === false) {
         // no override in app/etc/local.xml
         return $url;
     }
     $db_host = parse_url($url, PHP_URL_HOST);
     $local_url = parse_url((string) $local_host);
     $new_host = $local_url['host'] . (isset($local_url['port']) ? ':' . $local_url['port'] : '');
     $url = str_replace('://' . $db_host . '/', '://' . $new_host . '/', $url);
     return $url;
 }
コード例 #7
0
ファイル: Api.php プロジェクト: mSupply/runnable_test_repo
 /**
  * Create a Klevu Webstore using the API for the given Magento store.
  *
  * @param                       $customer_id
  * @param Mage_Core_Model_Store $store
  * @param bool                  $test_mode
  *
  * @return array An array with the following keys:
  *                 success: boolean value indicating whether the operation was successful.
  *                 webstore: (success only) Varien_Object containing Webstore information.
  *                 message: message to be displayed to the user.
  */
 public function createWebstore($customer_id, Mage_Core_Model_Store $store, $test_mode = false)
 {
     $name = sprintf("%s - %s - %s - %s", $store->getWebsite()->getName(), $store->getCode(), $store->getName(), $store->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB));
     $language = Mage::helper("klevu_search")->getStoreLanguage($store);
     $timezone = $store->getConfig(Mage_Core_Model_Locale::XML_PATH_DEFAULT_TIMEZONE);
     $country = $store->getConfig(Mage_Core_Helper_Data::XML_PATH_DEFAULT_COUNTRY);
     $locale = $store->getConfig(Mage_Core_Model_Locale::XML_PATH_DEFAULT_LOCALE);
     $version = $this->getVersion();
     // Convert $test_mode to string
     $test_mode = $test_mode ? "true" : "false";
     $response = Mage::getModel("klevu_search/api_action_addwebstore")->execute(array("customerId" => $customer_id, "storeName" => $name, "language" => $language, "timezone" => $timezone, "version" => $version, "country" => $country, "locale" => $locale, "testMode" => $test_mode));
     if ($response->isSuccessful()) {
         $webstore = new Varien_Object(array("store_name" => $name, "js_api_key" => $response->getJsApiKey(), "rest_api_key" => $response->getRestApiKey(), "test_account_enabled" => $test_mode, "hosted_on" => $response->getHostedOn(), "cloud_search_url" => $response->getCloudSearchUrl(), "analytics_url" => $response->getAnalyticsUrl(), "js_url" => $response->getJsUrl(), "rest_hostname" => $response->getRestUrl()));
         return array("success" => true, "webstore" => $webstore, "message" => $response->getMessage());
     } else {
         return array("success" => false, "message" => $response->getMessage());
     }
 }
コード例 #8
0
 public function getBaseUrl($type = self::URL_TYPE_LINK, $secure = null)
 {
     $cacheKey = $type . '/' . (is_null($secure) ? 'null' : ($secure ? 'true' : 'false'));
     if (!isset($this->_baseUrlCache[$cacheKey])) {
         if ($this->getConfig('cloudfront/general/active') && $this->getConfig('cloudfront/general/deployed') && !$this->isAdmin() && Mage::getDesign()->getArea() != 'adminhtml') {
             $secure = is_null($secure) ? $this->isCurrentlySecure() : (bool) $secure;
             if ($type == self::URL_TYPE_SKIN && $this->getConfig('cloudfront/skin/skin')) {
                 if ($secure) {
                     $url = $this->getConfig('cloudfront/secure/base_skin_url');
                 } else {
                     $url = $this->getConfig('cloudfront/unsecure/base_skin_url');
                 }
             } elseif ($type == self::URL_TYPE_JS && $this->getConfig('cloudfront/js/js')) {
                 if ($secure) {
                     $url = $this->getConfig('cloudfront/secure/base_js_url');
                 } else {
                     $url = $this->getConfig('cloudfront/unsecure/base_js_url');
                 }
             } elseif ($type == self::URL_TYPE_MEDIA && $this->getConfig('cloudfront/media/media')) {
                 if ($secure) {
                     $url = $this->getConfig('cloudfront/secure/base_media_url');
                 } else {
                     $url = $this->getConfig('cloudfront/unsecure/base_media_url');
                 }
             } else {
                 return parent::getBaseUrl($type, $secure);
             }
             if (false !== strpos($url, '{{base_url}}')) {
                 $baseUrl = Mage::getConfig()->substDistroServerVars('{{base_url}}');
                 $url = str_replace('{{base_url}}', $baseUrl, $url);
             }
             $this->_baseUrlCache[$cacheKey] = rtrim($url, '/') . '/';
         } else {
             return parent::getBaseUrl($type, $secure);
         }
     }
     return $this->_baseUrlCache[$cacheKey];
 }
コード例 #9
0
 /**
  * Loads the meta data for the given store.
  *
  * @param Mage_Core_Model_Store $store the store view to load the data for.
  */
 public function loadData(Mage_Core_Model_Store $store)
 {
     /* @var Nosto_Tagging_Helper_Data $helper */
     $helper = Mage::helper('nosto_tagging');
     $this->_title = $helper->cleanUpAccountTitle($store->getWebsite()->getName() . ' - ' . $store->getGroup()->getName() . ' - ' . $store->getName());
     $this->_name = substr(sha1(rand()), 0, 8);
     if (!$helper->getUsePrettyProductUrls()) {
         $this->_frontPageUrl = NostoHttpRequest::replaceQueryParamInUrl('___store', $store->getCode(), $store->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB));
     } else {
         $this->_frontPageUrl = $store->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
     }
     $this->_currencyCode = $store->getBaseCurrencyCode();
     $this->_languageCode = substr($store->getConfig('general/locale/code'), 0, 2);
     $this->_ownerLanguageCode = substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2);
     /** @var Nosto_Tagging_Model_Meta_Account_Owner $owner */
     $owner = Mage::getModel('nosto_tagging/meta_account_owner');
     $owner->loadData();
     $this->_owner = $owner;
     /** @var Nosto_Tagging_Model_Meta_Account_Billing $billing */
     $billing = Mage::getModel('nosto_tagging/meta_account_billing');
     $billing->loadData($store);
     $this->_billing = $billing;
     $this->_useCurrencyExchangeRates = !$helper->multiCurrencyDisabled($store);
     if (!$helper->multiCurrencyDisabled($store)) {
         $this->_defaultPriceVariationId = $store->getBaseCurrencyCode();
     } else {
         $this->_defaultPriceVariationId = "";
     }
     $storeLocale = $store->getConfig('general/locale/code');
     $currencyCodes = $store->getAvailableCurrencyCodes(true);
     if (is_array($currencyCodes) && count($currencyCodes) > 0) {
         /** @var Nosto_Tagging_Helper_Currency $currencyHelper */
         $currencyHelper = Mage::helper('nosto_tagging/currency');
         foreach ($currencyCodes as $currencyCode) {
             $this->_currencies[$currencyCode] = $currencyHelper->getCurrencyObject($storeLocale, $currencyCode);
         }
     }
 }
コード例 #10
0
 /**
  * Transform a given store into a new base url.
  *
  * @param \Mage_Core_Model_Store $store
  * @param bool $secure
  * @return string
  * @throws \InvalidArgumentException when $secure is not a boolean
  */
 public function transformBaseUrl(\Mage_Core_Model_Store $store, $secure = false)
 {
     if (!is_bool($secure)) {
         throw new \InvalidArgumentException('Invalid value for $secure supplied. Expected a boolean. Got: ' . gettype($secure));
     }
     $currentUrl = $store->getBaseUrl($store::URL_TYPE_LINK, $secure);
     $path = parse_url($currentUrl, PHP_URL_PATH);
     // The executable somehow ends up in the admin store URL.
     if ($store->isAdmin()) {
         // Let's strip it out.
         $path = preg_replace(sprintf('/^\\/%s/', preg_quote($this->getPharName())), '', $path);
     }
     $scheme = parse_url($currentUrl, PHP_URL_SCHEME);
     $domain = $this->createDomain($store);
     return "{$scheme}://{$domain}{$path}";
 }
コード例 #11
0
ファイル: Account.php プロジェクト: buttasg/cowgirlk
 /**
  * Loads the meta data for the given store.
  *
  * @param Mage_Core_Model_Store $store the store view to load the data for.
  */
 public function loadData(Mage_Core_Model_Store $store)
 {
     $this->_title = $store->getWebsite()->getName() . ' - ' . $store->getGroup()->getName() . ' - ' . $store->getName();
     $this->_name = substr(sha1(rand()), 0, 8);
     $this->_frontPageUrl = NostoHttpRequest::replaceQueryParamInUrl('___store', $store->getCode(), $store->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB));
     $this->_currencyCode = $store->getBaseCurrencyCode();
     $this->_languageCode = substr($store->getConfig('general/locale/code'), 0, 2);
     $this->_ownerLanguageCode = substr(Mage::app()->getLocale()->getLocaleCode(), 0, 2);
     /** @var Nosto_Tagging_Model_Meta_Account_Owner $owner */
     $owner = Mage::getModel('nosto_tagging/meta_account_owner');
     $owner->loadData($store);
     $this->_owner = $owner;
     /** @var Nosto_Tagging_Model_Meta_Account_Billing $billing */
     $billing = Mage::getModel('nosto_tagging/meta_account_billing');
     $billing->loadData($store);
     $this->_billing = $billing;
 }
コード例 #12
0
ファイル: Url.php プロジェクト: nosto/nosto-magento-extension
 /**
  * Returns the front page url configured for a store
  *
  * @param Mage_Core_Model_Store $store
  * @return string
  */
 public function getFrontPageUrlForStore(Mage_Core_Model_Store $store)
 {
     return $store->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
 }