mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-06-17 07:10:48 +03:00
Jevix update and fix https bug
This commit is contained in:
parent
53df204709
commit
97bef245c2
27
engine/lib/external/Jevix/jevix.class.php
vendored
27
engine/lib/external/Jevix/jevix.class.php
vendored
|
@ -10,6 +10,8 @@
|
|||
* @version 1.01
|
||||
*
|
||||
* История версий:
|
||||
* 1.11:
|
||||
* + Исправлены ошибки из-за которых удалялись теги и аттрибуты со значением "0". Спасибо Dmitry Shurupov (dmitry.shurupov@trueoffice.ru)
|
||||
* 1.1:
|
||||
* + cfgSetTagParamsAutoAdd() deprecated. Вместо него следует использовать cfgSetTagParamDefault() с более удобным синтаксисом
|
||||
* + Исправлен критический баг с обработкой атрибутов тегов https://code.google.com/p/jevix/issues/detail?id=1
|
||||
|
@ -911,7 +913,7 @@ class Jevix{
|
|||
foreach($params as $param=>$value){
|
||||
$param = mb_strtolower($param, 'UTF-8');
|
||||
$value = trim($value);
|
||||
if(empty($value)) continue;
|
||||
if($value == '') continue;
|
||||
|
||||
// Атрибут тега разрешён? Какие возможны значения? Получаем список правил
|
||||
$paramAllowedValues = isset($tagRules[self::TR_PARAM_ALLOWED][$param]) ? $tagRules[self::TR_PARAM_ALLOWED][$param] : false;
|
||||
|
@ -961,7 +963,7 @@ class Jevix{
|
|||
continue(2);
|
||||
}
|
||||
// HTTP в начале если нет
|
||||
if(!preg_match('/^http:\/\//ui', $value) && !preg_match('/^\//ui', $value)) $value = 'http://'.$value;
|
||||
if(!preg_match('/^(http|https):\/\//ui', $value) && !preg_match('/^\//ui', $value)) $value = 'http://'.$value;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -979,7 +981,7 @@ class Jevix{
|
|||
$requiredParams = isset($tagRules[self::TR_PARAM_REQUIRED]) ? array_keys($tagRules[self::TR_PARAM_REQUIRED]) : array();
|
||||
if($requiredParams){
|
||||
foreach($requiredParams as $requiredParam){
|
||||
if(empty($resParams[$requiredParam])) return $content;
|
||||
if(!isset($resParams[$requiredParam])) return $content;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -995,14 +997,14 @@ class Jevix{
|
|||
|
||||
// Пустой некороткий тег удаляем кроме исключений
|
||||
if (!isset($tagRules[self::TR_TAG_IS_EMPTY]) or !$tagRules[self::TR_TAG_IS_EMPTY]) {
|
||||
if(!$short && empty($content)) return '';
|
||||
if(!$short && $content == '') return '';
|
||||
}
|
||||
// Собираем тег
|
||||
$text='<'.$tag;
|
||||
|
||||
// Параметры
|
||||
foreach($resParams as $param => $value) {
|
||||
if (!empty($value)) {
|
||||
if ($value != '') {
|
||||
$text.=' '.$param.'="'.$value.'"';
|
||||
}
|
||||
}
|
||||
|
@ -1047,7 +1049,7 @@ class Jevix{
|
|||
} elseif (isset($this->tagsRules[$tag]) and isset($this->tagsRules[$tag][self::TR_TAG_BLOCK_TYPE])) {
|
||||
$count=0;
|
||||
$this->skipNL($count,2);
|
||||
} elseif (empty($tagText)){
|
||||
} elseif ($tagText == ''){
|
||||
$this->skipSpaces();
|
||||
}
|
||||
|
||||
|
@ -1334,6 +1336,19 @@ class Jevix{
|
|||
|
||||
$href = 'http://'.$url;
|
||||
return true;
|
||||
} elseif($this->matchStr('https://')){
|
||||
while($this->curChClass & $urlChMask){
|
||||
$url.= $this->curCh;
|
||||
$this->getCh();
|
||||
}
|
||||
|
||||
if(!mb_strlen($url, 'UTF-8')) {
|
||||
$this->restoreState();
|
||||
return false;
|
||||
}
|
||||
|
||||
$href = 'https://'.$url;
|
||||
return true;
|
||||
} elseif($this->matchStr('www.')){
|
||||
while($this->curChClass & $urlChMask){
|
||||
$url.= $this->curCh;
|
||||
|
|
Loading…
Reference in a new issue