fixed check module grant

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9624 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
devjin 2011-10-13 02:04:38 +00:00
parent 28efdf9307
commit 289f077588
3 changed files with 9 additions and 6 deletions

View file

@ -159,6 +159,9 @@ class Validator
$names = array();
if($key{0} == '^') {
$names = preg_grep('/^'.preg_quote(substr($key,1)).'/', $field_names);
}elseif(substr($key,-2) == '[]'){
$filters[substr($key,0,-2)] = $filter;
unset($filters[$key]);
}
if(!count($names)) continue;
@ -171,11 +174,13 @@ class Validator
}
foreach($filters as $key=>$filter) {
$fname = $key;
$fname = preg_replace('/\[\]$/', '', $key);
$exists = array_key_exists($key, $fields);
$filter = array_merge($filter_default, $filter);
$value = $exists ? $fields[$fname] : null;
if(is_array($value)) $value = implode('', $value);
// conditional statement
foreach($filter['if'] as $cond) {
if(!isset($cond['test']) || !isset($cond['attr'])) continue;