Beispiel #1
0
function eZSiteINISettings($parameters)
{
    $parameters = array_merge($parameters, array('is_admin' => false));
    $settings = array();
    $settings[] = eZSiteMenuINISettings();
    $settings[] = eZSiteOverrideINISettings();
    $settings[] = eZSiteSiteINISettings();
    $settings[] = eZSiteContentINISettings($parameters);
    $settings[] = eZSiteViewCacheINISettings();
    return $settings;
}
function updateINI_1_2_0()
{
    showMessage2("Updating INI-files...");
    $siteaccessList = getUserInput("Please specify the eZ webin siteaccesses on your site (separated with space, for example eng nor): ");
    $siteaccessList = explode(' ', $siteaccessList);
    $ezWebinSiteacceses = siteAccessMap($siteaccessList);
    $parameters = array();
    $extraSettings = array();
    $extraSettings[] = eZSiteOverrideINISettings();
    $extraSettings[] = eZSiteImageINISettings();
    $extraSettings[] = eZSiteContentINISettings($parameters);
    $extraSettings[] = eZSiteDesignINISettings($parameters);
    $extraSettings[] = eZSiteBrowseINISettings($parameters);
    $extraSettings[] = eZSiteTemplateINISettings($parameters);
    $extraCommonSettings = array();
    $extraCommonSettings[] = eZCommonContentINISettings($parameters);
    //The following INI-files should be modified instead of being replaced
    $modifiableINIFiles = array();
    $modifiableINIFiles[] = 'design.ini';
    foreach ($ezWebinSiteacceses as $sa) {
        if ($sa and is_array($sa)) {
            $saName = key($sa);
            $saPath = current($sa);
            // NOTE: it's copy/paste from ezstep_create_sites.php
            foreach ($extraSettings as $extraSetting) {
                if ($extraSetting === false) {
                    continue;
                }
                $iniName = $extraSetting['name'];
                $settings = $extraSetting['settings'];
                $resetArray = false;
                if (isset($extraSetting['reset_arrays'])) {
                    $resetArray = $extraSetting['reset_arrays'];
                }
                if (in_array($iniName, $modifiableINIFiles)) {
                    //Certain INI files we don't want to replace fully, for instance design.ini can have other values for sitestyles.
                    $iniToModify = $iniName . '.append.php';
                    $tmpINI = eZINI::instance($iniToModify, $saPath);
                    // Ignore site.ini[eZINISettings].ReadonlySettingList[] settings when saving ini variables.
                    $tmpINI->setReadOnlySettingsCheck(false);
                    $tmpINI->setVariables($settings);
                    $tmpINI->save(false, false, false, false, $saPath, $resetArray);
                } else {
                    //Replace new INI files eZ webin 1.2 accordingly.
                    $tmpINI = eZINI::create($iniName);
                    // Ignore site.ini[eZINISettings].ReadonlySettingList[] settings when saving ini variables.
                    $tmpINI->setReadOnlySettingsCheck(false);
                    $tmpINI->setVariables($settings);
                    $tmpINI->save(false, '.append.php', false, true, $saPath, $resetArray);
                }
            }
        }
    }
    foreach ($extraCommonSettings as $extraSetting) {
        if ($extraSetting === false) {
            continue;
        }
        $iniName = $extraSetting['name'];
        $settings = $extraSetting['settings'];
        $resetArray = false;
        if (isset($extraSetting['reset_arrays'])) {
            $resetArray = $extraSetting['reset_arrays'];
        }
        if (file_exists('settings/override/' . $iniName . '.append') || file_exists('settings/override/' . $iniName . '.append.php')) {
            $tmpINI = eZINI::instance($iniName, 'settings/override', null, null, false, true);
        } else {
            $tmpINI = eZINI::create($iniName);
        }
        // Set ReadOnlySettingsCheck to false: towards
        // Ignore site.ini[eZINISettings].ReadonlySettingList[] settings when saving ini variables.
        $tmpINI->setReadOnlySettingsCheck(false);
        $tmpINI->setVariables($settings);
        $tmpINI->save(false, '.append.php', false, true, "settings/override", $resetArray);
    }
}