Beispiel #1
0
 /**
  * 设置字段值
  * @param array $values attribute values (name => value) to be assigned to the model.
  * @param array $hpcfg HTMLPurifier配置参数
  */
 public function setAttributes($values, $hpcfg = [])
 {
     if (is_array($values)) {
         foreach ($values as $name => $value) {
             $this->{$name} = H2O\helpers\HTMLPurifier::filter($value, $hpcfg);
         }
     }
 }
Beispiel #2
0
 /**
  * 返回post数据
  * @param string $name POST数据名称
  * @param mixed $value 给POST参数赋值
  * @param array $hpcfg HTMLPurifier配置参数
  * @return 返回POST数据,如果不存在返回为空
  */
 public function post($name = '', $value = '', $hpcfg = [])
 {
     if ($name == '') {
         //如果为空返回所有数据
         $data = self::$postData;
         //防止XSS攻击
         //此处不建议用递归 防止不稳定
         foreach ($data as $k => $v) {
             //first
             if (is_array($v)) {
                 foreach ($v as $kk => $vv) {
                     //second
                     if (is_array($vv)) {
                         foreach ($vv as $kkk => $vvv) {
                             //three 超过三级时,自动合并
                             if (is_array($vvv)) {
                                 $data[$k][$kk][$kkk] = \H2O\helpers\HTMLPurifier::filter(implode(",", $vvv), $hpcfg);
                             } else {
                                 $data[$k][$kk][$kkk] = \H2O\helpers\HTMLPurifier::filter($vvv, $hpcfg);
                             }
                         }
                     } else {
                         $data[$k][$kk] = \H2O\helpers\HTMLPurifier::filter($vv, $hpcfg);
                     }
                 }
             } else {
                 $data[$k] = \H2O\helpers\HTMLPurifier::filter($v, $hpcfg);
             }
         }
         return $data;
     } else {
         if (!empty($value)) {
             self::$postData[$name] = \H2O\helpers\HTMLPurifier::filter($value, $hpcfg);
         } else {
             return isset(self::$postData[$name]) ? self::$postData[$name] : '';
         }
     }
 }