function addMirrorFunction($mirror, $type, $version, $name = '')
    {
        if (!isset($this->_channelInfo['servers']['mirror'])) {
            $this->_validateError(PEAR_CHANNELFILE_ERROR_MIRROR_NOT_FOUND,
                array('mirror' => $mirror));
            return false;
        }

        $setmirror = false;
        if (isset($this->_channelInfo['servers']['mirror'][0])) {
            foreach ($this->_channelInfo['servers']['mirror'] as $i => $mir) {
                if ($mirror == $mir['attribs']['host']) {
                    $setmirror = &$this->_channelInfo['servers']['mirror'][$i];
                    break;
                }
            }
        } else {
            if ($this->_channelInfo['servers']['mirror']['attribs']['host'] == $mirror) {
                $setmirror = &$this->_channelInfo['servers']['mirror'];
            }
        }

        if (!$setmirror) {
            $this->_validateError(PEAR_CHANNELFILE_ERROR_MIRROR_NOT_FOUND,
                array('mirror' => $mirror));
            return false;
        }

        $set = array('attribs' => array('version' => $version), '_content' => $name);
        if (!isset($setmirror[$type]['function'])) {
            $setmirror[$type]['function'] = $set;
            $this->_isValid = false;
            return true;
        } elseif (!isset($setmirror[$type]['function'][0])) {
            $setmirror[$type]['function'] = array($setmirror[$type]['function']);
        }

        $setmirror[$type]['function'][] = $set;
        $this->_isValid = false;
        return true;
    }
function addMirrorFunction($mirror, $type, $version, $name = '')
    {
        if (!isset($this->_channelInfo['servers']['mirror'])) {
            $this->_validateError(PEAR_CHANNELFILE_ERROR_MIRROR_NOT_FOUND,
                array('mirror' => $mirror));
            return false;
        }

        $setmirror = false;
        if (isset($this->_channelInfo['servers']['mirror'][0])) {
            foreach ($this->_channelInfo['servers']['mirror'] as $i => $mir) {
                if ($mirror == $mir['attribs']['host']) {
                    $setmirror = &$this->_channelInfo['servers']['mirror'][$i];
                    break;
                }
            }
        } else {
            if ($this->_channelInfo['servers']['mirror']['attribs']['host'] == $mirror) {
                $setmirror = &$this->_channelInfo['servers']['mirror'];
            }
        }

        if (!$setmirror) {
            $this->_validateError(PEAR_CHANNELFILE_ERROR_MIRROR_NOT_FOUND,
                array('mirror' => $mirror));
            return false;
        }

        $set = array('attribs' => array('version' => $version), '_content' => $name);
        if (!isset($setmirror[$type]['function'])) {
            $setmirror[$type]['function'] = $set;
            $this->_isValid = false;
            return true;
        } elseif (!isset($setmirror[$type]['function'][0])) {
            $setmirror[$type]['function'] = array($setmirror[$type]['function']);
        }

        $setmirror[$type]['function'][] = $set;
        $this->_isValid = false;
        return true;
    }
function addMirrorFunction ( $ mirror , $ type , $ version , $ name = '' ) { if ( ! isset ( $ this -> _channelInfo [ 'servers' ] [ 'mirror' ] ) ) { $ this -> _validateError ( PEAR_CHANNELFILE_ERROR_MIRROR_NOT_FOUND , array ( 'mirror' => $ mirror ) ) ; return false ; } $ setmirror = false ; if ( isset ( $ this -> _channelInfo [ 'servers' ] [ 'mirror' ] [ 0 ] ) ) { foreach ( $ this -> _channelInfo [ 'servers' ] [ 'mirror' ] as $ i => $ mir ) { if ( $ mirror == $ mir [ 'attribs' ] [ 'host' ] ) { $ setmirror = & $ this -> _channelInfo [ 'servers' ] [ 'mirror' ] [ $ i ] ; break ; } } } else { if ( $ this -> _channelInfo [ 'servers' ] [ 'mirror' ] [ 'attribs' ] [ 'host' ] == $ mirror ) { $ setmirror = & $ this -> _channelInfo [ 'servers' ] [ 'mirror' ] ; } } if ( ! $ setmirror ) { $ this -> _validateError ( PEAR_CHANNELFILE_ERROR_MIRROR_NOT_FOUND , array ( 'mirror' => $ mirror ) ) ; return false ; } $ set = array ( 'attribs' => array ( 'version' => $ version ) , '_content' => $ name ) ; if ( ! isset ( $ setmirror [ $ type ] [ 'function' ] ) ) { $ setmirror [ $ type ] [ 'function' ] = $ set ; $ this -> _isValid = false ; return true ; } elseif ( ! isset ( $ setmirror [ $ type ] [ 'function' ] [ 0 ] ) ) { $ setmirror [ $ type ] [ 'function' ] = array ( $ setmirror [ $ type ] [ 'function' ] ) ; } $ setmirror [ $ type ] [ 'function' ] [ ] = $ set ; $ this -> _isValid = false ; return true ; }
Add a protocol to a mirror's provides section
@param string mirror name (server)
@param string protocol type
@param string protocol version
@param string protocol name, if any
Add a protocol to a mirror s provides section