function _getChannelValue($key, $layer, $channel)
    {
        if ($key == '__channels' || $channel == 'pear.php.net') {
            return null;
        }

        $ret = null;
        if ($layer === null) {
            foreach ($this->layers as $ilayer) {
                if (isset($this->configuration[$ilayer]['__channels'][$channel][$key])) {
                    $ret = $this->configuration[$ilayer]['__channels'][$channel][$key];
                    break;
                }
            }
        } elseif (isset($this->configuration[$layer]['__channels'][$channel][$key])) {
            $ret = $this->configuration[$layer]['__channels'][$channel][$key];
        }

        if ($key != 'preferred_mirror') {
            return $ret;
        }


        if ($ret !== null) {
            $reg = &$this->getRegistry($layer);
            if (is_object($reg)) {
                $chan = &$reg->getChannel($channel);
                if (PEAR::isError($chan)) {
                    return $channel;
                }

                if (!$chan->getMirror($ret) && $chan->getName() != $ret) {
                    return $channel; // mirror does not exist
                }
            }

            return $ret;
        }

        if ($channel != $this->getDefaultChannel($layer)) {
            return $channel; // we must use the channel name as the preferred mirror
                             // if the user has not chosen an alternate
        }

        return $this->getDefaultChannel($layer);
    }
function _getChannelValue($key, $layer, $channel)
    {
        if ($key == '__channels' || $channel == 'pear.php.net') {
            return null;
        }

        $ret = null;
        if ($layer === null) {
            foreach ($this->layers as $ilayer) {
                if (isset($this->configuration[$ilayer]['__channels'][$channel][$key])) {
                    $ret = $this->configuration[$ilayer]['__channels'][$channel][$key];
                    break;
                }
            }
        } elseif (isset($this->configuration[$layer]['__channels'][$channel][$key])) {
            $ret = $this->configuration[$layer]['__channels'][$channel][$key];
        }

        if ($key != 'preferred_mirror') {
            return $ret;
        }


        if ($ret !== null) {
            $reg = &$this->getRegistry($layer);
            if (is_object($reg)) {
                $chan = &$reg->getChannel($channel);
                if (PEAR::isError($chan)) {
                    return $channel;
                }

                if (!$chan->getMirror($ret) && $chan->getName() != $ret) {
                    return $channel; // mirror does not exist
                }
            }

            return $ret;
        }

        if ($channel != $this->getDefaultChannel($layer)) {
            return $channel; // we must use the channel name as the preferred mirror
                             // if the user has not chosen an alternate
        }

        return $this->getDefaultChannel($layer);
    }
function _getChannelValue ( $ key , $ layer , $ channel ) { if ( $ key == '__channels' || $ channel == 'pear.php.net' ) { return null ; } $ ret = null ; if ( $ layer === null ) { foreach ( $ this -> layers as $ ilayer ) { if ( isset ( $ this -> configuration [ $ ilayer ] [ '__channels' ] [ $ channel ] [ $ key ] ) ) { $ ret = $ this -> configuration [ $ ilayer ] [ '__channels' ] [ $ channel ] [ $ key ] ; break ; } } } elseif ( isset ( $ this -> configuration [ $ layer ] [ '__channels' ] [ $ channel ] [ $ key ] ) ) { $ ret = $ this -> configuration [ $ layer ] [ '__channels' ] [ $ channel ] [ $ key ] ; } if ( $ key != 'preferred_mirror' ) { return $ ret ; } if ( $ ret !== null ) { $ reg = & $ this -> getRegistry ( $ layer ) ; if ( is_object ( $ reg ) ) { $ chan = & $ reg -> getChannel ( $ channel ) ; if ( PEAR :: isError ( $ chan ) ) { return $ channel ; } if ( ! $ chan -> getMirror ( $ ret ) && $ chan -> getName ( ) != $ ret ) { return $ channel ; // mirror does not exist } } return $ ret ; } if ( $ channel != $ this -> getDefaultChannel ( $ layer ) ) { return $ channel ; // we must use the channel name as the preferred mirror // if the user has not chosen an alternate } return $ this -> getDefaultChannel ( $ layer ) ; }
Returns a channel-specific configuration value, prioritizing layers as per the
layers property.

@param string config key
@return mixed the config value, or NULL if not found
@access private
Returns a channel - specific configuration value prioritizing layers as per the layers property .