Changeset 1359
- Timestamp:
- 08/25/11 10:51:15 (9 months ago)
- Files:
-
- 1 modified
-
trunk/engine/lib/external/Jevix/jevix.class.php (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/engine/lib/external/Jevix/jevix.class.php
r1056 r1359 153 153 const TR_TAG_IS_EMPTY = 13; // Не короткий тег с пустым содержанием имеет право существовать 154 154 const TR_TAG_NO_AUTO_BR = 14; // Тег в котором не нужна авто-расстановка <br> 155 const TR_TAG_CALLBACK = 15; // Тег обрабатывается callback-функцией 155 const TR_TAG_CALLBACK = 15; // Тег обрабатывается callback-функцией - в обработку уходит только контент тега(короткие теги не обрабатываются) 156 156 const TR_TAG_BLOCK_TYPE = 16; // Тег после которого не нужна автоподстановка доп. <br> 157 const TR_TAG_CALLBACK_FULL = 17; // Тег обрабатывается callback-функцией - в обработку уходит весь тег 157 158 158 159 /** … … 341 342 } 342 343 343 /**344 /** 344 345 * КОНФИГУРАЦИЯ: Устанавливаем callback-функцию на обработку содержимого тега 345 346 * @param string $tag тег … … 351 352 } 352 353 354 /** 355 * КОНФИГУРАЦИЯ: Устанавливаем callback-функцию на обработку содержимого тега 356 * @param string $tag тег 357 * @param mixed $callback функция 358 */ 359 function cfgSetTagCallbackFull($tag, $callback = null){ 360 if(!isset($this->tagsRules[$tag])) throw new Exception("Тег $tag отсутствует в списке разрешённых тегов"); 361 $this->tagsRules[$tag][self::TR_TAG_CALLBACK_FULL] = $callback; 362 } 363 353 364 /** 354 365 * Автозамена … … 1020 1031 if(!$short && $content == '') return ''; 1021 1032 } 1022 // Собираем тег1023 $text='<'.$tag;1024 1025 // Параметры1026 foreach($resParams as $param => $value) {1027 if ($value != '') {1028 $text.=' '.$param.'="'.$value.'"';1029 }1030 }1031 1033 1032 // Закрытие тега (если короткий то без контента) 1033 $text.= $short && $this->isXHTMLMode ? '/>' : '>'; 1034 if(isset($tagRules[self::TR_TAG_CONTAINER])) $text .= "\r\n"; 1035 if(!$short) $text.= $content.'</'.$tag.'>'; 1036 if($parentTagIsContainer) $text .= "\r\n"; 1037 if($tag == 'br') $text.="\r\n"; 1034 // Если тег обрабатывает "полным" колбеком 1035 if (isset($tagRules[self::TR_TAG_CALLBACK_FULL])) { 1036 $text = call_user_func($tagRules[self::TR_TAG_CALLBACK_FULL], $tag, $resParams); 1037 } else { 1038 // Собираем тег 1039 $text='<'.$tag; 1040 1041 // Параметры 1042 foreach($resParams as $param => $value) { 1043 if ($value != '') { 1044 $text.=' '.$param.'="'.$value.'"'; 1045 } 1046 } 1047 1048 // Закрытие тега (если короткий то без контента) 1049 $text.= $short && $this->isXHTMLMode ? '/>' : '>'; 1050 if(isset($tagRules[self::TR_TAG_CONTAINER])) $text .= "\r\n"; 1051 if(!$short) $text.= $content.'</'.$tag.'>'; 1052 if($parentTagIsContainer) $text .= "\r\n"; 1053 if($tag == 'br') $text.="\r\n"; 1054 } 1038 1055 return $text; 1039 1056 }
