示例#1
0
 /**
  * Retrieve storage model
  * If storage not defined - retrieve current storage
  *
  * params = array(
  *  connection  => string,  - define connection for model if needed
  *  init        => bool     - force initialization process for storage model
  *  settings    => array    - configuration for storage modules
  * )
  *
  * @param  int|null $storage
  * @param  array $params
  * @return Mage_Core_Model_File_Storage_Abstract | false
  */
 public function getStorageModel($storage = null, $params = array())
 {
     if (is_null($storage)) {
         $storage = Mage::helper('core/file_storage')->getCurrentStorageCode();
     }
     $model = false;
     if ($storage == self::STORAGE_MEDIA_FILE_SYSTEM || $storage == self::STORAGE_MEDIA_DATABASE) {
         return parent::getStorageModel($storage, $params);
     }
     $options = Mage::getConfig()->getNode(self::XML_CONFIG_PATH);
     if (!isset($params['settings'])) {
         $params['settings'] = [];
     }
     $options = Mage::helper('uaudio_storage')->getStorageOptions();
     if (isset($options[$storage])) {
         $model = Mage::getSingleton($options[$storage]['model'], $params['settings']);
     }
     if (!$model) {
         return false;
     }
     if (isset($params['init']) && $params['init']) {
         $model->init();
     }
     return $model;
 }
示例#2
0
 public function getStorageModel($storage = null, $params = [])
 {
     $storageModel = parent::getStorageModel($storage, $params);
     if ($storageModel === false) {
         if (is_null($storage)) {
             $storage = Mage::helper('core/file_storage')->getCurrentStorageCode();
         }
         switch ($storage) {
             case self::STORAGE_MEDIA_S3:
                 /** @var Arkade_S3_Model_Core_File_Storage_S3 $storageModel */
                 $storageModel = Mage::getModel('arkade_s3/core_file_storage_s3');
                 break;
             default:
                 return false;
         }
         if (isset($params['init']) && $params['init']) {
             $storageModel->init();
         }
     }
     return $storageModel;
 }