Exemplo n.º 1
0
 public function __construct($sType, $sMessage, $arrMessageArgs = null)
 {
     parent::__construct();
     $this->sType = $sType;
     $this->sMessage = $sMessage;
     $this->arrMessageArgs = Type::toArray($arrMessageArgs);
 }
Exemplo n.º 2
0
 public function __construct(ParseState $aParseState, $sMessage, $argvs = null)
 {
     $argvs = Type::toArray($argvs, Type::toArray_emptyForNull);
     $sMessage .= "\r\n遇到问题的地方:%s";
     $argvs[] = implode(' ', array_slice($aParseState->arrTokenList, key($aParseState->arrTokenList), 30));
     $sMessage .= "\r\n完整的SQL:%s";
     $argvs[] = implode(' ', $aParseState->arrTokenList);
     parent::__construct($sMessage, $argvs);
 }
Exemplo n.º 3
0
 /**
  * @wiki /MVC模式/数据交换和数据校验/数据校验
  * ==Email格式校验==
  * 验证输入的Email格式的正确性
  */
 public function buildBean(array &$arrConfig, $sNamespace = '*', \org\jecat\framework\bean\BeanFactory $aBeanFactory = null)
 {
     if (!is_callable($arrConfig['callback'])) {
         throw new BeanConfException("callback 类型的校验器的 callback 属性必须是一个回调函数");
     }
     $this->fnCallback = $arrConfig['callback'];
     if (array_key_exists('argvs', $arrConfig)) {
         $this->arrArgvs = Type::toArray($arrConfig['argvs'], Type::toArray_normal);
     }
     $this->arrBeanConfig = $arrConfig;
 }
Exemplo n.º 4
0
 public function handle()
 {
     $arrOriArgvs = $arrArgvs = func_get_args();
     if (!$this->bWorking or empty($this->arrFilters)) {
         return $arrOriArgvs;
     }
     foreach ($this->arrFilters as &$arrFilter) {
         $arrFilterFuncArgvs = array_merge($arrArgvs, $arrFilter[1]);
         try {
             $arrArgvs = Type::toArray(call_user_func_array($arrFilter[0], $arrFilterFuncArgvs), Type::toArray_normal);
             if (($miss = count($arrOriArgvs) - count($arrArgvs)) > 0) {
                 while ($miss--) {
                     $arrArgvs[] = null;
                 }
             }
         } catch (StopFilterSignal $e) {
             return $e->returnVariables();
         }
     }
     return $arrArgvs;
 }
Exemplo n.º 5
0
 public function trans($sOriWords, $argvs = null, $sLibName = 'base')
 {
     $arrArgvs = Type::toArray($argvs);
     return $this->sentenceLibrary($sLibName)->trans($sOriWords, $argvs);
 }
Exemplo n.º 6
0
 public function __construct(&$arrTokenTree, &$token, $sMessage, $argvs = null)
 {
     $argvs = Type::toArray($argvs, Type::toArray_emptyForNull);
     $sMessage .= "\r\n 正在处理的Sql Raw:" . var_export($arrTokenTree, true);
     parent::__construct($sMessage, $argvs);
 }
Exemplo n.º 7
0
 public function trans($sOriWords, $argvs = null)
 {
     $arrArgvs = Type::toArray($argvs);
     $sKey = md5($sOriWords);
     if (!isset($this->arrSentences[$sKey])) {
         $sSentence = $sOriWords;
         $this->arrNewSentences[$sKey] = $sOriWords;
     } else {
         $sSentence = $this->arrSentences[$sKey];
     }
     return $arrArgvs ? call_user_func_array('sprintf', array_merge(array($sSentence), $arrArgvs)) : $sSentence;
 }
Exemplo n.º 8
0
 public function setExclude($exclude)
 {
     Type::toArray($exclude);
     $this->arrExclude = $exclude;
 }
Exemplo n.º 9
0
 public function setFromKeys($fromKeys)
 {
     $this->arrFromKeys = Type::toArray($fromKeys);
 }
Exemplo n.º 10
0
 /**
  * Enter description here ...
  * 
  * @return void
  */
 public function __construct($sMessage, $Argvs = array(), \Exception $aCause = null, $nCode = 0)
 {
     $this->arrArgvs = \org\jecat\framework\lang\Type::toArray($Argvs);
     $this->sMessage = $sMessage;
     parent::__construct($this->message(), $nCode, $aCause);
 }
Exemplo n.º 11
0
 public function verify($value, $bThrowExcetion = false)
 {
     $aVerifyFailed = new VerifyFailed('');
     foreach ($this->arrVerifiers as $nIdx => $aVerifier) {
         try {
             $aVerifier->verify($value, true);
         } catch (VerifyFailed $e) {
             // 通过回调函数报告错误
             if ($this->arrVerifierOthers[$nIdx][1]) {
                 call_user_func_array($this->arrVerifierOthers[$nIdx][1], array_merge(array($value, $aVerifier, $e, $this->arrVerifierOthers[$nIdx][0]), Type::toArray($this->arrVerifierOthers[$nIdx][2], Type::toArray_normal)));
             } else {
                 if ($bThrowExcetion) {
                     if ($this->arrVerifierOthers[$nIdx][0]) {
                         throw new VerifyFailed($this->arrVerifierOthers[$nIdx][0], null, $e);
                     } else {
                         throw $e;
                     }
                 }
             }
             return false;
         }
     }
     return true;
 }
Exemplo n.º 12
0
 /**
  *  本函数接受一个数组(多个列)或一个字符串(一个列)。
  * @return Prototype
  */
 public function addColumns($columnNames)
 {
     if ($this->arrColumns === self::youKnow or $this->arrColumns == '*') {
         $this->arrColumns = array();
     }
     foreach (Type::toArray($columnNames) as $sColumnName) {
         if ($sColumnName and !in_array($sColumnName, $this->arrColumns)) {
             $this->arrColumns[] = $sColumnName;
         }
     }
     return $this;
 }