function mergeConfigFile($file, $override = true, $layer = 'user', $strict = true)
    {
        if (empty($this->files[$layer])) {
            return $this->raiseError("unknown config layer `$layer'");
        }

        if ($file === null) {
            $file = $this->files[$layer];
        }

        $data = $this->_readConfigDataFrom($file);
        if (PEAR::isError($data)) {
            if (!$strict) {
                return true;
            }

            $this->_errorsFound++;
            $this->lastError = $data;

            return $data;
        }

        $this->_decodeInput($data);
        if ($override) {
            $this->configuration[$layer] =
                PEAR_Config::arrayMergeRecursive($this->configuration[$layer], $data);
        } else {
            $this->configuration[$layer] =
                PEAR_Config::arrayMergeRecursive($data, $this->configuration[$layer]);
        }

        $this->_setupChannels();
        if (!$this->_noRegistry && ($phpdir = $this->get('php_dir', $layer, 'pear.php.net'))) {
            $this->_registry[$layer] = &new PEAR_Registry($phpdir);
            $this->_registry[$layer]->setConfig($this, false);
            $this->_regInitialized[$layer] = false;
        } else {
            unset($this->_registry[$layer]);
        }
        return true;
    }
function mergeConfigFile($file, $override = true, $layer = 'user', $strict = true)
    {
        if (empty($this->files[$layer])) {
            return $this->raiseError("unknown config layer `$layer'");
        }

        if ($file === null) {
            $file = $this->files[$layer];
        }

        $data = $this->_readConfigDataFrom($file);
        if (PEAR::isError($data)) {
            if (!$strict) {
                return true;
            }

            $this->_errorsFound++;
            $this->lastError = $data;

            return $data;
        }

        $this->_decodeInput($data);
        if ($override) {
            $this->configuration[$layer] =
                PEAR_Config::arrayMergeRecursive($this->configuration[$layer], $data);
        } else {
            $this->configuration[$layer] =
                PEAR_Config::arrayMergeRecursive($data, $this->configuration[$layer]);
        }

        $this->_setupChannels();
        if (!$this->_noRegistry && ($phpdir = $this->get('php_dir', $layer, 'pear.php.net'))) {
            $this->_registry[$layer] = &new PEAR_Registry($phpdir);
            $this->_registry[$layer]->setConfig($this, false);
            $this->_regInitialized[$layer] = false;
        } else {
            unset($this->_registry[$layer]);
        }
        return true;
    }
function mergeConfigFile ( $ file , $ override = true , $ layer = 'user' , $ strict = true ) { if ( empty ( $ this -> files [ $ layer ] ) ) { return $ this -> raiseError ( "unknown config layer `$layer'" ) ; } if ( $ file === null ) { $ file = $ this -> files [ $ layer ] ; } $ data = $ this -> _readConfigDataFrom ( $ file ) ; if ( PEAR :: isError ( $ data ) ) { if ( ! $ strict ) { return true ; } $ this -> _errorsFound ++ ; $ this -> lastError = $ data ; return $ data ; } $ this -> _decodeInput ( $ data ) ; if ( $ override ) { $ this -> configuration [ $ layer ] = PEAR_Config :: arrayMergeRecursive ( $ this -> configuration [ $ layer ] , $ data ) ; } else { $ this -> configuration [ $ layer ] = PEAR_Config :: arrayMergeRecursive ( $ data , $ this -> configuration [ $ layer ] ) ; } $ this -> _setupChannels ( ) ; if ( ! $ this -> _noRegistry && ( $ phpdir = $ this -> get ( 'php_dir' , $ layer , 'pear.php.net' ) ) ) { $ this -> _registry [ $ layer ] = & new PEAR_Registry ( $ phpdir ) ; $ this -> _registry [ $ layer ] -> setConfig ( $ this , false ) ; $ this -> _regInitialized [ $ layer ] = false ; } else { unset ( $ this -> _registry [ $ layer ] ) ; } return true ; }
Merges data into a config layer from a file.  Does the same
thing as readConfigFile, except it does not replace all
existing values in the config layer.
@param string file to read from
@param bool whether to overwrite existing data (default TRUE)
@param string config layer to insert data into ('user' or 'system')
@param string if true, errors are returned if file opening fails
@return bool TRUE on success or a PEAR error on failure
Merges data into a config layer from a file . Does the same thing as readConfigFile except it does not replace all existing values in the config layer .