Jump to content

Exception

Актив
  • Регистрация

Everything posted by Exception

  1. Может я ошибаюсь, но товарищ @Respected уже обновил архив с этой версией Просто скачай новый https://ipbmafia.ru/ips4releases/
  2. Нашел решение: \IPS\cms\Fields Функция public function buildHelper( $value=NULL, $customValidationCode=NULL, ?\IPS\Content $content=NULL, $flags=0 ) Внутри неё задается $customValidationCode для полей.
  3. Есть например функция в \applications\downloads\sources\File public static function formElements( $item=NULL, \IPS\Node\Model $container=NULL, $bulkKey = '' ) В ней редактор это /* Description */ $return['description'] = new \IPS\Helpers\Form\Editor( "{$bulkKey}file_desc", $item ? $item->desc : NULL, TRUE, array( 'app' => 'downloads', 'key' => 'Downloads', 'autoSaveKey' => ( $item ? "downloads-file-{$item->id}" : "{$bulkKey}downloads-new-file" ), 'attachIds' => ( $item === NULL ? NULL : array( $item->id, NULL, 'desc' ) ) ), '\IPS\Helpers\Form::floodCheck' ); То где тогда редактор в одноименной функции в \applications\cms\sources\Records ? Я смог получить только переменную, это $formElements['field_2'] но что в неё создает редактор? Я могу переписать эту переменную, но мне нужно знать хотя бы нужные опции создаваемого редактора. Я добавляю собственную валидацию в параметр $customValidationCode редактора. Но в приложении cms не получается. Так же пытался добавить в \IPS\Content\Item $return['content'] = new \IPS\Helpers\Form\Editor( static::$formLangPrefix . 'content', $item ? $commentObj->mapped('content') : NULL, TRUE, array( 'app' => static::$application, 'key' => mb_ucfirst( static::$module ), 'autoSaveKey' => ( $item === NULL ? ( 'newContentItem-' . static::$application . '/' . static::$module . '-' . ( $container ? $container->_id : 0 ) ) : ( 'contentEdit-' . static::$application . '/' . static::$module . '-' . $item->$idColumn ) ), 'attachIds' => ( $item === NULL ? NULL : array( $item->$idColumn, $commentObj->$commentIdColumn ) ) ), '\IPS\Helpers\Form::floodCheck', NULL, NULL, static::$formLangPrefix . 'content_editor' ); Но в приложениях это не учитывается, либо поле/переменная заменяется на другое из класса приложения. Моя функция валидации полностью рабочая, и работает например в public function commentFormElements()
  4. Respected https://ipbmafia.ru/ips4releases/ ссылка Скачать Русификацию для IPS 4.6.3 ведет на русификация версии 4.1.16 Они выпустили уже под 4.6.3:
  5. кто-то за такое реально платит?
  6. это вроде как уже исправленная версия
  7. я так понял, движок при обновлении добавляет\изменяет только не тронутые тобой шаблоны темы. Если хочешь чистую с правками по версии, то нужно создать новую дефолтную тему. Я тебя умоляю, бахнул пиваса для храбрости или водочки как @SlawkA, сделал бэкап, да как накатил обнову!
  8. А что тут думать? Вышла новая версия - значит обновляйся.
  9. Не нашел рабочего хайда под новую версию ips, пришлось писать самому. Как вам идея хайда под ранг пользователя? Так как ранг пользователя гибок к настройкам, а пользователь сам решает какими путями его получить, думаю это самый топ вариант.
  10. там вроде везде уже отформатированный текст выводит. Я нашел обходной путь, так как в public function indexData() вызывается searchIndexContent(), я просто в IPS\Content в эту функцию запилил \IPS\Text\Parser::removeElements( $content, array( 'div[class=my_spoiler]' ) );
  11. я так понял это делается через public function indexData( \IPS\Content\Searchable $object ) в IPS\Content\Search\Index как правильно захукать код, чтобы добавить в него \IPS\Text\Parser::removeElements( $content, array( 'div[class=my_spoiler]' ) ); ?
  12. Через truncated тоже удаляет только в приложении страниц /** * Removes HTML and optionally truncates content * * @param bool $oneLine If TRUE, will use spaces instead of line breaks. Useful if using a single line display. * @param int|null $length If supplied, and $oneLine is set to TRUE, the returned content will be truncated to this length * @return string * @note For now we are removing all HTML. If we decide to change this to remove specific tags in future, we can use \IPS\Text\Parser::removeElements( $this->content() ) */ static public function truncate( $content, $oneLine=false, $length=500 ) { $content = static::removeElements( $content, array( 'div[class=my_spoiler]' ) ); return parent::truncate( $content, $oneLine, $length ); } у меня уже мозг плавится, не понимаю как удалить в профиле и т.д.
  13. Так у тебя в body грузятся данные которые должны быть в head
  14. /** * Remove specific elements, useful for cleaning up content for display or truncating * * @param string $value The value to parse * @param array|string $elements Element to remove, or array of elements to remove. Can be in format "element[attribute=value]" * @return string */ public static function removeElements( $value, $elements=array( 'blockquote', 'img', 'a' ) ) { array_push($elements, 'div[class=my_spoiler]'); return parent::removeElements( $value, $elements ); } я попробовал добавить элемент глобально, он удаляет его в приложении страниц (главная страница со списком статей), но не удаляет в профиле, страниц с результатами поиска и т.д.
  15. в файлах версии 4.6.2 вижу изменения которые я предлагал выше 🙂 Думаю проблема решена
  16. Есть у кого обновленная 1.0.4 версия?
  17. 4.6 возможно еще не полностью поддерживает php 8, об этом говорят их постоянные фиксы кода для php 8 + на php 7.4 работает все как надо
  18. в таком случае можно поднять собственный CDN сервер,
  19. что-то у меня локальный сервер развалился, контент не обновлялся и хук не срабатывал, а так все работает правильно.
  20. тогда какой он удаляет то, что находится в ipsSpoiler ?
  21. какая функция удаляет например ipsSpoiler из контента на страницах профиля, поиска и т.д.? Либо я туплю, но функция public static function removeElements в IPS\Text\Parser ничего не удаляет
  22. самый оптимальный вариант как я понял, это сделать все на англ или рус, и вместе с плагином распространять ланг файл с переводом на нужный язык
  23. я пока смотрел нашел много вариантов, но это такое себе на самом деле, потому что средствами ips такого не сделать, например в js можно подтягивать разные ключи или собственные фразы в зависимости от например var language = $('html').attr('lang'); или при помощи php сделать собственную систему, но это будет зря потраченное время
  24. лол, я так понял достаточно добавить строку в jslang.php, после вызвать её через ips.getString и только после выгрузки и последующей установки плагина можно перевести эту строку в языках. Просто в dev режиме её нельзя перевести (ключа нету) это и вызвало мой затуп
  25. Как правильно инициализировать кастомную языковую строку (Англ+Рус) в js? У меня есть допустим кастомная строка добавленная в язык ручным способом через Языки, и есть переводимое текстовое поле в плагине. Например так я не могу сделать, js не подхватывает строку: ips.templates.set('core.editor.ultrahide', "\ {{#lang}}editor_mycustomlangkey{{/lang}}\ "); или я пытаюсь вывести строку через ips.getSetting('editor_mycustomlangkey') заранее добавив хук в диспетчер \IPS\Output::i()->jsVars но так выводится строка с двумя переводами через запятую, т.е. это явно не подходит. ips.getString('editor_mycustomlangkey') так-же не подхватывает языковые строки