增加view_filter行为标签

This commit is contained in:
thinkphp
2016-02-04 19:56:20 +08:00
parent 3fd22af62b
commit 13259ce755
2 changed files with 28 additions and 26 deletions

View File

@@ -176,6 +176,8 @@ class View
} }
// 获取并清空缓存 // 获取并清空缓存
$content = ob_get_clean(); $content = ob_get_clean();
// 内容过滤标签
APP_HOOK && Hook::listen('view_filter', $content);
// 允许用户自定义模板的字符串替换 // 允许用户自定义模板的字符串替换
if (!empty($this->config['parse_str'])) { if (!empty($this->config['parse_str'])) {
$replace = $this->config['parse_str']; $replace = $this->config['parse_str'];

View File

@@ -35,9 +35,9 @@ trait Auto
$this->error = Lang::get('_DATA_TYPE_INVALID_'); $this->error = Lang::get('_DATA_TYPE_INVALID_');
return false; return false;
} }
$pk = $this->getPk();
// 状态 // 状态
$type = $type ? $type : (!empty($data[$this->getPk()]) ? self::MODEL_UPDATE : self::MODEL_INSERT); $type = $type ? $type : (is_string($pk) && !empty($data[$pk]) ? self::MODEL_UPDATE : self::MODEL_INSERT);
$type = 1 << ($type - 1); $type = 1 << ($type - 1);
// 字段列表 // 字段列表
$keys = array_keys($data); $keys = array_keys($data);
@@ -193,7 +193,7 @@ trait Auto
$auto[3] = 'string'; $auto[3] = 'string';
} }
switch (trim($auto[3])) { switch (trim($auto[3])) {
case 'function':// 使用函数进行填充 字段的值作为参数 case 'function': // 使用函数进行填充 字段的值作为参数
case 'callback': // 使用回调方法 case 'callback': // 使用回调方法
$args = isset($auto[4]) ? (array) $auto[4] : []; $args = isset($auto[4]) ? (array) $auto[4] : [];
if (is_string($auto[0]) && strpos($auto[0], ',')) { if (is_string($auto[0]) && strpos($auto[0], ',')) {
@@ -356,7 +356,7 @@ trait Auto
protected function _validationFieldItem($data, $val) protected function _validationFieldItem($data, $val)
{ {
switch (strtolower(trim($val[4]))) { switch (strtolower(trim($val[4]))) {
case 'function':// 使用函数进行验证 case 'function': // 使用函数进行验证
case 'callback': // 调用方法进行验证 case 'callback': // 调用方法进行验证
$args = isset($val[6]) ? (array) $val[6] : []; $args = isset($val[6]) ? (array) $val[6] : [];
if (is_string($val[0]) && strpos($val[0], ',')) { if (is_string($val[0]) && strpos($val[0], ',')) {
@@ -416,11 +416,11 @@ trait Auto
{ {
$type = strtolower(trim($type)); $type = strtolower(trim($type));
switch ($type) { switch ($type) {
case 'in':// 验证是否在某个指定范围之内 逗号分隔字符串或者数组 case 'in': // 验证是否在某个指定范围之内 逗号分隔字符串或者数组
case 'notin': case 'notin':
$range = is_array($rule) ? $rule : explode(',', $rule); $range = is_array($rule) ? $rule : explode(',', $rule);
return 'in' == $type ? in_array($value, $range) : !in_array($value, $range); return 'in' == $type ? in_array($value, $range) : !in_array($value, $range);
case 'between':// 验证是否在某个范围 case 'between': // 验证是否在某个范围
case 'notbetween': // 验证是否不在某个范围 case 'notbetween': // 验证是否不在某个范围
if (is_array($rule)) { if (is_array($rule)) {
$min = $rule[0]; $min = $rule[0];
@@ -429,7 +429,7 @@ trait Auto
list($min, $max) = explode(',', $rule); list($min, $max) = explode(',', $rule);
} }
return 'between' == $type ? $value >= $min && $value <= $max : $value < $min || $value > $max; return 'between' == $type ? $value >= $min && $value <= $max : $value < $min || $value > $max;
case 'equal':// 验证是否等于某个值 case 'equal': // 验证是否等于某个值
case 'notequal': // 验证是否等于某个值 case 'notequal': // 验证是否等于某个值
return 'equal' == $type ? $value == $rule : $value != $rule; return 'equal' == $type ? $value == $rule : $value != $rule;
case 'length': // 验证长度 case 'length': // 验证长度