0byt3m1n1
Path:
/
data
/
applications
/
aps
/
magento
/
1.1.3-2
/
standard
/
htdocs
/
app
/
code
/
core
/
Mage
/
Shipping
/
Model
/
[
Home
]
File: Config.php
<?php /** * Magento * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/osl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@magentocommerce.com so we can send you a copy immediately. * * @category Mage * @package Mage_Shipping * @copyright Copyright (c) 2008 Irubin Consulting Inc. DBA Varien (http://www.varien.com) * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) */ class Mage_Shipping_Model_Config extends Varien_Object { protected static $_carriers; /** * Retrieve active system carriers * * @param mixed $store * @return array */ public function getActiveCarriers($store=null) { $carriers = array(); $config = Mage::getStoreConfig('carriers', $store); foreach ($config as $code => $carrierConfig) { if (Mage::getStoreConfigFlag('carriers/'.$code.'/active', $store)) { $carriers[$code] = $this->_getCarrier($code, $carrierConfig); } } return $carriers; } /** * Retrieve all system carriers * * @param mixed $store * @return array */ public function getAllCarriers($store=null) { $carriers = array(); $config = Mage::getStoreConfig('carriers', $store); foreach ($config as $code => $carrierConfig) { $carriers[$code] = $this->_getCarrier($code, $carrierConfig); } return $carriers; } /** * Retrieve carrier model instance by carrier code * * @param string $carrierCode * @param mixed $store * @return Mage_Usa_Model_Shipping_Carrier_Abstract */ public function getCarrierInstance($carrierCode, $store=null) { $carrierConfig = Mage::getStoreConfig('carriers/'.$carrierCode, $store); if (!empty($carrierConfig)) { return $this->_getCarrier($carrierCode, $carrierConfig, $store); } return false; } protected function _getCarrier($code, $config, $store=null) { /* if (isset(self::$_carriers[$code])) { return self::$_carriers[$code]; } */ if (!isset($config['model'])) { throw Mage::exception('Mage_Shipping', 'Invalid model for shipping method: '.$code); } $modelName = $config['model']; $carrier = Mage::getModel($modelName); $carrier->setId($code)->setStore($store); self::$_carriers[$code] = $carrier; return self::$_carriers[$code]; } }