Example #1
0
 public static function instance($tagsArray = array(), $attrArray = array(), $tagsMethod = 0, $attrMethod = 0, $xssAuto = 1)
 {
     !JDEBUG ?: joosDebug::inc('joosInputFilter::instance');
     if (self::$instance === null) {
         self::$instance = new self($tagsArray, $attrArray, $tagsMethod, $attrMethod, $xssAuto);
     }
     return self::$instance;
 }
Example #2
0
 /**
  * Системный 301 редирект
  *
  * @param  string $url  ссылка, на которую надо перейти
  * @param  string $msg  текст сообщения, отображаемый после перехода
  * @param  string $type тип перехода - ошибка, предупреждение, сообщение и т.д.
  * @return void
  */
 public function redirect($url, $msg = '', $type = 'success')
 {
     $iFilter = joosInputFilter::instance();
     $url = $iFilter->process($url);
     empty($msg) ? null : joosFlashMessage::add($iFilter->process($msg), $type);
     $url = preg_split("/[\r\n]/", $url);
     $url = $url[0];
     if ($iFilter->badAttributeValue(array('href', $url))) {
         $url = JPATH_SITE;
     }
     if (headers_sent()) {
         echo "<script>document.location.href='{$url}';</script>\n";
     } else {
         !ob_get_level() ?: ob_end_clean();
         joosRequest::send_headers_by_code(301);
         joosRequest::send_headers("Location: " . $url);
     }
     exit;
 }
Example #3
0
 public static function get_user_state_from_request($var_name, $req_name, $var_default = null)
 {
     if (is_array(self::$_userstate)) {
         if (isset($_REQUEST[$req_name])) {
             self::set_user_state($var_name, $_REQUEST[$req_name]);
         } elseif (!isset(self::$_userstate[$var_name])) {
             self::set_user_state($var_name, $var_default);
         }
         self::$_userstate[$var_name] = joosInputFilter::instance()->process(self::$_userstate[$var_name]);
         return self::$_userstate[$var_name];
     } else {
         return null;
     }
 }
Example #4
0
 /**
  * Очищает значения публоичных свойств модели от HTML тэгов
  * Пример $this->filter( array('desc','extra') );
  *
  * @param array $ignoreList массив названий полей модели, которые НЕ требуется очистить от HTML кода
  */
 public function filter(array $ignoreList = null)
 {
     $ignore = is_array($ignoreList);
     $filter = joosInputFilter::instance();
     foreach ($this->get_public_properties() as $k) {
         if ($ignore && in_array($k, $ignoreList)) {
             continue;
         }
         $this->{$k} = $filter->process($this->{$k});
     }
 }