Jump to content

aplayer

Пользователи
  • Content Count

    216
  • Joined

  • Last visited

  • Days Won

    5

 Content Type 

Profiles

Forums

База знаний IPS Community Suite 4

База знаний IP.Board 3.x

Downloads

Calendar

Store

Everything posted by aplayer

  1. Насколько я помню тут можно делать несколько групп с одинаковым названием. Делаешь полную копию группы, все права оставляешь, запрещаешь только качать.
  2. в данный момент можешь сделать группу которой запрещено качать и перевести его туда
  3. aplayer

    Invision Community Nulled

    но не все из них долбят сервис с кодом ответа 401.
  4. aplayer

    Invision Community Nulled

    Respected в логах я насчитал за сегодня 200 запросов. Мой сайт сегодня побеспокоил антиспам сервис IPS 200 раз и 200 раз попал на 401 страницу. За сутки не много. А если они соберут статистику за месяц, за три месяца. И выявят, что некий сайт целыми днями напролет долбает их антиспам-сервер почем зря. Я китайцев за меньшее баню. Как только сотня китайцев завалится я 502 страницу показываю всему Китаю.
  5. aplayer

    Invision Community Nulled

    Ну я точно не знаю. Но мой сайт при регистрации каждого пользователя куда-то отправляет запрос и его там отвергают за отсутсвие лицензии. За такое обычно банят. В моем случае просто могут ip зафаерволить. А может и сообщат хостеру. нашел я в бд таблица core_sys_conf_settings строки: spam_service_enabled spam_service_send_to_ips
  6. aplayer

    Invision Community Nulled

    в БД где эти настройки могут храниться?
  7. aplayer

    Invision Community Nulled

    надо както отключить. Сейчас получается сайт куда-то спамит запросами на сервисs поддержки IPS. Забанят.
  8. aplayer

    Invision Community Nulled

    Не включена там
  9. aplayer

    Invision Community Nulled

    в настройках антиспама есть вот такое, включенное по умолчанию и неактивное и нет возможности отключить Походу из за этого системный журнал полон вот таких записей В подробностях вот такой отчет: IPS\Http\Response Object ( [httpResponseVersion] => 1.1 [httpResponseCode] => 401 [httpResponseText] => Unauthorized [httpHeaders] => Array ( [Content-Type] => text/plain;charset=UTF-8 [Content-Length] => 19 [Connection] => keep-alive [Date] => Thu, 12 Dec 2019 12:33:01 GMT [Server] => Apache/2.4.41 (Amazon) OpenSSL/1.0.2k-fips PHP/7.2.24 [X-Powered-By] => PHP/7.2.24 [X-Cache] => Error from cloudfront [Via] => 1.1 290e18ae0674dbc89e04b8b8cbad3b2d.cloudfront.net (CloudFront) [X-Amz-Cf-Pop] => LHR52-C1 [X-Amz-Cf-Id] => 7DKfWVc540Lnfb4VxEAWj9ajg237ziA0eASEmdNVkXa-8PX6rIWQKQ== ) [cookies] => Array ( ) [content] => License Key Invalid ) Судя по всему внешний антиспам-сервис посылает меня подальше изза отсутствия лицензии. Нельзя ли как-то отключить защиту от спама на первом скрине? Что-то в базе данных надо поискать?
  10. капчу чтоли взломали? Второй уже за сегодня.
  11. Проблема заключается в том, что при компиляции плагина удаляются все файлы котрые я создал вручную не через центр разработчика. При создании хука темы а папке hooks создается файл с таким содержимым. //<?php /* To prevent PHP errors (extending class does not exist) revealing path */ if (!defined('\IPS\SUITE_UNIQUE_KEY')) { exit; } class hook35 extends _HOOK_CLASS_ { /* !Hook Data - DO NOT REMOVE */ public static function hookData() { require 'file.php'; //здесь сделать инклюд который сформаирует перпменную $content return array_merge_recursive(array( 'globalTemplate' => array( 0 => array( 'selector' => '#ipsLayout_header', 'type' => 'add_after', 'content' => $content, //вывод переменной в блоке сайта ), ), ), parent::hookData()); } /* End Hook Data */ } В коде уже описано, что я хочу сделать. А именно. Не хочу городить 1000 строк кода в теле функции hookData(), а сделать инклюд который сформирует переменную $content. Но компилятор плагина удаляет все файлы которые я создаю сам вручную. В гугле информации ноль. Только несколько скудных абзацев на офсайте из которых я понял, что хуки кода не предназначены для решения моей проблемы. А если создать еще один хук темы и не привязывать его к месту в шаблоне, а потом сделать его инклюд, то при запуске сайта возникают различные ошибки на неопределённые классы и переменные. Моя задача. Сделать на сайте блок который будет выводить динамическую информацию средствами php. Из все й информации что мне удалось нарыть я понял, что сделать это можно через хук, код которого представлен выше, через элемент массива 'globalTemplate' => ....=>'content' в функции hookData(). Если есть какие-то другие способы, то расскажите о них.
  12. И еще вопрос на злобу дня. У меня есть блок php кода в приложении Pages. Там стоит настройка "Не кешировать блок" Но он иногда редко и рандомно кешируется. Из за этого некоторые пользователи получают недостоверную и чужую информацию. Я заметил что кеширование происходит если страница долго грузится. То есть некоторые пользователи иногда могут увидеть блок который отображался ранее другому пользователю. Сейчас в моем плагине какое либо кеширование категорически запрещено. Если у пользователя долго грузится страница, он не должен видеть кешированного чужого блока. Пусть он вообще ничего не увидит, пусть хоть 502 страницу получает, но никакого кэша быть не должно. С плагином не будет таких же ситуаций как с блоками Pages?
  13. Иногда надо глянуть, что было в удаленных постах. В панели модератора в разделе удаленного контента при клике по ссылкам просто открывает форум на последней странице, а удаленный пост не отображается. В конец адреса страницы добавляется параметр ?tab=comments&showDeleted=1#comment-12345 Но даже с правами админа не могу увидеть удаленный пост. Чтобы поглядеть пост, надо сначала сделать его скрытым, а потом смотреть на форуме и потом снова удалять. Не очень удобно. Есть возможность поглядеть удаленное без включения скрытия?
  14. нет. Просто перекидывает на последнюю страницу форума. На стандартной теме то же самое.
  15. Все {template="phtml" group="plugins" location="global" app="core"} не кешируется но через нее нельзя передать параметры. Но эта проблема решается через хуки кода. А то что она вызывала ошибку, то это оказывается в данном форуме есть баг. Текст этого форума между буквами имеет null-байты и не может использоваться при копировании. Скопированный текст в редакторе может быть выглядеть без косяков и даже подсветка синтаксиса ничего не покажет, но при компиляции кода вызовет ошибку. Надеюсь у моего форума такой проблемы нет
  16. уже нет сил проверять. Этот код выдает ошибку "отсутсвует файл phtml" хотя файл есть. expression не дает кешироваться все остальные методы кешируются
  17. И все таки если в хуке шаблона \IPS\Theme::i()->getTemplate('plugins', 'core', 'global')->test() без expression, то результат кешируется. А вот то же самое в хуке кода не кешируется.
  18. то же самое нашел тут https://github.com/DoberBober/newyear-garland
  19. Это проверим. Тогда возникает вопрос. А на сколько времени кешируется плагин? Я вчера вечером засек время и с утра он ещё в кеше. Часов 8. В настройках форума для гостей 30 секунд. Для каких-то блоков 5 минут. Крон работает. Есть у меня задумки сделать кешурующийся плагин, но чтобы не более суток. Но в данный момент я это время получается не контролирую.
  20. Если до этого я хотел чтобы хук отображал шаблон передавая ему динамические данные, что было бы очень удобно. то сейчас шаблон вызывает хук. Тоже сгодится. Главное чтобы отсутствие кеширования при вызове с помощью expression не являлось недокументированной возможностью. Иначе пофиксят этот баг и все полетит... к чертям.
  21. насколько я понял если его не прописать в хуке шаблона, то весь плагин закешируется. Вся соль как раз в нем. прямой вызов - \IPS\Theme::i()->getTemplate... кешируется '{expression="\IPS\Theme::i()->getTemplate... не кешируется а дальше финт ушами чтобы не писать большую часть php-кода на логике шаблона.
  22. Оставлю здесь заметку для себя чтобы не забыть. создаем хук шаблона phtml шалон хук темы //<?php /* To prevent PHP errors (extending class does not exist) revealing path */ if (!\defined('\IPS\SUITE_UNIQUE_KEY')) { exit; } class hook90 extends _HOOK_CLASS_ { /* !Hook Data - DO NOT REMOVE */ public static function hookData() { return array_merge_recursive( array ( 'globalTemplate' => array ( 0 => array ( 'selector' => '#ipsLayout_mainArea', 'type' => 'add_inside_start', 'content' => '{expression="\IPS\Theme::i()->getTemplate(\'plugins\',\'core\', \'global\')->test()"}', ), ), ), parent::hookData() ); } /* End Hook Data */ } В нем главное прописать '{expression="\IPS\Theme::i()->getTemplate(\'plugins\',\'core\', \'global\')->test()"}' и можно про этот хук забыть. Cоздаем хук кода с классом \IPS\core\modules\front\system\plugins В нем создаем функцию (_test()), которая и будет выполнять классический php //<?php /* To prevent PHP errors (extending class does not exist) revealing path */ if (!\defined('\IPS\SUITE_UNIQUE_KEY')) { exit; } class hook91 extends _HOOK_CLASS_ { public function _test() { return time(); } } в шаблоне phtml пишем <ips:template parameters="" /> {{$plugins = new \IPS\core\modules\front\system\plugins; $time = $plugins->_test();}} {$time} По факту мы вызвали метод класса $plugins->_test(); который будет выполнен без кеширования. поправьте если что не так или укажите недостатки
  23. не удобно. Надо будет строчек 200 перевести в шаблонный {{php}} Выше уже был спор на эту тему, не надо к нему возвращаться. Изначально мне бы хотелось получить динамические данные в хуке. А потом передать их в шаблон. И чтобы это не кешировалось. А можно как нибудь в хуке создать функцию и вызвать её в шаблоне?
  24. не помогает. Получается если expression не в хуке, то результат кешируется. Кешируется сам хук без expression. Вот такой вот замкнутый круг.
  25. WaNted и всетаки '{expression="\IPS\Theme::i()->getTemplate( 'plugins', 'core', 'global' )->phtml( $params )"}'; в этой конструкции не работает. Хотелось бы передавать параметры в шаблон
×