/** * 设置字段值 * @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); } } }
/** * 返回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] : ''; } } }