Jump to content

Exception

Актив

Everything posted by Exception

  1. в консоли браузера есть ошибки?
  2. скорее всего не находит нужные элементы, попробуй тогда так, скрипт теперь ждет полной готовности страницы: <script type='text/javascript'> $( document ).ready(function() { $('#ipsLayout_contentArea').find('div[data-role="commentContent"]').find('p:last').each( function () { if( $(this).next().length == 0 ){ $(this).html(function (i, html) { return html.replace(/&nbsp;/g, ''); }); } }); }); </script>
  3. <script type='text/javascript'> $('#ipsLayout_contentArea').find('div[data-role="commentContent"]').find('p:last').each( function () { if( $(this).next().length == 0 ){ $(this).html(function (i, html) { return html.replace(/&nbsp;/g, ''); }); } }); </script>
  4. В ранних версиях блоки кэшировались в зависимости от настроек кэширования блоков . Либо писать хук, либо можешь сам изменить, он находится тут \applications\forums\widgets\forumStatistics.php
  5. Я посчитал что в редакторе он все же нужен, мало ли захочется ввести текст или еще что под видео. Скрипт циклом проверяет все сообщения на странице и удаляет этот nbsp если дальше нету других тегов.
  6. он удалять должен в постах которые уже отправлены
  7. этот блок кэшируется на 24 часа /** * @brief Cache Expiration - 24h */ public $cacheExpiration = 86400;
  8. в самый конец вставь после {{endif}}
  9. в шаблонах вбей просто, он найдет
  10. или можно так, вставь это в includeJS <script type='text/javascript'> $('#ipsLayout_contentArea').find('.ipsEmbeddedVideo').each( function () { if( $(this).next("p:contains('')").next().length == 0 ){ $(this).next("p:contains('')").remove(); } }); </script> удаляет nbsp если дальше нет тегов
  11. его удалить можно при добавлении
  12. .ipsEmbeddedVideo { margin: 10px 0 10px 0; }
  13. очистка системных логов на сколько установлена? Можно узнать вес таблиц, например командой SELECT table_name AS `Table`, round(((data_length + index_length) / 1024), 2) `Size in KB` FROM information_schema.TABLES WHERE table_schema = "DBName"; DBName - имя базы
  14. Можно выставить 1 запрос = 5 секунд, или 1-2 минуты, я страницы чаще обновляю когда по форуму ползаю. Тем более опять же если есть редис, запросы идут к нему, в запросе формируется двумерный массив, данных немного. Для большого форума такие запросы ничто. Тем более сам IPS очень статичен и ajax редко используется. Например стандартно, если покопаться, идут запросы ~1-2мин на получение новых уведомлений, или, например, когда ты находишься в теме, на получение новых ответов (чтобы потом нажать кнопку показать ответы) и т.д. Не знаю как там с темами, но в виджете посетителей, мой ajax пока что только достает готовые данные сессии (не заставляет их обновиться), которые формирует сам движок когда пользователь заходит в тему или пишет что.
  15. Надеюсь ты это не с серьезным лицом писал? Тем, что добавил обновление на ajax. Обновление пользователей происходит на лету, не нужно перезагружать страницу, а все новые подключенные пользователи отобразятся сразу. Так же дописал js который аккуратно добавляет и удаляет пользователей: Так же ajax обновляет статус пользователя если он что-то пишет в редакторе: Экспериментирую пока что со всем этим, но заставил этот виджет работать так, как он должен работать. Еще можно вместе с ajax запросом обновлять саму сессию, чтобы если пользователь даже не активен, оставался в ней. Т.е. будет уже эмуляция "активной онлайн локации" где пользователи отображаются как в дискорде например в комнате, пока её не покинут. Сейчас ips удаляет таких из сессии. Данные хранятся в редисе если он есть, т.е. можно спокойно долбить его запросами.
  16. ну так поставь крон и настрой нормально
  17. Как тебе такое, Илон Макс на гифке грузится долговато, ибо это тестовый сервер на харде В реалиях отправляются аяксы с заданной частотой (от 1 секунды и т.д. можно задать самому) на получение пользователей в реальном времени которые находятся на странице. Так же отключено кеширование данного блока совсем.
  18. Вполне логично, виджеты же кэшируются. Вопрос скорее в том, почему они не могут сделать надстройку для таких виджетов чтобы они не кэшировались или запрос выполнялся средствами ajax
  19. Переписывать код виджета. В последней версии добавили отображение твоего ника ВСЕГДА если ты на странице, это сделано через js и не влияет на других пользователей.
  20. Платить 30$ за то, что уже есть в IPS, это конечно умно. /modcp/announcements/?action=create
  21. Так что ли case 'points_post': $val = $first ? 0 : 1; break; case 'points_topic': $val = 1; break;
  22. if ( isset( \IPS\Request::i()->id ) ) { if ( \IPS\Dispatcher::i()->application->directory == 'downloads' ) { if ( \IPS\Dispatcher::i()->controller == 'browse' ) { $load = \IPS\downloads\Category::load( \IPS\Request::i()->id ); $myvar = $load->myvar; } elseif ( \IPS\Dispatcher::i()->controller == 'view' ) { $file = \IPS\downloads\File::load( \IPS\Request::i()->id ); $load = \IPS\downloads\Category::load( $file->cat ); $myvar = $load->myvar; } } } Может проще как то получить экземпляр загруженных классов из виджета? Но что-то я не нашел такой возможности