00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 class Mage_Adminhtml_Model_System_Config_Source_Shipping_Allmethods
00028 {
00029
00030
00031
00032
00033
00034
00035
00036 public function toOptionArray($isActiveOnlyFlag=false)
00037 {
00038 $methods = array(array('value'=>'', 'label'=>''));
00039 $carriers = Mage::getSingleton('shipping/config')->getAllCarriers();
00040 foreach ($carriers as $carrierCode=>$carrierModel) {
00041 if (!$carrierModel->isActive() && (bool)$isActiveOnlyFlag === true) {
00042 continue;
00043 }
00044 $carrierMethods = $carrierModel->getAllowedMethods();
00045 if (!$carrierMethods) {
00046 continue;
00047 }
00048 $carrierTitle = Mage::getStoreConfig('carriers/'.$carrierCode.'/title');
00049 $methods[$carrierCode] = array(
00050 'label' => $carrierTitle,
00051 'value' => array(),
00052 );
00053 foreach ($carrierMethods as $methodCode=>$methodTitle) {
00054 $methods[$carrierCode]['value'][] = array(
00055 'value' => $carrierCode.'_'.$methodCode,
00056 'label' => '['.$carrierCode.'] '.$methodTitle,
00057 );
00058 }
00059 }
00060
00061 return $methods;
00062 }
00063 }