⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 v1.php

📁 php-4.4.7学习linux时下载的源代码
💻 PHP
📖 第 1 页 / 共 4 页
字号:
                                    ),                                );                            continue;                        }                        //o <ignore> tags for                        //  <file name=... platform=!this platform install-as=..>                        if (isset($package['platform'][$file]) &&                              $package['platform'][$file] == "!$os") {                            $release[$releaseNum]['filelist']['ignore'][] =                                array(                                    'attribs' => array(                                        'name' => $file,                                    ),                                );                            continue;                        }                        //o <ignore> tags for                        //  <file name=... platform=other platform install-as=..>                        if (isset($package['platform'][$file]) &&                              $package['platform'][$file]{0} != '!' &&                              $package['platform'][$file] != $os) {                            $release[$releaseNum]['filelist']['ignore'][] =                                array(                                    'attribs' => array(                                        'name' => $file,                                    ),                                );                            continue;                        }                    }                    foreach ($package['platform'] as $file => $platform) {                        if (isset($package['install-as'][$file])) {                            continue;                        }                        //o <ignore> tags for <file name=... platform=!this platform>                        if ($platform == "!$os") {                            $release[$releaseNum]['filelist']['ignore'][] =                                array(                                    'attribs' => array(                                        'name' => $file,                                    ),                                );                            continue;                        }                        //o <ignore> tags for <file name=... platform=other platform>                        if ($platform{0} != '!' && $platform != $os) {                            $release[$releaseNum]['filelist']['ignore'][] =                                array(                                    'attribs' => array(                                        'name' => $file,                                    ),                                );                        }                    }                    if (!count($release[$releaseNum]['filelist']['install'])) {                        unset($release[$releaseNum]['filelist']['install']);                    }                    if (!count($release[$releaseNum]['filelist']['ignore'])) {                        unset($release[$releaseNum]['filelist']['ignore']);                    }                }                if (count($generic) || count($genericIgnore)) {                    $release[count($oses)] = array();                    if (count($generic)) {                        foreach ($generic as $file) {                            if (isset($package['install-as'][$file])) {                                $installas = $package['install-as'][$file];                            } else {                                $installas = $file;                            }                            $release[count($oses)]['filelist']['install'][] =                                array(                                    'attribs' => array(                                        'name' => $file,                                        'as' => $installas,                                    )                                );                        }                    }                    if (count($genericIgnore)) {                        foreach ($genericIgnore as $file) {                            $release[count($oses)]['filelist']['ignore'][] =                                array(                                    'attribs' => array(                                        'name' => $file,                                    )                                );                        }                    }                }                // cleanup                foreach ($release as $i => $rel) {                    if (isset($rel['filelist']['install']) &&                          count($rel['filelist']['install']) == 1) {                        $release[$i]['filelist']['install'] =                            $release[$i]['filelist']['install'][0];                    }                    if (isset($rel['filelist']['ignore']) &&                          count($rel['filelist']['ignore']) == 1) {                        $release[$i]['filelist']['ignore'] =                            $release[$i]['filelist']['ignore'][0];                    }                }                if (count($release) == 1) {                    $release = $release[0];                }            } else {                // no platform atts, but some install-as atts                foreach ($package['install-as'] as $file => $value) {                    $release['filelist']['install'][] =                        array(                            'attribs' => array(                                'name' => $file,                                'as' => $value                            )                        );                }                if (count($release['filelist']['install']) == 1) {                    $release['filelist']['install'] = $release['filelist']['install'][0];                }            }        }    }    /**     * @param array     * @return array     * @access private     */    function _processDep($dep)    {        if ($dep['type'] == 'php') {            if ($dep['rel'] == 'has') {                // come on - everyone has php!                return false;            }        }        $php = array();        if ($dep['type'] != 'php') {            $php['name'] = $dep['name'];            if ($dep['type'] == 'pkg') {                $php['channel'] = 'pear.php.net';            }        }        switch ($dep['rel']) {            case 'gt' :                $php['min'] = $dep['version'];                $php['exclude'] = $dep['version'];            break;            case 'ge' :                if (!isset($dep['version'])) {                    if ($dep['type'] == 'php') {                        if (isset($dep['name'])) {                            $dep['version'] = $dep['name'];                        }                    }                }                $php['min'] = $dep['version'];            break;            case 'lt' :                $php['max'] = $dep['version'];                $php['exclude'] = $dep['version'];            break;            case 'le' :                $php['max'] = $dep['version'];            break;            case 'eq' :                $php['min'] = $dep['version'];                $php['max'] = $dep['version'];            break;            case 'ne' :                $php['exclude'] = $dep['version'];            break;            case 'not' :                $php['conflicts'] = 'yes';            break;        }        return $php;    }    /**     * @param array     * @return array     */    function _processPhpDeps($deps)    {        $test = array();        foreach ($deps as $dep) {            $test[] = $this->_processDep($dep);        }        $min = array();        $max = array();        foreach ($test as $dep) {            if (!$dep) {                continue;            }            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;        }        return $php;    }    /**     * process multiple dependencies that have a name, like package deps     * @param array     * @return array     * @access private     */    function _processMultipleDepsName($deps)    {        $tests = array();        foreach ($deps as $name => $dep) {            foreach ($dep as $d) {                $tests[$name][] = $this->_processDep($d);            }        }        foreach ($tests as $name => $test) {            $php = array();            $min = array();            $max = 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;    }}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -