function _assertChannelStateDir($channel)
    {
        $ds = DIRECTORY_SEPARATOR;
        if (!$channel || $this->_getChannelFromAlias($channel) == 'pear.php.net') {
            if (!file_exists($this->channelsdir . $ds . 'pear.php.net.reg')) {
                $this->_initializeChannelDirs();
            }
            return $this->_assertStateDir($channel);
        }

        $channelDir = $this->_channelDirectoryName($channel);
        if (!is_dir($this->channelsdir) ||
              !file_exists($this->channelsdir . $ds . 'pear.php.net.reg')) {
            $this->_initializeChannelDirs();
        }

        if (!file_exists($channelDir)) {
            if (!$this->hasWriteAccess()) {
                return false;
            }

            require_once 'System.php';
            if (!System::mkdir(array('-p', $channelDir))) {
                return $this->raiseError("could not create directory '" . $channelDir .
                    "'");
            }
        } elseif (!is_dir($channelDir)) {
            return $this->raiseError("could not create directory '" . $channelDir .
                "', already exists and is not a directory");
        }

        return true;
    }
function _assertChannelStateDir($channel)
    {
        $ds = DIRECTORY_SEPARATOR;
        if (!$channel || $this->_getChannelFromAlias($channel) == 'pear.php.net') {
            if (!file_exists($this->channelsdir . $ds . 'pear.php.net.reg')) {
                $this->_initializeChannelDirs();
            }
            return $this->_assertStateDir($channel);
        }

        $channelDir = $this->_channelDirectoryName($channel);
        if (!is_dir($this->channelsdir) ||
              !file_exists($this->channelsdir . $ds . 'pear.php.net.reg')) {
            $this->_initializeChannelDirs();
        }

        if (!file_exists($channelDir)) {
            if (!$this->hasWriteAccess()) {
                return false;
            }

            require_once 'System.php';
            if (!System::mkdir(array('-p', $channelDir))) {
                return $this->raiseError("could not create directory '" . $channelDir .
                    "'");
            }
        } elseif (!is_dir($channelDir)) {
            return $this->raiseError("could not create directory '" . $channelDir .
                "', already exists and is not a directory");
        }

        return true;
    }
function _assertChannelStateDir ( $ channel ) { $ ds = DIRECTORY_SEPARATOR ; if ( ! $ channel || $ this -> _getChannelFromAlias ( $ channel ) == 'pear.php.net' ) { if ( ! file_exists ( $ this -> channelsdir . $ ds . 'pear.php.net.reg' ) ) { $ this -> _initializeChannelDirs ( ) ; } return $ this -> _assertStateDir ( $ channel ) ; } $ channelDir = $ this -> _channelDirectoryName ( $ channel ) ; if ( ! is_dir ( $ this -> channelsdir ) || ! file_exists ( $ this -> channelsdir . $ ds . 'pear.php.net.reg' ) ) { $ this -> _initializeChannelDirs ( ) ; } if ( ! file_exists ( $ channelDir ) ) { if ( ! $ this -> hasWriteAccess ( ) ) { return false ; } require_once 'System.php' ; if ( ! System :: mkdir ( array ( '-p' , $ channelDir ) ) ) { return $ this -> raiseError ( "could not create directory '" . $ channelDir . "'" ) ; } } elseif ( ! is_dir ( $ channelDir ) ) { return $ this -> raiseError ( "could not create directory '" . $ channelDir . "', already exists and is not a directory" ) ; } return true ; }
Make sure the directory where we keep registry files exists for a non-standard channel.

@param string channel name
@return bool TRUE if directory exists, FALSE if it could not be
created

@access private
Make sure the directory where we keep registry files exists for a non - standard channel .