Exemple #1
0
 /**
  * Add an input to the input filter
  *
  * @param  array|Traversable|InputInterface|InputFilterInterface $input
  * @param  null|string $name
  * @param $disablePurifier
  * @return InputFilter
  */
 public function add($input, $name = null, $disablePurifier = false)
 {
     /**
      * By Default all Inputs will filter against XSS and invalid HTML, attributes and scripts
      */
     $purifier = $this->getHtmlPurifier();
     $input->getFilterChain()->attach(function ($value) use($purifier, $disablePurifier) {
         if ($purifier instanceof HTMLPurifier && !$disablePurifier) {
             if (is_array($value)) {
                 foreach ($value as $key => $v) {
                     $value[$key] = $purifier->purify($v);
                 }
                 return $value;
             } else {
                 return $purifier->purify($value);
             }
         }
         return $value;
     });
     return parent::add($input, $name);
 }