function writeConfigFile($file = null, $layer = 'user', $data = null)
    {
        $this->_lazyChannelSetup($layer);
        if ($layer == 'both' || $layer == 'all') {
            foreach ($this->files as $type => $file) {
                $err = $this->writeConfigFile($file, $type, $data);
                if (PEAR::isError($err)) {
                    return $err;
                }
            }
            return true;
        }

        if (empty($this->files[$layer])) {
            return $this->raiseError("unknown config file type `$layer'");
        }

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

        $data = ($data === null) ? $this->configuration[$layer] : $data;
        $this->_encodeOutput($data);
        $opt = array('-p', dirname($file));
        if (!@System::mkDir($opt)) {
            return $this->raiseError("could not create directory: " . dirname($file));
        }

        if (file_exists($file) && is_file($file) && !is_writeable($file)) {
            return $this->raiseError("no write access to $file!");
        }

        $fp = @fopen($file, "w");
        if (!$fp) {
            return $this->raiseError("PEAR_Config::writeConfigFile fopen('$file','w') failed ($php_errormsg)");
        }

        $contents = "#PEAR_Config 0.9\n" . serialize($data);
        if (!@fwrite($fp, $contents)) {
            return $this->raiseError("PEAR_Config::writeConfigFile: fwrite failed ($php_errormsg)");
        }
        return true;
    }
function writeConfigFile($file = null, $layer = 'user', $data = null)
    {
        $this->_lazyChannelSetup($layer);
        if ($layer == 'both' || $layer == 'all') {
            foreach ($this->files as $type => $file) {
                $err = $this->writeConfigFile($file, $type, $data);
                if (PEAR::isError($err)) {
                    return $err;
                }
            }
            return true;
        }

        if (empty($this->files[$layer])) {
            return $this->raiseError("unknown config file type `$layer'");
        }

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

        $data = ($data === null) ? $this->configuration[$layer] : $data;
        $this->_encodeOutput($data);
        $opt = array('-p', dirname($file));
        if (!@System::mkDir($opt)) {
            return $this->raiseError("could not create directory: " . dirname($file));
        }

        if (file_exists($file) && is_file($file) && !is_writeable($file)) {
            return $this->raiseError("no write access to $file!");
        }

        $fp = @fopen($file, "w");
        if (!$fp) {
            return $this->raiseError("PEAR_Config::writeConfigFile fopen('$file','w') failed ($php_errormsg)");
        }

        $contents = "#PEAR_Config 0.9\n" . serialize($data);
        if (!@fwrite($fp, $contents)) {
            return $this->raiseError("PEAR_Config::writeConfigFile: fwrite failed ($php_errormsg)");
        }
        return true;
    }
function writeConfigFile ( $ file = null , $ layer = 'user' , $ data = null ) { $ this -> _lazyChannelSetup ( $ layer ) ; if ( $ layer == 'both' || $ layer == 'all' ) { foreach ( $ this -> files as $ type => $ file ) { $ err = $ this -> writeConfigFile ( $ file , $ type , $ data ) ; if ( PEAR :: isError ( $ err ) ) { return $ err ; } } return true ; } if ( empty ( $ this -> files [ $ layer ] ) ) { return $ this -> raiseError ( "unknown config file type `$layer'" ) ; } if ( $ file === null ) { $ file = $ this -> files [ $ layer ] ; } $ data = ( $ data === null ) ? $ this -> configuration [ $ layer ] : $ data ; $ this -> _encodeOutput ( $ data ) ; $ opt = array ( '-p' , dirname ( $ file ) ) ; if ( ! @ System :: mkDir ( $ opt ) ) { return $ this -> raiseError ( "could not create directory: " . dirname ( $ file ) ) ; } if ( file_exists ( $ file ) && is_file ( $ file ) && ! is_writeable ( $ file ) ) { return $ this -> raiseError ( "no write access to $file!" ) ; } $ fp = @ fopen ( $ file , "w" ) ; if ( ! $ fp ) { return $ this -> raiseError ( "PEAR_Config::writeConfigFile fopen('$file','w') failed ($php_errormsg)" ) ; } $ contents = "#PEAR_Config 0.9\n" . serialize ( $ data ) ; if ( ! @ fwrite ( $ fp , $ contents ) ) { return $ this -> raiseError ( "PEAR_Config::writeConfigFile: fwrite failed ($php_errormsg)" ) ; } return true ; }
Writes data into a config layer from a file.

@param string|null file to read from, or null for default
@param string config layer to insert data into ('user' or
'system')
@param string|null data to write to config file or null for internal data [DEPRECATED]
@return bool TRUE on success or a PEAR error on failure
Writes data into a config layer from a file .