public function __construct($name = NULL, array $data = array(), $dataName = '') { $this->mvcConfig = new ezpMvcConfiguration(); // Load rest.ini and forces it to load its data $this->restINI = eZINI::instance('rest.ini'); $this->restINI->load(true); $this->loadDummySettings(); parent::__construct($name, $data, $dataName); }
public function getSettings() { // Copied from settings/view $rootDir = 'settings'; $iniFiles = eZDir::recursiveFindRelative($rootDir, '', '.ini'); // find all .ini files in active extensions // Note: is this the same algorithm used by ezini? mmm... foreach (eZINI::globalOverrideDirs() as $iniDataSet) { $iniPath = $iniDataSet[1] ? $iniDataSet[0] : 'settings/' . $iniDataSet[0]; $iniFiles = array_merge($iniFiles, eZDir::recursiveFindRelative($iniPath, '', '.ini')); $iniFiles = array_merge($iniFiles, eZDir::recursiveFindRelative($iniPath, '', '.ini.append.php')); } // extract all .ini files without path $iniFiles = preg_replace('%.*/%', '', $iniFiles); // remove *.ini[.append.php] from file name $iniFiles = preg_replace('%\\.ini.*%', '.ini', $iniFiles); $iniFiles = array_unique($iniFiles); sort($iniFiles); $siteIni = null; foreach ($iniFiles as $key => $ini) { if ($this->currentSiteAccess != '' && $GLOBALS['eZCurrentAccess']['name'] !== $this->currentSiteAccess) { // create a site ini instance using $useLocalOverrides if ($siteIni === null) { $siteIni = eZSiteAccess::getIni($this->currentSiteAccess, 'site.ini'); } // load settings file with $useLocalOverrides = true $iniFile = new eZINI($ini, 'settings', null, false, true, false, false, false); $iniFile->setOverrideDirs($siteIni->overrideDirs(false)); $iniFile->load(); } else { $iniFile = new eZINI($ini); } $iniFiles[$ini] = $iniFile->groups(); unset($iniFiles[$key]); } return $iniFiles; }
/** * Loads ini environment for a specific siteaccess * * eg: $ini = eZSiteAccess::getIni( 'eng', 'site.ini' ); * * @since 4.4 * @param string $siteAccess * @param string $settingFile * @return eZINI */ static function getIni( $siteAccess, $settingFile = 'site.ini' ) { // return global if siteaccess is same as requested or false if ( isset( $GLOBALS['eZCurrentAccess']['name'] ) && $GLOBALS['eZCurrentAccess']['name'] === $siteAccess ) { return eZINI::instance( $settingFile ); } else if ( !$siteAccess ) { return eZINI::instance( $settingFile ); } // create a site ini instance using $useLocalOverrides = true $siteIni = new eZINI( 'site.ini', 'settings', null, null, true ); // create a dummy access definition (not used as long as $siteIni is sent to self::load() ) $access = array( 'name' => $siteAccess, 'type' => eZSiteAccess::TYPE_STATIC, 'uri_part' => array() ); // Load siteaccess but on our locale instance of site.ini only $access = self::load( $access, $siteIni ); // if site.ini, return with no further work needed if ( $settingFile === 'site.ini' ) { return $siteIni; } // load settings file with $useLocalOverrides = true $ini = new eZINI( $settingFile,'settings', null, null, true ); $ini->setOverrideDirs( $siteIni->overrideDirs( false ) ); $ini->load(); return $ini; }
if ( $GLOBALS['eZCurrentAccess']['name'] !== $currentSiteAccess ) { // create a site ini instance using $useLocalOverrides $siteIni = eZSiteAccess::getIni( $currentSiteAccess, 'site.ini' ); // load settings file with $useLocalOverrides = true & $addArrayDefinition = true $ini = new eZINI( /*$fileName =*/ $settingFile, /*$rootDir =*/ 'settings', /*$useTextCodec =*/ null, /*$useCache =*/ false, /*$useLocalOverrides =*/ true, /*$directAccess =*/ false, /*$addArrayDefinition =*/ true, /*$load =*/ false ); $ini->setOverrideDirs( $siteIni->overrideDirs( false ) ); $ini->load(); } else { // load settings file more or less normally but with $addArrayDefinition = true $ini = new eZINI( $settingFile,'settings', null, false, null, false, true ); } $blocks = $ini->groups(); $placements = $ini->groupPlacements(); $settings = array(); $blockCount = 0; $totalSettingCount = 0; foreach( $blocks as $block=>$key ) {