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

📄 v1.php

📁 php-4.4.7学习linux时下载的源代码
💻 PHP
📖 第 1 页 / 共 4 页
字号:
    function dependsOn($package, $channel)    {        if (strtolower($channel) != 'pear.php.net') {            return false;        }        if (!($deps = $this->getDeps())) {            return false;        }        foreach ($deps as $dep) {            if ($dep['type'] != 'pkg') {                continue;            }            if (strtolower($dep['name']) == strtolower($package)) {                return true;            }        }        return false;    }    function getConfigureOptions()    {        if (isset($this->_packageInfo['configure_options'])) {            return $this->_packageInfo['configure_options'];        }        return false;    }    function hasConfigureOptions()    {        return isset($this->_packageInfo['configure_options']) &&            count($this->_packageInfo['configure_options']);    }    function addConfigureOption($name, $prompt, $default = false)    {        $o = array('name' => $name, 'prompt' => $prompt);        if ($default !== false) {            $o['default'] = $default;        }        if (!isset($this->_packageInfo['configure_options'])) {            $this->_packageInfo['configure_options'] = array();        }        $this->_packageInfo['configure_options'][] = $o;    }    function clearConfigureOptions()    {        unset($this->_packageInfo['configure_options']);    }    function getProvides()    {        if (isset($this->_packageInfo['provides'])) {            return $this->_packageInfo['provides'];        }        return false;    }    function addFile($dir, $file, $attrs)    {        $dir = preg_replace(array('!\\\\+!', '!/+!'), array('/', '/'), $dir);        if ($dir == '/' || $dir == '') {            $dir = '';        } else {            $dir .= '/';        }        $file = $dir . $file;        $file = preg_replace('![\\/]+!', '/', $file);        $this->_packageInfo['filelist'][$file] = $attrs;    }    function getInstallationFilelist()    {        return $this->getFilelist();    }    function getFilelist()    {        if (isset($this->_packageInfo['filelist'])) {            return $this->_packageInfo['filelist'];        }        return false;    }    function setFileAttribute($file, $attr, $value)    {        $this->_packageInfo['filelist'][$file][$attr] = $value;    }    function resetFilelist()    {        $this->_packageInfo['filelist'] = array();    }    function setInstalledAs($file, $path)    {        if ($path) {            return $this->_packageInfo['filelist'][$file]['installed_as'] = $path;        }        unset($this->_packageInfo['filelist'][$file]['installed_as']);    }    function installedFile($file, $atts)    {        if (isset($this->_packageInfo['filelist'][$file])) {            $this->_packageInfo['filelist'][$file] =                array_merge($this->_packageInfo['filelist'][$file], $atts);        } else {            $this->_packageInfo['filelist'][$file] = $atts;        }    }    function getChangelog()    {        if (isset($this->_packageInfo['changelog'])) {            return $this->_packageInfo['changelog'];        }        return false;    }    function getPackagexmlVersion()    {        return '1.0';    }    /**     * Wrapper to {@link PEAR_ErrorStack::getErrors()}     * @param boolean determines whether to purge the error stack after retrieving     * @return array     */    function getValidationWarnings($purge = true)    {        return $this->_stack->getErrors($purge);    }    // }}}    /**     * Validation error.  Also marks the object contents as invalid     * @param error code     * @param array error information     * @access private     */    function _validateError($code, $params = array())    {        $this->_stack->push($code, 'error', $params, false, false, debug_backtrace());        $this->_isValid = false;    }    /**     * Validation warning.  Does not mark the object contents invalid.     * @param error code     * @param array error information     * @access private     */    function _validateWarning($code, $params = array())    {        $this->_stack->push($code, 'warning', $params, false, false, debug_backtrace());    }    /**     * @param integer error code     * @access protected     */    function _getErrorMessage()    {        return array(                PEAR_PACKAGEFILE_ERROR_NO_NAME =>                    'Missing Package Name',                PEAR_PACKAGEFILE_ERROR_NO_SUMMARY =>                    'No summary found',                PEAR_PACKAGEFILE_ERROR_MULTILINE_SUMMARY =>                    'Summary should be on one line',                PEAR_PACKAGEFILE_ERROR_NO_DESCRIPTION =>                    'Missing description',                PEAR_PACKAGEFILE_ERROR_NO_LICENSE =>                    'Missing license',                PEAR_PACKAGEFILE_ERROR_NO_VERSION =>                    'No release version found',                PEAR_PACKAGEFILE_ERROR_NO_STATE =>                    'No release state found',                PEAR_PACKAGEFILE_ERROR_NO_DATE =>                    'No release date found',                PEAR_PACKAGEFILE_ERROR_NO_NOTES =>                    'No release notes found',                PEAR_PACKAGEFILE_ERROR_NO_LEAD =>                    'Package must have at least one lead maintainer',                PEAR_PACKAGEFILE_ERROR_NO_MAINTAINERS =>                    'No maintainers found, at least one must be defined',                PEAR_PACKAGEFILE_ERROR_NO_MAINTHANDLE =>                    'Maintainer %index% has no handle (user ID at channel server)',                PEAR_PACKAGEFILE_ERROR_NO_MAINTROLE =>                    'Maintainer %index% has no role',                PEAR_PACKAGEFILE_ERROR_NO_MAINTNAME =>                    'Maintainer %index% has no name',                PEAR_PACKAGEFILE_ERROR_NO_MAINTEMAIL =>                    'Maintainer %index% has no email',                PEAR_PACKAGEFILE_ERROR_NO_DEPNAME =>                    'Dependency %index% is not a php dependency, and has no name',                PEAR_PACKAGEFILE_ERROR_NO_DEPREL =>                    'Dependency %index% has no relation (rel)',                PEAR_PACKAGEFILE_ERROR_NO_DEPTYPE =>                    'Dependency %index% has no type',                PEAR_PACKAGEFILE_ERROR_DEPNAME_IGNORED =>                    'PHP Dependency %index% has a name attribute of "%name%" which will be' .                        ' ignored!',                PEAR_PACKAGEFILE_ERROR_NO_DEPVERSION =>                    'Dependency %index% is not a rel="has" or rel="not" dependency, ' .                        'and has no version',                PEAR_PACKAGEFILE_ERROR_NO_DEPPHPVERSION =>                    'Dependency %index% is a type="php" dependency, ' .                        'and has no version',                PEAR_PACKAGEFILE_ERROR_DEPVERSION_IGNORED =>                    'Dependency %index% is a rel="%rel%" dependency, versioning is ignored',                PEAR_PACKAGEFILE_ERROR_INVALID_DEPOPTIONAL =>                    'Dependency %index% has invalid optional value "%opt%", should be yes or no',                PEAR_PACKAGEFILE_PHP_NO_NOT =>                    'Dependency %index%: php dependencies cannot use "not" rel, use "ne"' .                        ' to exclude specific versions',                PEAR_PACKAGEFILE_ERROR_NO_CONFNAME =>                    'Configure Option %index% has no name',                PEAR_PACKAGEFILE_ERROR_NO_CONFPROMPT =>                    'Configure Option %index% has no prompt',                PEAR_PACKAGEFILE_ERROR_NO_FILES =>                    'No files in <filelist> section of package.xml',                PEAR_PACKAGEFILE_ERROR_NO_FILEROLE =>                    'File "%file%" has no role, expecting one of "%roles%"',                PEAR_PACKAGEFILE_ERROR_INVALID_FILEROLE =>                    'File "%file%" has invalid role "%role%", expecting one of "%roles%"',                PEAR_PACKAGEFILE_ERROR_INVALID_FILENAME =>                    'File "%file%" cannot start with ".", cannot package or install',                PEAR_PACKAGEFILE_ERROR_INVALID_PHPFILE =>                    'Parser error: invalid PHP found in file "%file%"',                PEAR_PACKAGEFILE_ERROR_NO_PNAME_PREFIX =>                    'in %file%: %type% "%name%" not prefixed with package name "%package%"',                PEAR_PACKAGEFILE_ERROR_INVALID_FILE =>                    'Parser error: invalid PHP file "%file%"',                PEAR_PACKAGEFILE_ERROR_CHANNELVAL =>                    'Channel validator error: field "%field%" - %reason%',                PEAR_PACKAGEFILE_ERROR_PHP5 =>                    'Error, PHP5 token encountered in %file%, analysis should be in PHP5',                PEAR_PACKAGEFILE_ERROR_FILE_NOTFOUND =>                    'File "%file%" in package.xml does not exist',                PEAR_PACKAGEFILE_ERROR_NON_ISO_CHARS =>                    'Package.xml contains non-ISO-8859-1 characters, and may not validate',            );    }    /**     * Validate XML package definition file.     *     * @access public     * @return boolean     */    function validate($state = PEAR_VALIDATE_NORMAL, $nofilechecking = false)    {        if (($this->_isValid & $state) == $state) {            return true;        }        $this->_isValid = true;        $info = $this->_packageInfo;        if (empty($info['package'])) {            $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_NAME);            $this->_packageName = $pn = 'unknown';        } else {            $this->_packageName = $pn = $info['package'];        }        if (empty($info['summary'])) {            $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_SUMMARY);        } elseif (strpos(trim($info['summary']), "\n") !== false) {            $this->_validateWarning(PEAR_PACKAGEFILE_ERROR_MULTILINE_SUMMARY,                array('summary' => $info['summary']));        }        if (empty($info['description'])) {            $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_DESCRIPTION);        }        if (empty($info['release_license'])) {            $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_LICENSE);        }        if (empty($info['version'])) {            $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_VERSION);        }        if (empty($info['release_state'])) {            $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_STATE);        }        if (empty($info['release_date'])) {            $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_DATE);        }        if (empty($info['release_notes'])) {            $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_NOTES);        }        if (empty($info['maintainers'])) {            $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_MAINTAINERS);        } else {            $haslead = false;            $i = 1;            foreach ($info['maintainers'] as $m) {                if (empty($m['handle'])) {                    $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_MAINTHANDLE,                        array('index' => $i));                }                if (empty($m['role'])) {                    $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_MAINTROLE,                        array('index' => $i, 'roles' => PEAR_Common::getUserRoles()));                } elseif ($m['role'] == 'lead') {                    $haslead = true;                }                if (empty($m['name'])) {                    $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_MAINTNAME,                        array('index' => $i));                }                if (empty($m['email'])) {                    $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_MAINTEMAIL,                        array('index' => $i));                }                $i++;            }            if (!$haslead) {                $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_LEAD);            }        }        if (!empty($info['release_deps'])) {            $i = 1;            foreach ($info['release_deps'] as $d) {                if (!isset($d['type']) || empty($d['type'])) {                    $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_DEPTYPE,                        array('index' => $i, 'types' => PEAR_Common::getDependencyTypes()));                    continue;                }                if (!isset($d['rel']) || empty($d['rel'])) {                    $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_DEPREL,                        array('index' => $i, 'rels' => PEAR_Common::getDependencyRelations()));                    continue;                }                if (!empty($d['optional'])) {                    if (!in_array($d['optional'], array('yes', 'no'))) {                        $this->_validateError(PEAR_PACKAGEFILE_ERROR_INVALID_DEPOPTIONAL,                            array('index' => $i, 'opt' => $d['optional']));                    }                }                if ($d['rel'] != 'has' && $d['rel'] != 'not' && empty($d['version'])) {                    $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_DEPVERSION,                        array('index' => $i));                } elseif (($d['rel'] == 'has' || $d['rel'] == 'not') && !empty($d['version'])) {                    $this->_validateWarning(PEAR_PACKAGEFILE_ERROR_DEPVERSION_IGNORED,                        array('index' => $i, 'rel' => $d['rel']));                }                if ($d['type'] == 'php' && !empty($d['name'])) {                    $this->_validateWarning(PEAR_PACKAGEFILE_ERROR_DEPNAME_IGNORED,                        array('index' => $i, 'name' => $d['name']));                } elseif ($d['type'] != 'php' && empty($d['name'])) {                    $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_DEPNAME,                        array('index' => $i));                }                if ($d['type'] == 'php' && empty($d['version'])) {                    $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_DEPPHPVERSION,                        array('index' => $i));                }                if (($d['rel'] == 'not') && ($d['type'] == 'php')) {                    $this->_validateError(PEAR_PACKAGEFILE_PHP_NO_NOT,                        array('index' => $i));                }                $i++;            }        }        if (!empty($info['configure_options'])) {            $i = 1;            foreach ($info['configure_options'] as $c) {                if (empty($c['name'])) {                    $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_CONFNAME,                        array('index' => $i));                }                if (empty($c['prompt'])) {                    $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_CONFPROMPT,                        array('index' => $i));                }                $i++;            }        }        if (empty($info['filelist'])) {            $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_FILES);            $errors[] = 'no files';        } else {            foreach ($info['filelist'] as $file => $fa) {                if (empty($fa['role'])) {                    $this->_validateError(PEAR_PACKAGEFILE_ERROR_NO_FILEROLE,                        array('file' => $file, 'roles' => PEAR_Common::getFileRoles()));                    continue;                } elseif (!in_array($fa['role'], PEAR_Common::getFileRoles())) {                    $this->_validateError(PEAR_PACKAGEFILE_ERROR_INVALID_FILEROLE,                        array('file' => $file, 'role' => $fa['role'], 'roles' => PEAR_Common::getFileRoles()));                }                if ($file{0} == '.' && $file{1} == '/') {                    $this->_validateError(PEAR_PACKAGEFILE_ERROR_INVALID_FILENAME,                        array('file' => $file));                }            }        }        if (isset($this->_registry) && $this->_isValid) {            $chan = $this->_registry->getChannel('pear.php.net');            if (PEAR::isError($chan)) {

⌨️ 快捷键说明

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