Esempio n. 1
0
 public function addfuncs()
 {
     if (is_array($GLOBALS['G_DY']["view_registered_functions"])) {
         foreach ($GLOBALS['G_DY']["view_registered_functions"] as $alias => $func) {
             if (is_array($func) && !is_object($func[0])) {
                 $func = array(syClass($func[0]), $func[1]);
             }
             $this->engine->registerPlugin("function", $alias, $func);
             unset($GLOBALS['G_DY']["view_registered_functions"][$alias]);
         }
     }
 }
Esempio n. 2
0
 public function __construct()
 {
     $this->args = $_REQUEST;
     $this->mescape = syClass('syModel');
 }
Esempio n. 3
0
function labelcus($id, $q)
{
    $l = syClass('c_labelcus')->syCache(3600 * 240)->find(array('id' => $id));
    return $l[$q];
}
Esempio n. 4
0
 private function template_html_loop($f)
 {
     preg_match_all('/.*?(\\s*.*?=.*?[\\"|\'].*?[\\"|\']\\s).*?/si', ' ' . $f . ' ', $aa);
     $a = array();
     foreach ($aa[1] as $v) {
         $t = explode('=', trim(str_replace(array('"', "'"), '', $v)));
         $a = array_merge($a, array(trim($t[0]) => trim($t[1])));
     }
     $dbleft = $GLOBALS['G_DY']['db']['prefix'];
     if (strpos($a['table'], '$') !== FALSE) {
         $a['table'] = '".' . $a['table'] . '."';
     }
     if ($a['table'] == 'channel') {
         $db = 'channel';
         $molds = $a['molds'];
     } else {
         $db = $dbleft . $a['table'];
     }
     if ($a['limit'] != '') {
         $limit = ' limit ' . $a['limit'];
     } else {
         $limit = '';
     }
     if ($a['as'] != '') {
         $as = $a['as'];
     } else {
         $as = 'v';
     }
     if ($a['orderby'] != '') {
         $order = 'order by ' . $a['orderby'];
         $order = ' ' . str_replace('|', ' ', $order) . ' ';
     } else {
         $order = '';
     }
     unset($a['table']);
     unset($a['molds']);
     unset($a['orderby']);
     unset($a['orderway']);
     unset($a['limit']);
     unset($a['as']);
     $pages = '';
     switch ($db) {
         case $dbleft . 'article':
             $fielddb = syDB('fields')->findAll(array('molds' => 'article', 'lists' => 1), ' fieldorder DESC,fid ', 'fields');
             foreach ($fielddb as $v) {
                 $fields .= ',' . $v['fields'];
             }
             $field_all = 'id,tid,sid,title,style,trait,gourl,addtime,hits,htmlurl,htmlfile,litpic,orders,mrank,mgold,isshow,keywords,description' . $fields;
             foreach ($a as $k => $v) {
                 if ($k == 'tid') {
                     foreach (explode(',', $v) as $t) {
                         if (strpos($t, '$') !== FALSE) {
                             $t = preg_replace('/\\[.*?\\]/', '["tid_leafid"]', $t);
                             $ts .= ',".' . $t . '."';
                         } else {
                             $ts .= ',' . syClass("syclasstype", array("article"))->leafid($t);
                         }
                     }
                     $w .= 'and tid in(' . substr($ts, 1) . ') ';
                 } else {
                     if ($k == 'trait') {
                         $w .= "and ";
                         if (strpos($v, ',') !== FALSE) {
                             foreach (explode(',', $v) as $tt) {
                                 $trait .= "or trait like '%," . $tt . ",%' ";
                             }
                             $w .= "(" . substr($trait, 3) . ")";
                         } else {
                             $w .= "trait like '%," . $v . ",%' ";
                         }
                     } else {
                         if ($k == 'notrait') {
                             $w .= "and ";
                             if (strpos($v, ',') !== FALSE) {
                                 foreach (explode(',', $v) as $tt) {
                                     $trait .= "or trait not like '%," . $tt . ",%' ";
                                 }
                                 $w .= "(" . substr($trait, 3) . ")";
                             } else {
                                 $w .= "trait not like '%," . $v . ",%' ";
                             }
                         } else {
                             if ($k == 'image') {
                                 $w .= "and ";
                                 if ($v == 1) {
                                     $w .= "litpic!='' ";
                                 }
                                 if ($v == 2) {
                                     $w .= "litpic='' ";
                                 }
                             } else {
                                 if ($k == 'keywords') {
                                     $w .= "and (title like '%" . $v . "%' or keywords like '%" . $v . "%')";
                                 } else {
                                     if ($k == 'page') {
                                         $page = explode(',', $v);
                                         $limit = '';
                                     } else {
                                         if (strpos($field_all, $k) !== FALSE) {
                                             if (strpos($v, '$') !== FALSE) {
                                                 $v = '".' . $v . '."';
                                             }
                                             $w .= "and " . $k . "='" . $v . "' ";
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
             $w = ' where isshow=1 ' . $w;
             if ($order == '') {
                 $order = ' order by orders desc,addtime desc,id desc';
             }
             if ($fielddb) {
                 $sql = 'select ' . $field_all . ' from ' . $db . ' a left join ' . $db . '_field b on (a.id=b.aid)' . $w . $order . $limit;
             } else {
                 $sql = 'select * from ' . $db . $w . $order . $limit;
             }
             $txt = '<?php $' . $as . 'n=0;';
             if ($page) {
                 $total_page = total_page($db . $w);
                 $txt .= '$' . $page[0] . '_class=syClass("c_article");$table' . $as . '= $' . $page[0] . '_class->syPager(syClass("syController")->syArgs("' . $page[0] . '_page",0,1),' . $page[1] . ',' . $total_page . ')->findSql("' . $sql . '");$' . $page[0] . '=pagetxt($' . $page[0] . '_class->syPager()->getPager(),3,"' . $page[0] . '_page");';
             } else {
                 $txt .= '$table' . $as . '=syClass("syModel")->' . $this->sycache . 'findSql("' . $sql . '");';
             }
             $txt .= 'foreach($table' . $as . ' as $' . $as . '){ $' . $as . '["tid_leafid"]=$sy_class_type->leafid($' . $as . '["tid"]);$' . $as . '["n"]=$' . $as . 'n=$' . $as . 'n+1; $' . $as . '["url"]=html_url("article",$' . $as . '); $' . $as . '["title"]=stripslashes($' . $as . '["title"]); $' . $as . '["description"]=stripslashes($' . $as . '["description"]); ?>';
             break;
         case $dbleft . 'product':
             $fielddb = syDB('fields')->findAll(array('molds' => 'product', 'lists' => 1), ' fieldorder DESC,fid ', 'fields');
             foreach ($fielddb as $v) {
                 $fields .= ',' . $v['fields'];
             }
             $field_all = 'id,tid,sid,title,style,trait,gourl,addtime,record,hits,htmlurl,htmlfile,litpic,orders,price,mrank,mgold,isshow,keywords,description' . $fields;
             foreach ($a as $k => $v) {
                 if ($k == 'tid') {
                     foreach (explode(',', $v) as $t) {
                         if (strpos($t, '$') !== FALSE) {
                             $t = preg_replace('/\\[.*?\\]/', '["tid_leafid"]', $t);
                             $ts .= ',".' . $t . '."';
                         } else {
                             $ts .= ',' . syClass("syclasstype", array("product"))->leafid($t);
                         }
                     }
                     $w .= 'and tid in(' . substr($ts, 1) . ') ';
                 } else {
                     if ($k == 'trait') {
                         $w .= "and ";
                         if (strpos($v, ',') !== FALSE) {
                             foreach (explode(',', $v) as $tt) {
                                 $trait .= "or trait like '%," . $tt . ",%' ";
                             }
                             $w .= "(" . substr($trait, 3) . ")";
                         } else {
                             $w .= "trait like '%," . $v . ",%' ";
                         }
                     } else {
                         if ($k == 'notrait') {
                             $w .= "and ";
                             if (strpos($v, ',') !== FALSE) {
                                 foreach (explode(',', $v) as $tt) {
                                     $trait .= "or trait not like '%," . $tt . ",%' ";
                                 }
                                 $w .= "(" . substr($trait, 3) . ")";
                             } else {
                                 $w .= "trait not like '%," . $v . ",%' ";
                             }
                         } else {
                             if ($k == 'image') {
                                 $w .= "and ";
                                 if ($v == 1) {
                                     $w .= "litpic!='' ";
                                 }
                                 if ($v == 2) {
                                     $w .= "litpic='' ";
                                 }
                             } else {
                                 if ($k == 'keywords') {
                                     $w .= "and (title like '%" . $v . "%' or keywords like '%" . $v . "%')";
                                 } else {
                                     if ($k == 'page') {
                                         $page = explode(',', $v);
                                         $limit = '';
                                     } else {
                                         if (strpos($field_all, $k) !== FALSE) {
                                             if (strpos($v, '$') !== FALSE) {
                                                 $v = '".' . $v . '."';
                                             }
                                             $w .= "and " . $k . "='" . $v . "' ";
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
             $w = ' where isshow=1 ' . $w;
             if ($order == '') {
                 $order = ' order by orders desc,addtime desc,id desc';
             }
             if ($fielddb) {
                 $sql = 'select ' . $field_all . ' from ' . $db . ' a left join ' . $db . '_field b on (a.id=b.aid)' . $w . $order . $limit;
             } else {
                 $sql = 'select * from ' . $db . $w . $order . $limit;
             }
             $txt = '<?php $' . $as . 'n=0;';
             if ($page) {
                 $total_page = total_page($db . $w);
                 $txt .= '$' . $page[0] . '_class=syClass("c_product");$table' . $as . '= $' . $page[0] . '_class->syPager(syClass("syController")->syArgs("' . $page[0] . '_page",0,1),' . $page[1] . ',' . $total_page . ')->findSql("' . $sql . '");$' . $page[0] . '=pagetxt($' . $page[0] . '_class->syPager()->getPager(),3,"' . $page[0] . '_page");';
             } else {
                 $txt .= '$table' . $as . '=syClass("syModel")->' . $this->sycache . 'findSql("' . $sql . '");';
             }
             $txt .= 'foreach($table' . $as . ' as $' . $as . '){ $' . $as . '["tid_leafid"]=$sy_class_type->leafid($' . $as . '["tid"]);$' . $as . '["n"]=$' . $as . 'n=$' . $as . 'n+1; $' . $as . '["url"]=html_url("product",$' . $as . '); $' . $as . '["title"]=stripslashes($' . $as . '["title"]); $' . $as . '["description"]=stripslashes($' . $as . '["description"]); ?>';
             break;
         case $dbleft . 'message':
             $fielddb = syDB('fields')->findAll(array('molds' => 'message', 'lists' => 1), ' fieldorder DESC,fid ', 'fields');
             $field_all = 'id,tid,isshow,title,addtime,retime,orders,user,body,reply' . $fields;
             foreach ($a as $k => $v) {
                 if ($k == 'tid') {
                     foreach (explode(',', $v) as $t) {
                         if (strpos($t, '$') !== FALSE) {
                             $t = preg_replace('/\\[.*?\\]/', '["tid_leafid"]', $t);
                             $ts .= ',".' . $t . '."';
                         } else {
                             $ts .= ',' . syClass("syclasstype", array("article"))->leafid($t);
                         }
                     }
                     $w .= 'and tid in(' . substr($ts, 1) . ') ';
                 } else {
                     if ($k == 'reply') {
                         $w .= "and ";
                         if ($v == 1) {
                             $w .= "reply!='' ";
                         }
                         if ($v == 2) {
                             $w .= "reply='' ";
                         }
                     } else {
                         if ($k == 'page') {
                             $page = explode(',', $v);
                             $limit = '';
                         } else {
                             if (strpos($field_all, $k) !== FALSE) {
                                 if (strpos($v, '$') !== FALSE) {
                                     $v = '".' . $v . '."';
                                 }
                                 $w .= "and " . $k . "='" . $v . "' ";
                             }
                         }
                     }
                 }
             }
             if ($w != '') {
                 $w = ' where ' . substr($w, 3);
             }
             if ($order == '') {
                 $order = ' order by orders desc,addtime desc,id desc';
             }
             if ($fielddb) {
                 foreach ($fielddb as $v) {
                     $fields .= ',' . $v['fields'];
                 }
                 $sql = 'select ' . $field_all . ' from ' . $db . ' a left join ' . $db . '_field b on (a.id=b.aid)' . $w . $order . $limit;
             } else {
                 $sql = 'select * from ' . $db . $w . $order . $limit;
             }
             $txt = '<?php ';
             if ($page) {
                 $total_page = total_page($db . $w);
                 $txt .= '$' . $page[0] . '_class=syClass("c_message");$table' . $as . '= $' . $page[0] . '_class->syPager(syClass("syController")->syArgs("' . $page[0] . '_page",0,1),' . $page[1] . ',' . $total_page . ')->findSql("' . $sql . '");$' . $page[0] . '=pagetxt($' . $page[0] . '_class->syPager()->getPager(),3,"' . $page[0] . '_page");';
             } else {
                 $txt .= '$table' . $as . '=syClass("syModel")->' . $this->sycache . 'findSql("' . $sql . '");';
             }
             $txt .= 'foreach($table' . $as . ' as $' . $as . '){?>';
             break;
         case 'channel':
             if (!syDB('molds')->find(array('molds' => $molds), null, 'molds')) {
                 return '';
             }
             $db = $dbleft . $molds;
             $fielddb = syDB('fields')->findAll(array('molds' => $molds, 'lists' => 1), ' fieldorder DESC,fid ', 'fields');
             foreach ($fielddb as $v) {
                 $fields .= ',' . $v['fields'];
             }
             $field_all = 'id,tid,sid,title,style,trait,gourl,addtime,hits,htmlurl,htmlfile,orders,mrank,mgold,isshow,keywords,description' . $fields;
             foreach ($a as $k => $v) {
                 if ($k == 'tid') {
                     foreach (explode(',', $v) as $t) {
                         if (strpos($t, '$') !== FALSE) {
                             $t = preg_replace('/\\[.*?\\]/', '["tid_leafid"]', $t);
                             $ts .= ',".' . $t . '."';
                         } else {
                             $ts .= ',' . syClass("syclasstype", array("article"))->leafid($t);
                         }
                     }
                     $w .= 'and tid in(' . substr($ts, 1) . ') ';
                 } else {
                     if ($k == 'trait') {
                         $w .= "and ";
                         if (strpos($v, ',') !== FALSE) {
                             foreach (explode(',', $v) as $tt) {
                                 $trait .= "or trait like '%," . $tt . ",%' ";
                             }
                             $w .= "(" . substr($trait, 3) . ")";
                         } else {
                             $w .= "trait like '%," . $v . ",%' ";
                         }
                     } else {
                         if ($k == 'notrait') {
                             $w .= "and ";
                             if (strpos($v, ',') !== FALSE) {
                                 foreach (explode(',', $v) as $tt) {
                                     $trait .= "or trait not like '%," . $tt . ",%' ";
                                 }
                                 $w .= "(" . substr($trait, 3) . ")";
                             } else {
                                 $w .= "trait not like '%," . $v . ",%' ";
                             }
                         } else {
                             if ($k == 'keywords') {
                                 $w .= "and (title like '%" . $v . "%' or keywords like '%" . $v . "%')";
                             } else {
                                 if ($k == 'page') {
                                     $page = explode(',', $v);
                                     $limit = '';
                                 } else {
                                     if (strpos($field_all, $k) !== FALSE) {
                                         if (strpos($v, '$') !== FALSE) {
                                             $v = '".' . $v . '."';
                                         }
                                         $w .= "and " . $k . "='" . $v . "' ";
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
             $w = ' where isshow=1 ' . $w;
             if ($order == '') {
                 $order = ' order by orders desc,addtime desc,id desc';
             }
             if ($fielddb) {
                 $sql = 'select ' . $field_all . ' from ' . $db . ' a left join ' . $db . '_field b on (a.id=b.aid)' . $w . $order . $limit;
             } else {
                 $sql = 'select * from ' . $db . $w . $order . $limit;
             }
             $txt = '<?php $' . $as . 'n=0;';
             if ($page) {
                 $total_page = total_page($db . $w);
                 $txt .= '$' . $page[0] . '_class=syClass("c_' . $molds . '");$table' . $as . '= $' . $page[0] . '_class->syPager(syClass("syController")->syArgs("' . $page[0] . '_page",0,1),' . $page[1] . ',' . $total_page . ')->findSql("' . $sql . '");$' . $page[0] . '=pagetxt($' . $page[0] . '_class->syPager()->getPager(),3,"' . $page[0] . '_page");';
             } else {
                 $txt .= '$table' . $as . '=syClass("syModel")->' . $this->sycache . 'findSql("' . $sql . '");';
             }
             $txt .= 'foreach($table' . $as . ' as $' . $as . '){ $' . $as . '["tid_leafid"]=$sy_class_type->leafid($' . $as . '["tid"]);$' . $as . '["n"]=$' . $as . 'n=$' . $as . 'n+1; $' . $as . '["url"]=html_url("channel",$' . $as . ',0,0,' . $molds . '); $' . $as . '["title"]=stripslashes($' . $as . '["title"]); $' . $as . '["description"]=stripslashes($' . $as . '["description"]); ?>';
             break;
         case $dbleft . 'classtype':
             $field_all = 'tid,molds,pid,classname,gourl,litpic,title,keywords,description,orders,mrank,htmldir,htmlfile,mshow';
             foreach ($a as $k => $v) {
                 if ($k == 'not' && $a['pid']) {
                     $not = 1;
                 } else {
                     if ($k != 'not' && strpos($field_all, $k) !== FALSE) {
                         if ($k == 'pid') {
                             $p = $v;
                         }
                         if (strpos($v, '$') !== FALSE) {
                             $v = '".' . $v . '."';
                         }
                         $w .= "and " . $k . "='" . $v . "' ";
                     } else {
                         if ($k == 'body') {
                             if ($v == 1) {
                                 $field_all = $field_all . ',body';
                             }
                         }
                     }
                 }
             }
             if (!$a['pid'] && !$a['tid']) {
                 $w .= 'and pid=0 ';
             }
             if ($w) {
                 $w = " where " . substr($w, 3);
             }
             if ($order == '') {
                 $order = ' order by orders desc,tid';
             }
             $sql = 'select ' . $field_all . ' from ' . $db . $w . $order . $limit;
             if ($not == 1) {
                 if ($a['mshow']) {
                     $notarr = ',"mshow"=>' . $v;
                 }
                 $txt = '<?php $ytid=$type[tid];if(!syDB("classtype")->find(array("pid"=>' . $p . $notarr . '),null,"tid")){ $ypid=syDB("classtype")->find(array("tid"=>' . $p . $notarr . '),null,"pid");$type[tid]=$ypid[pid];} ?>';
             }
             $txt .= '<?php $' . $as . 'n=0;$table' . $as . '=syClass("syModel")->' . $this->sycache . 'findSql("' . $sql . '");';
             if ($not == 1) {
                 $txt .= '$type[tid]=$ytid;';
             }
             $txt .= 'foreach($table' . $as . ' as $' . $as . '){ $' . $as . '["tid_leafid"]=$sy_class_type->leafid($' . $as . '["tid"]);$' . $as . '["n"]=$' . $as . 'n=$' . $as . 'n+1; $' . $as . '["classname"]=stripslashes($' . $as . '["classname"]);$' . $as . '["description"]=stripslashes($' . $as . '["description"]); $' . $as . '["url"]=html_url("classtype",$' . $as . '); ?>';
             break;
         case $dbleft . 'special':
             $field_all = 'sid,molds,name,gourl,litpic,title,keywords,description,orders,htmldir,htmlfile,isshow';
             foreach ($a as $k => $v) {
                 if (strpos($field_all, $k) !== FALSE) {
                     if (strpos($v, '$') !== FALSE) {
                         $v = '".' . $v . '."';
                     }
                     $w .= "and " . $k . "='" . $v . "' ";
                 } else {
                     if ($k == 'body') {
                         if ($v == 1) {
                             $field_all = $field_all . ',body';
                         }
                     }
                 }
             }
             if ($w) {
                 $w = " where isshow=1 " . $w;
             }
             if ($order == '') {
                 $order = ' order by orders desc,sid';
             }
             $sql = 'select ' . $field_all . ' from ' . $db . $w . $order . $limit;
             $txt .= '<?php $' . $as . 'n=0;$table' . $as . '=syClass("syModel")->' . $this->sycache . 'findSql("' . $sql . '");foreach($table' . $as . ' as $' . $as . '){ $' . $as . '["n"]=$' . $as . 'n=$' . $as . 'n+1; $' . $as . '["name"]=stripslashes($' . $as . '["name"]);$' . $as . '["description"]=stripslashes($' . $as . '["description"]); $' . $as . '["url"]=html_url("special",$' . $as . '); ?>';
             break;
         case $dbleft . 'ads':
             $field_all = 'id,taid,orders,name,type,adsw,adsh,adfile,body,gourl,target,isshow';
             foreach ($a as $k => $v) {
                 if (strpos($field_all, $k) !== FALSE) {
                     if (strpos($v, '$') !== FALSE) {
                         $v = '".' . $v . '."';
                     }
                     $w .= "and " . $k . "='" . $v . "' ";
                 }
             }
             $w = " where isshow=1 " . $w;
             if ($order == '') {
                 $order = ' order by orders desc,id desc';
             }
             $sql = 'select * from ' . $db . $w . $order . $limit;
             $txt = '<?php $' . $as . 'n=0;$table' . $as . '=syClass("syModel")->' . $this->sycache . 'findSql("' . $sql . '");foreach($table' . $as . ' as $' . $as . '){ $' . $as . '["n"]=$' . $as . 'n=$' . $as . 'n+1; $' . $as . '["name"]=stripslashes($' . $as . '["name"]); ?>';
             break;
         case $dbleft . 'links':
             $field_all = 'id,taid,orders,name,image,gourl,isshow';
             foreach ($a as $k => $v) {
                 if ($k == 'type') {
                     if ($v == 'image') {
                         $w .= "and image!='' ";
                     }
                     if ($v == 'text') {
                         $w .= "and image='' ";
                     }
                 } else {
                     if (strpos($field_all, $k) !== FALSE) {
                         if (strpos($v, '$') !== FALSE) {
                             $v = '".' . $v . '."';
                         }
                         $w .= "and " . $k . "='" . $v . "' ";
                     }
                 }
             }
             $w = " where isshow=1 " . $w;
             if ($order == '') {
                 $order = ' order by orders desc,id desc';
             }
             $sql = 'select * from ' . $db . $w . $order . $limit;
             $txt = '<?php $table' . $as . '=syClass("syModel")->' . $this->sycache . 'findSql("' . $sql . '");foreach($table' . $as . ' as $' . $as . '){ $' . $as . '["name"]=stripslashes($' . $as . '["name"]); ?>';
             break;
         default:
             foreach ($a as $k => $v) {
                 if ($k == 'tid') {
                     $leafid = '$leafid=syClass("syclasstype")->leafid(' . $v . ');';
                     $w .= 'and tid in(".$leafid.") ';
                 } else {
                     if (strpos($v, '$') !== FALSE) {
                         $v = '".' . $v . '."';
                     }
                     $w .= "and " . $k . "='" . $v . "' ";
                 }
             }
             if ($w != '') {
                 $w = ' where ' . substr($w, 3);
             }
             $sql = 'select * from ' . $db . $w . $order . $limit;
             $txt = '<?php ' . $leafid . '$table' . $as . '=syClass("syModel")->' . $this->sycache . 'findSql("' . $sql . '");foreach($table' . $as . ' as $' . $as . '){ ';
             if (strpos($db, '[molds]') !== FALSE) {
                 $molds = explode('.', $db);
                 $txt .= '$' . $as . '["url"]=html_url(' . $molds[1] . ',$' . $as . ');';
             }
             $txt .= '?>';
             break;
     }
     return $txt;
 }
Esempio n. 5
0
 private function checkrules($values)
 {
     $this->checkvalues = $values;
     foreach ($this->verifier["rules"] as $rkey => $rval) {
         $inputval = isset($values[$rkey]) ? $values[$rkey] : '';
         foreach ($rval as $rule => $rightval) {
             if (method_exists($this, $rule)) {
                 if (TRUE == $this->{$rule}($inputval, $rightval)) {
                     continue;
                 }
             } elseif (null != $this->add_rules && isset($this->add_rules[$rule])) {
                 if (function_exists($this->add_rules[$rule])) {
                     if (TRUE == $this->add_rules[$rule]($inputval, $rightval, $values)) {
                         continue;
                     }
                 } elseif (is_array($this->add_rules[$rule])) {
                     if (TRUE == syClass($this->add_rules[$rule][0])->{$this->add_rules[$rule][1]}($inputval, $rightval, $values)) {
                         continue;
                     }
                 }
             } else {
                 syError("未知规则:{$rule}");
             }
             $this->messages[$rkey][] = isset($this->verifier["messages"][$rkey][$rule]) ? $this->verifier["messages"][$rkey][$rule] : "{$rule}";
         }
     }
     return null == $this->messages ? FALSE : $this->messages;
 }