function _processMultipleDepsName($deps)
    {
        $ret = $tests = array();
        foreach ($deps as $name => $dep) {
            foreach ($dep as $d) {
                $tests[$name][] = $this->_processDep($d);
            }
        }

        foreach ($tests as $name => $test) {
            $max = $min = $php = array();
            $php['name'] = $name;
            foreach ($test as $dep) {
                if (!$dep) {
                    continue;
                }
                if (isset($dep['channel'])) {
                    $php['channel'] = 'pear.php.net';
                }
                if (isset($dep['conflicts']) && $dep['conflicts'] == 'yes') {
                    $php['conflicts'] = 'yes';
                }
                if (isset($dep['min'])) {
                    $min[$dep['min']] = count($min);
                }
                if (isset($dep['max'])) {
                    $max[$dep['max']] = count($max);
                }
            }
            if (count($min) > 0) {
                uksort($min, 'version_compare');
            }
            if (count($max) > 0) {
                uksort($max, 'version_compare');
            }
            if (count($min)) {
                // get the highest minimum
                $min = array_pop($a = array_flip($min));
            } else {
                $min = false;
            }
            if (count($max)) {
                // get the lowest maximum
                $max = array_shift($a = array_flip($max));
            } else {
                $max = false;
            }
            if ($min) {
                $php['min'] = $min;
            }
            if ($max) {
                $php['max'] = $max;
            }
            $exclude = array();
            foreach ($test as $dep) {
                if (!isset($dep['exclude'])) {
                    continue;
                }
                $exclude[] = $dep['exclude'];
            }
            if (count($exclude)) {
                $php['exclude'] = $exclude;
            }
            $ret[] = $php;
        }
        return $ret;
    }
function _processMultipleDepsName($deps)
    {
        $ret = $tests = array();
        foreach ($deps as $name => $dep) {
            foreach ($dep as $d) {
                $tests[$name][] = $this->_processDep($d);
            }
        }

        foreach ($tests as $name => $test) {
            $max = $min = $php = array();
            $php['name'] = $name;
            foreach ($test as $dep) {
                if (!$dep) {
                    continue;
                }
                if (isset($dep['channel'])) {
                    $php['channel'] = 'pear.php.net';
                }
                if (isset($dep['conflicts']) && $dep['conflicts'] == 'yes') {
                    $php['conflicts'] = 'yes';
                }
                if (isset($dep['min'])) {
                    $min[$dep['min']] = count($min);
                }
                if (isset($dep['max'])) {
                    $max[$dep['max']] = count($max);
                }
            }
            if (count($min) > 0) {
                uksort($min, 'version_compare');
            }
            if (count($max) > 0) {
                uksort($max, 'version_compare');
            }
            if (count($min)) {
                // get the highest minimum
                $min = array_pop($a = array_flip($min));
            } else {
                $min = false;
            }
            if (count($max)) {
                // get the lowest maximum
                $max = array_shift($a = array_flip($max));
            } else {
                $max = false;
            }
            if ($min) {
                $php['min'] = $min;
            }
            if ($max) {
                $php['max'] = $max;
            }
            $exclude = array();
            foreach ($test as $dep) {
                if (!isset($dep['exclude'])) {
                    continue;
                }
                $exclude[] = $dep['exclude'];
            }
            if (count($exclude)) {
                $php['exclude'] = $exclude;
            }
            $ret[] = $php;
        }
        return $ret;
    }
function _processMultipleDepsName ( $ deps ) { $ ret = $ tests = array ( ) ; foreach ( $ deps as $ name => $ dep ) { foreach ( $ dep as $ d ) { $ tests [ $ name ] [ ] = $ this -> _processDep ( $ d ) ; } } foreach ( $ tests as $ name => $ test ) { $ max = $ min = $ php = array ( ) ; $ php [ 'name' ] = $ name ; foreach ( $ test as $ dep ) { if ( ! $ dep ) { continue ; } if ( isset ( $ dep [ 'channel' ] ) ) { $ php [ 'channel' ] = 'pear.php.net' ; } if ( isset ( $ dep [ 'conflicts' ] ) && $ dep [ 'conflicts' ] == 'yes' ) { $ php [ 'conflicts' ] = 'yes' ; } if ( isset ( $ dep [ 'min' ] ) ) { $ min [ $ dep [ 'min' ] ] = count ( $ min ) ; } if ( isset ( $ dep [ 'max' ] ) ) { $ max [ $ dep [ 'max' ] ] = count ( $ max ) ; } } if ( count ( $ min ) > 0 ) { uksort ( $ min , 'version_compare' ) ; } if ( count ( $ max ) > 0 ) { uksort ( $ max , 'version_compare' ) ; } if ( count ( $ min ) ) { // get the highest minimum $ min = array_pop ( $ a = array_flip ( $ min ) ) ; } else { $ min = false ; } if ( count ( $ max ) ) { // get the lowest maximum $ max = array_shift ( $ a = array_flip ( $ max ) ) ; } else { $ max = false ; } if ( $ min ) { $ php [ 'min' ] = $ min ; } if ( $ max ) { $ php [ 'max' ] = $ max ; } $ exclude = array ( ) ; foreach ( $ test as $ dep ) { if ( ! isset ( $ dep [ 'exclude' ] ) ) { continue ; } $ exclude [ ] = $ dep [ 'exclude' ] ; } if ( count ( $ exclude ) ) { $ php [ 'exclude' ] = $ exclude ; } $ ret [ ] = $ php ; } return $ ret ; }
process multiple dependencies that have a name, like package deps
@param array
@return array
@access private
process multiple dependencies that have a name like package deps