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

📄 validate.php

📁 php-4.4.7学习linux时下载的源代码
💻 PHP
📖 第 1 页 / 共 2 页
字号:
                                'bugfix versions (1.3.x where x > 0) probably should ' .                                'not be alpha or beta');                            return true;                        }                    } elseif ($versioncomponents[0] != '0') {                        $this->_addWarning('version',                            'major versions greater than 1 are not allowed for packages ' .                            'without an <extends> tag or an identical postfix (foo2 v2.0.0)');                        return true;                    }                    if ($versioncomponents[0] . 'a' == '0a') {                        return true;                    }                    if ($versioncomponents[0] == 0) {                        $versioncomponents[0] = '0';                        $this->_addWarning('version',                            'version "' . $version . '" should be "' .                            implode('.' ,$versioncomponents) . '"');                    }                } else {                    $vlen = strlen($versioncomponents[0] . '');                    $majver = substr($name, strlen($name) - $vlen);                    while ($majver && !is_numeric($majver{0})) {                        $majver = substr($majver, 1);                    }                    if (($versioncomponents[0] != 0) && $majver != $versioncomponents[0]) {                        $this->_addWarning('version', 'first version number "' .                            $versioncomponents[0] . '" must match the postfix of ' .                            'package name "' . $name . '" (' .                            $majver . ')');                        return true;                    }                    if ($versioncomponents[0] == $majver) {                        if ($versioncomponents[2]{0} == '0') {                            if ($versioncomponents[2] == '0') {                                // version 2.*.0000                                $this->_addWarning('version',                                    "version $majver." . $versioncomponents[1] .                                        '.0 probably should not be alpha or beta');                                return false;                            } elseif (strlen($versioncomponents[2]) > 1) {                                // version 2.*.0RC1 or 2.*.0beta24 etc.                                return true;                            } else {                                // version 2.*.0                                $this->_addWarning('version',                                    "version $majver." . $versioncomponents[1] .                                        '.0 cannot be alpha or beta');                                return true;                            }                        } else {                            $this->_addWarning('version',                                "bugfix versions ($majver.x.y where y > 0) should " .                                'not be alpha or beta');                            return true;                        }                    } elseif ($versioncomponents[0] != '0') {                        $this->_addWarning('version',                            "only versions 0.x.y and $majver.x.y are allowed for alpha/beta releases");                        return true;                    }                    if ($versioncomponents[0] . 'a' == '0a') {                        return true;                    }                    if ($versioncomponents[0] == 0) {                        $versioncomponents[0] = '0';                        $this->_addWarning('version',                            'version "' . $version . '" should be "' .                            implode('.' ,$versioncomponents) . '"');                    }                }                return true;            break;            case 'stable' :                if ($versioncomponents[0] == '0') {                    $this->_addWarning('version', 'versions less than 1.0.0 cannot ' .                    'be stable');                    return true;                }                if (!is_numeric($versioncomponents[2])) {                    if (preg_match('/\d+(rc|a|alpha|b|beta)\d*/i',                          $versioncomponents[2])) {                        $this->_addWarning('version', 'version "' . $version . '" or any ' .                            'RC/beta/alpha version cannot be stable');                        return true;                    }                }                // check for a package that extends a package,                // like Foo and Foo2                if ($this->_packagexml->getExtends()) {                    $vlen = strlen($versioncomponents[0] . '');                    $majver = substr($name, strlen($name) - $vlen);                    while ($majver && !is_numeric($majver{0})) {                        $majver = substr($majver, 1);                    }                    if (($versioncomponents[0] != 0) && $majver != $versioncomponents[0]) {                        $this->_addWarning('version', 'first version number "' .                            $versioncomponents[0] . '" must match the postfix of ' .                            'package name "' . $name . '" (' .                            $majver . ')');                        return true;                    }                } elseif ($versioncomponents[0] > 1) {                    $this->_addWarning('version', 'major version x in x.y.z may not be greater than ' .                        '1 for any package that does not have an <extends> tag');                }                return true;            break;            default :                return false;            break;        }    }    /**     * @access protected     */    function validateMaintainers()    {        // maintainers can only be truly validated server-side for most channels        // but allow this customization for those who wish it        return true;    }    /**     * @access protected     */    function validateDate()    {        if ($this->_state == PEAR_VALIDATE_NORMAL ||              $this->_state == PEAR_VALIDATE_PACKAGING) {            if (!preg_match('/\d\d\d\d\-\d\d\-\d\d/',                  $this->_packagexml->getDate())) {                $this->_addFailure('date', 'invalid release date "' .                    $this->_packagexml->getDate() . '"');                return false;            }            if (strtotime($this->_packagexml->getDate()) == -1) {                $this->_addFailure('date', 'invalid release date "' .                    $this->_packagexml->getDate() . '"');                return false;            }            if ($this->_state == PEAR_VALIDATE_PACKAGING &&                  $this->_packagexml->getDate() != date('Y-m-d')) {                $this->_addWarning('date', 'Release Date "' .                    $this->_packagexml->getDate() . '" is not today');            }        }        return true;    }    /**     * @access protected     */    function validateTime()    {        if (!$this->_packagexml->getTime()) {            // default of no time value set            return true;        }        // packager automatically sets time, so only validate if        // pear validate is called        if ($this->_state = PEAR_VALIDATE_NORMAL) {            if (!preg_match('/\d\d:\d\d:\d\d/',                  $this->_packagexml->getTime())) {                $this->_addFailure('time', 'invalid release time "' .                    $this->_packagexml->getTime() . '"');                return false;            }            if (strtotime($this->_packagexml->getTime()) == -1) {                $this->_addFailure('time', 'invalid release time "' .                    $this->_packagexml->getTime() . '"');                return false;            }        }        return true;    }    /**     * @access protected     */    function validateState()    {        // this is the closest to "final" php4 can get        if (!PEAR_Validate::validState($this->_packagexml->getState())) {            if (strtolower($this->_packagexml->getState() == 'rc')) {                $this->_addFailure('state', 'RC is not a state, it is a version ' .                    'postfix, use ' . $this->_packagexml->getVersion() . 'RC1, state beta');            }            $this->_addFailure('state', 'invalid release state "' .                $this->_packagexml->getState() . '", must be one of: ' .                implode(', ', PEAR_Validate::getValidStates()));            return false;        }        return true;    }    /**     * @access protected     */    function validateStability()    {        $ret = true;        $packagestability = $this->_packagexml->getState();        $apistability = $this->_packagexml->getState('api');        if (!PEAR_Validate::validState($packagestability)) {            $this->_addFailure('state', 'invalid release stability "' .                $this->_packagexml->getState() . '", must be one of: ' .                implode(', ', PEAR_Validate::getValidStates()));            $ret = false;        }        $apistates = PEAR_Validate::getValidStates();        array_shift($apistates); // snapshot is not allowed        if (!in_array($apistability, $apistates)) {            $this->_addFailure('state', 'invalid API stability "' .                $this->_packagexml->getState('api') . '", must be one of: ' .                implode(', ', $apistates));            $ret = false;        }        return $ret;    }    /**     * @access protected     */    function validateSummary()    {        return true;    }    /**     * @access protected     */    function validateDescription()    {        return true;    }    /**     * @access protected     */    function validateLicense()    {        return true;    }    /**     * @access protected     */    function validateNotes()    {        return true;    }    /**     * for package.xml 2.0 only - channels can't use package.xml 1.0     * @access protected     */    function validateDependencies()    {        return true;    }    /**     * for package.xml 1.0 only     * @access private     */    function _validateFilelist()    {        return true; // placeholder for now    }    /**     * for package.xml 2.0 only     * @access protected     */    function validateMainFilelist()    {        return true; // placeholder for now    }    /**     * for package.xml 2.0 only     * @access protected     */    function validateReleaseFilelist()    {        return true; // placeholder for now    }    /**     * @access protected     */    function validateChangelog()    {        return true;    }    /**     * @access protected     */    function validateFilelist()    {        return true;    }    /**     * @access protected     */    function validateDeps()    {        return true;    }}?>

⌨️ 快捷键说明

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