/** * Retrieve all of the available extensions * * @return array */ protected function _getAllExtensions() { if (!is_null(self::$_extensions)) { return self::$_extensions; } $installedModules = array_keys((array) $this->_getConfig()->getNode('modules')); $config = (array) $this->_getConfig()->getNode('fishpig/extend')->asArray(); self::$_extensions = array(); foreach ($config as $code => $extension) { $extension['module'] = $code; $reqMultistore = isset($extension['require_multistore']) ? (int) $extension['require_multistore'] : null; if (!isset($_SERVER['IS_FISHPIG']) && in_array($code, $installedModules)) { continue; } else { if (!is_null($reqMultistore) && $reqMultistore === (int) Mage::app()->isSingleStoreMode()) { continue; } else { if (isset($extension['depends'])) { $depends = array_keys((array) $extension['depends']); if (count(array_diff($depends, $installedModules)) > 0) { continue; } } } } self::$_extensions[$code] = (array) $extension; } if (count(self::$_extensions) === 0) { self::$_extensions = false; } return self::$_extensions; }
/** * Get a list of extensions for Extend * * @param int $count = 0 * @param array $pref = array * @param bool $rand = false * @return array */ public function getExtensions($count = 0, array $pref = array(), $rand = false) { return parent::getExtensions($count, $pref, true); }