当前位置: 首页>>代码示例>>PHP>>正文


PHP PEAR_ErrorStack::push方法代码示例

本文整理汇总了PHP中PEAR_ErrorStack::push方法的典型用法代码示例。如果您正苦于以下问题:PHP PEAR_ErrorStack::push方法的具体用法?PHP PEAR_ErrorStack::push怎么用?PHP PEAR_ErrorStack::push使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PEAR_ErrorStack的用法示例。


在下文中一共展示了PEAR_ErrorStack::push方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: check

 /**
  * vérifie qu'un objet DocInfos correspond à ce type de document
  * @param object $docinfos
  * @return boolean true si le document correspond au type
  */
 function check($docinfos)
 {
     $res = array();
     if (!$this->id) {
         return false;
     }
     /* On vérifie que l'accroche est correcte */
     if ($this->accroche && $docinfos->accroche == '') {
         $this->errors->push(OW_NO_ABSTRACT, 'error');
     }
     /* Nombre total de classements dans $docinfos */
     $nb = 0;
     /* On compte le nombre d'entrées dans $docinfos pour chaque critère
        qui se trouve dans $this->max ou $this->min. On calcule au passage
        également le nombre total d'entrées. */
     $compte = array();
     foreach (array_unique(array_merge(array_keys($this->max), array_keys($this->min))) as $critere) {
         $nb += $compte[$critere] = isset($docinfos->classement[$critere]) ? count($docinfos->classement[$critere]) : 0;
     }
     /* On vérifie que le nombre de classement pour chaque critère est dans
        le bon intervalle */
     foreach (array_keys($this->max) as $critere) {
         /* Il n'y a pas de maximum si $this->max[$critere] est négatif */
         if ($this->max[$critere] >= 0 && $compte[$critere] > $this->max[$critere]) {
             $this->errors->push(OW_TOO_MANY_SUBJECTS, 'error', array('criterion' => $critere, 'limit' => $this->max[$critere]));
         }
     }
     foreach (array_keys($this->min) as $critere) {
         if ($compte[$critere] < $this->min[$critere]) {
             $this->errors->push(OW_TOO_FEW_SUBJECTS, 'error', array('criterion' => $critere, 'limit' => $this->min[$critere]));
         }
     }
     /* Le nombre total de classements est-il compris entre les
        deux valeurs imposées ? */
     if ($nb > $this->total_max) {
         $this->errors->push(OW_TOO_MANY_SUBJECTS, 'error', array('limit' => $this->total_max));
     }
     if ($nb < $this->total_min) {
         $this->errors->push(OW_TOO_FEW_SUBJECTS, 'error', array('limit' => $this->total_min));
     }
     return !$this->errors->hasErrors();
 }
开发者ID:BackupTheBerlios,项目名称:openweb-cms-svn,代码行数:47,代码来源:DocumentType.class.php

示例2: array

 /**
  * 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());
 }
开发者ID:michabbb,项目名称:pear-core,代码行数:10,代码来源:v1.php

示例3: analyzeSourceCode

 /**
  * Analyze the source code of the given PHP file
  *
  * @param  string Filename of the PHP file
  * @param  boolean whether to analyze $file as the file contents
  * @return mixed
  */
 function analyzeSourceCode($file, $string = false)
 {
     if (!function_exists("token_get_all")) {
         $this->_stack->push(__FUNCTION__, 'error', array('file' => $file), 'Parser error: token_get_all() function must exist to analyze source code, PHP may have been compiled with --disable-tokenizer');
         return false;
     }
     if (!defined('T_DOC_COMMENT')) {
         define('T_DOC_COMMENT', T_COMMENT);
     }
     if (!defined('T_INTERFACE')) {
         define('T_INTERFACE', -1);
     }
     if (!defined('T_IMPLEMENTS')) {
         define('T_IMPLEMENTS', -1);
     }
     if ($string) {
         $contents = $file;
     } else {
         if (!($fp = @fopen($file, "r"))) {
             return false;
         }
         fclose($fp);
         $contents = file_get_contents($file);
     }
     // Silence this function so we can catch PHP Warnings and show our own custom message
     $tokens = @token_get_all($contents);
     if (isset($php_errormsg)) {
         if (isset($this->_stack)) {
             $pn = $this->_pf->getPackage();
             $this->_stack->push(__FUNCTION__, 'warning', array('file' => $file, 'package' => $pn), 'in %file%: Could not process file for unkown reasons,' . ' possibly a PHP parse error in %file% from %package%');
         }
     }
     /*
             for ($i = 0; $i < sizeof($tokens); $i++) {
                 @list($token, $data) = $tokens[$i];
                 if (is_string($token)) {
                     var_dump($token);
                 } else {
                     print token_name($token) . ' ';
                     var_dump(rtrim($data));
                 }
             }
     */
     $look_for = 0;
     $paren_level = 0;
     $bracket_level = 0;
     $brace_level = 0;
     $lastphpdoc = '';
     $current_class = '';
     $current_interface = '';
     $current_class_level = -1;
     $current_function = '';
     $current_function_level = -1;
     $declared_classes = array();
     $declared_interfaces = array();
     $declared_functions = array();
     $declared_methods = array();
     $used_classes = array();
     $used_functions = array();
     $extends = array();
     $implements = array();
     $nodeps = array();
     $inquote = false;
     $interface = false;
     for ($i = 0; $i < sizeof($tokens); $i++) {
         if (is_array($tokens[$i])) {
             list($token, $data) = $tokens[$i];
         } else {
             $token = $tokens[$i];
             $data = '';
         }
         if ($inquote) {
             if ($token != '"' && $token != T_END_HEREDOC) {
                 continue;
             } else {
                 $inquote = false;
                 continue;
             }
         }
         switch ($token) {
             case T_WHITESPACE:
                 continue;
             case ';':
                 if ($interface) {
                     $current_function = '';
                     $current_function_level = -1;
                 }
                 break;
             case '"':
             case T_START_HEREDOC:
                 $inquote = true;
                 break;
             case T_CURLY_OPEN:
//.........这里部分代码省略.........
开发者ID:racontemoi,项目名称:mamp,代码行数:101,代码来源:Validator.php

示例4: updateProperty

 /**
  * Updates the properties of the containers from the original source.
  *
  * @param bool if the auth container should be updated
  * @param bool if the perm container should be updated
  * @return bool true on success and false on failure
  *
  * @access public
  */
 function updateProperty($auth, $perm = null, $accountId = 0)
 {
     if (!is_a($this->_auth, 'LiveUser_Auth_Common')) {
         $this->stack->push(LIVEUSER_ERROR, 'error', array(), 'Cannot update container if no auth container instance is available');
         return false;
     }
     if ($auth && !$this->_auth->readUserData(null, null, $this->_auth->getProperty('auth_user_id'), $accountId)) {
         return false;
     }
     if (is_null($perm)) {
         $perm = is_a($this->_perm, 'LiveUser_Perm_Simple');
     }
     if ($perm) {
         if (!is_a($this->_perm, 'LiveUser_Perm_Simple')) {
             $this->stack->push(LIVEUSER_ERROR, 'error', array(), 'Cannot update container if no perm container instance is available');
             return false;
         }
         if (!$this->_perm->mapUser($this->_auth->getProperty('auth_user_id'), $this->_auth->containerName)) {
             return false;
         }
     }
     $this->_freeze();
     return true;
 }
开发者ID:laiello,项目名称:punchcms,代码行数:33,代码来源:LiveUser.php

示例5: array

 /**
  * 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);
 }
开发者ID:HaldunA,项目名称:phpwebsite,代码行数:10,代码来源:ChannelFile.php

示例6: array

 function _missingFile($file)
 {
     $this->_stack->push(__FUNCTION__, 'error', array('file' => $file), 'package.xml 1.0 file "%file%" is not present in <contents>');
 }
开发者ID:soar-team,项目名称:kloxo,代码行数:4,代码来源:v2.php

示例7: array

 /**
  * Finds and gets full userinfo by filtering inside the auth container
  *
  * @param  array auth params (as for getUsers() from the auth container
  * @return array|bool Array with userinfo if found on success or false otherwise
  *
  * @access private
  */
 function _getUsersByAuth($authParams = array())
 {
     if (!is_object($this->auth) || !is_object($this->perm)) {
         $this->stack->push(LIVEUSER_ADMIN_ERROR, 'exception', array('msg' => 'Perm and/or Auth container not set.'));
         return false;
     }
     $first = $authParams['select'] == 'row';
     $authUsers = $this->auth->getUsers($authParams);
     if (!$authUsers) {
         return $authUsers;
     }
     if ($first) {
         $authUsers = array($authUsers);
     }
     $users = array();
     foreach ($authUsers as $authData) {
         $permParams = array('filters' => array('auth_user_id' => $authData['auth_user_id'], 'auth_container_name' => $this->authContainerName), 'select' => 'row');
         $permData = $this->perm->getUsers($permParams);
         if (!$permData) {
             continue;
         }
         if ($first) {
             return LiveUser::arrayMergeClobber($authData, $permData);
         }
         $users[] = LiveUser::arrayMergeClobber($authData, $permData);
     }
     return $users;
 }
开发者ID:ookwudili,项目名称:chisimba,代码行数:36,代码来源:Admin.php

示例8: analyzeSourceCode


//.........这里部分代码省略.........
                 break;
             case T_CURLY_OPEN:
             case T_DOLLAR_OPEN_CURLY_BRACES:
             case '{':
                 $brace_level++;
                 continue 2;
             case '}':
                 $brace_level--;
                 if ($current_class_level == $brace_level) {
                     $current_class = '';
                     $current_class_level = -1;
                 }
                 if ($current_function_level == $brace_level) {
                     $current_function = '';
                     $current_function_level = -1;
                 }
                 continue 2;
             case '[':
                 $bracket_level++;
                 continue 2;
             case ']':
                 $bracket_level--;
                 continue 2;
             case '(':
                 $paren_level++;
                 continue 2;
             case ')':
                 $paren_level--;
                 continue 2;
             case T_INTERFACE:
                 $interface = true;
             case T_CLASS:
                 if ($current_class_level != -1 || $current_function_level != -1) {
                     $this->_stack->push(__FUNCTION__, 'error', array('file' => $file), 'Parser error: invalid PHP found in file "%file%"');
                     return false;
                 }
             case T_FUNCTION:
             case T_NEW:
             case T_EXTENDS:
             case T_IMPLEMENTS:
                 $look_for = $token;
                 continue 2;
             case T_STRING:
                 if (version_compare(zend_version(), '2.0', '<')) {
                     if (in_array(strtolower($data), array('public', 'private', 'protected', 'abstract', 'interface', 'implements', 'clone', 'throw'))) {
                         $this->_stack->push(__FUNCTION__, 'warning', array(), 'Error, PHP5 token encountered, analysis should be in PHP5');
                     }
                 }
                 if ($look_for == T_CLASS) {
                     $current_class = $data;
                     $current_class_level = $brace_level;
                     $declared_classes[] = $current_class;
                 } elseif ($look_for == T_INTERFACE) {
                     $current_interface = $data;
                     $current_class_level = $brace_level;
                     $declared_interfaces[] = $current_interface;
                 } elseif ($look_for == T_IMPLEMENTS) {
                     $implements[$current_class] = $data;
                 } elseif ($look_for == T_EXTENDS) {
                     $extends[$current_class] = $data;
                 } elseif ($look_for == T_FUNCTION) {
                     if ($current_class) {
                         $current_function = "{$current_class}::{$data}";
                         $declared_methods[$current_class][] = $data;
                     } elseif ($current_interface) {
                         $current_function = "{$current_interface}::{$data}";
开发者ID:laiello,项目名称:coopcrucial,代码行数:67,代码来源:Validator.php

示例9: readUserData

 /**
  * Reads user data from the given data source
  * If only $handle is given, it will read the data
  * from the first user with that handle and return
  * true on success.
  * If $handle and $passwd are given, it will try to
  * find the first user with both handle and password
  * matching and return true on success (this allows
  * multiple users having the same handle but different
  * passwords - yep, some people want this).
  * if only an auth_user_id is passed it will try to read the data based on the id
  * If no match is found, false is being returned.
  *
  * Again, this does nothing in the base class. The
  * described functionality must be implemented in a
  * subclass overriding this method.
  *
  * @param  string user handle
  * @param  string user password
  * @param  bool|int if the user data should be read using the auth user id
  * @return bool true on success or false on failure
  *
  * @access public
  */
 function readUserData($handle = '', $passwd = '', $auth_user_id = false)
 {
     $this->stack->push(LIVEUSER_ERROR_NOT_SUPPORTED, 'exception', array('feature' => 'readUserData'));
     return false;
 }
开发者ID:BackupTheBerlios,项目名称:flushcms,代码行数:29,代码来源:Common.php

示例10: init

 /**
  * Load and initialize the storage container.
  *
  * @param array Array with the configuration
  * @return bool true on success or false on failure
  *
  * @access public
  */
 function init(&$conf)
 {
     if (!array_key_exists('storage', $conf)) {
         $this->stack->push(LIVEUSER_ERROR, 'exception', array('msg' => 'Missing storage configuration array'));
         return false;
     }
     if (is_array($conf)) {
         $keys = array_keys($conf);
         foreach ($keys as $key) {
             if (isset($this->{$key})) {
                 $this->{$key} =& $conf[$key];
             }
         }
     }
     $this->_storage =& LiveUser::storageFactory($conf['storage']);
     if ($this->_storage === false) {
         end($conf['storage']);
         $key = key($conf['storage']);
         $this->stack->push(LIVEUSER_ERROR, 'exception', array('msg' => 'Could not instanciate perm storage container: ' . $key));
         return false;
     }
     return true;
 }
开发者ID:BackupTheBerlios,项目名称:flushcms,代码行数:31,代码来源:Simple.php

示例11: array

 function _repackageErrorStack($err)
 {
     $this->errors->push(17, 'error', array(), false, $err);
     return PEAR_ERRORSTACK_IGNORE;
 }
开发者ID:BackupTheBerlios,项目名称:openweb-cms-svn,代码行数:5,代码来源:Document.class.php

示例12: setPearinstallerDep

 /**
  * @param string minimum allowed PEAR installer version
  * @param string maximum allowed PEAR installer version
  * @param string recommended PEAR installer version
  * @param array incompatible version of the PEAR installer
  */
 function setPearinstallerDep($min, $max = false, $recommended = false, $exclude = false)
 {
     $this->_isValid = 0;
     $dep = array('min' => $min);
     if ($max) {
         $dep['max'] = $max;
     }
     if ($recommended) {
         $dep['recommended'] = $recommended;
     }
     if ($exclude) {
         if (count($exclude) == 1) {
             $exclude = $exclude[0];
         }
         $dep['exclude'] = $exclude;
     }
     if (isset($this->_packageInfo['dependencies']['required']['pearinstaller'])) {
         $this->_stack->push(__FUNCTION__, 'warning', array('dep' => $this->_packageInfo['dependencies']['required']['pearinstaller']), 'warning: PEAR Installer dependency already exists, overwriting');
         unset($this->_packageInfo['dependencies']['required']['pearinstaller']);
     }
     $this->_packageInfo = $this->_mergeTag($this->_packageInfo, $dep, array('dependencies' => array('providesextension', 'srcpackage', 'srcuri', 'phprelease', 'extsrcrelease', 'extbinrelease', 'bundle', 'changelog'), 'required' => array('optional', 'group'), 'pearinstaller' => array('package', 'subpackage', 'extension', 'os', 'arch')));
 }
开发者ID:alex-k,项目名称:velotur,代码行数:28,代码来源:v2.php

示例13: updateProperty

 /**
  * updates the properties of the containers from the original source
  *
  * @param  boolean $auth if the auth container should be updated
  * @param  boolean $perm if the perm container should be updated
  * @return boolean
  *
  * @access public
  */
 function updateProperty($auth, $perm = null)
 {
     if (!is_a($this->_auth, 'LiveUser_Auth_Common')) {
         $this->_stack->push(LIVEUSER_ERROR, 'error', array(), 'Cannot update container if no auth container instance is available');
         return false;
     }
     if ($auth && !$this->_auth->readUserData('', '', true)) {
         return false;
     }
     if (is_null($perm)) {
         $perm = is_a($this->_perm, 'LiveUser_Perm_Simple');
     }
     if ($perm) {
         if (!is_a($this->_perm, 'LiveUser_Perm_Simple')) {
             $this->_stack->push(LIVEUSER_ERROR, 'error', array(), 'Cannot update container if no perm container instance is available');
             return false;
         }
         if (!$this->_perm->mapUser($this->_auth->getProperty('auth_user_id'), $this->_auth->backendArrayIndex)) {
             return false;
         }
     }
     return true;
 }
开发者ID:Zunair,项目名称:xataface,代码行数:32,代码来源:LiveUser.php


注:本文中的PEAR_ErrorStack::push方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。