-
Постов
476 -
Зарегистрирован
-
Посещение
-
Победитель дней
24
Активность репутации
-
alexis отреагировална пост Desti в Ошибки 4.7.2.1
Да нет там особой проблемы, у них \IPS\DateTime::create() возвращает время без добавления временной зоны, а \IPS\DateTime::ts() - с добавлением. Поэтому условие в функции isOnline() всегда false.
Можно заменить расчет в этой функции на такое
$diff = \IPS\DateTime::ts( $this->last_activity )->diff( \IPS\DateTime::ts( time() ) );
индикатор начнет работать, но возможно это снова где-то всплывет, т.к. проблема в коде класса.
-
alexis отреагировална пост Desti в Вопрос по плагину «Кто онлайн»
1. Делаем хук на виджет IPS\core\widgets\whosOnline - на функцию render()
2. В начале цикла foreach( $users as $row ) добавляем
$r = get_browser($row['browser'], true); Дальше на ваш вкус... Функция возвращает массив данных, нужный нам ключ - ['device_type'], там может быть "Mobile Phone", "Mobile Device", "Tablet", "Desktop", "TV Device", "Console", "FonePad", "Ebook Reader", "Car Entertainment System" и "unknown". Добавляем поле $row['device_type'] = 'имя иконки' в зависимости от полученного типа (case, например) . Делаем хук на шаблон виджета, после имени пользователя добавляем нужную fa-иконку через переменную.
3. Идем на сайт browscap.org и качаем файл lite_php_browscap.ini
4. Копируем файл на сервер, например в uploads.
5. В актуальном файле php.ini ищем блок [browscap], раскомментариваем строку ;browscap = extra/browscap.ini (убираем точку с запятой) и меняем путь на наш от корня, напр. browscap = /home/user/site.ru/uploads/lite_php_browscap.ini
6. Перезапускаем php (апач, php-fpm).
7. Создаем task в плагине или cron на ежедневное обновление файла с сайта browscap.org - опять-таки, на ваш вкус. Пример cron скрипта можно найти в комментах на www.php.net/manual/en/function.get-browser.php
Виджет кешированный, для обновления (при отладке) надо постоянно чистить кеш.
Возможно есть и другие методы (со сторонними библиотеками), но этот самый простой и точный, база юзер-агентов всегда актуальна.
Удачи
-
alexis отреагировална пост Desti в Вопрос по плагину «Кто онлайн»
Достаточно просто оказалось, но требует вмешательства в настройки php, загрузку стороннего файла на сайт. А это означает, что просто плагином не обойтись, для простого пользователя сложно будет.
-
alexis отреагировална пост Respected в Удалите поофиль
Всё верно, админы форумов не обязаны удалять профили, забанил бессрочно.
-
alexis отреагировална пост Desti в Удалите поофиль
Персональные данные пользователей этого типа форумов не находятся в общем доступе.
-
alexis отреагировална пост by_ix в Advanced Online Indicator
пока есть время, дообновлял этот плагин.
исправил все найденные ошибки, добавил функционал, перевёл чью-то неудавшуюся попытку перевода на русский.
теперь индикатор вокруг аватарки отображается почти во всех местах на форуме (при условии, что включены настройки Отображать индикатор в аватаре пользователя? и Контур?).
работает как на 4.6, так и на 4.7 с php8.0.
на php8.1 не советую ставить, т.к. в самом ипс некорректно работает отображение онлайна на этой версии php.
Advanced Online Indicator 2.0.0 (RUS).xml
-
alexis отреагировална пост saiko в Поиск разработчика IPS 4
Dancebunny К данному человеку обратись. https://ipbmafia.ru/profile/13053-zikurik/
Но если только имеются средства для оплаты его времени и труда. Могу ручаться за него на 1000% сам порой обращаюсь за помощью к нему, знакомы давно, делает все качественно не торопясь в общем знает свое дело, если какие то недоработки сразу же фиксит. Всегда учитывает все пожелания клиента, вежлив, отзывчив! Телеграмм его светить тут не буду, спросишь у него сам в личке тут на форуме.
-
alexis отреагировална пост Desti в Images Tab on User Profile 1.0.0
by_ix Можно из этого приложения сделать, например. Только запрос к core_member_status_updates и немного темплейт поправить.
-
alexis отреагировална пост by_ix в Images Tab on User Profile 1.0.0
нет ничего подобного для статусов?
-
alexis отреагировална пост ryancoolround в Как добавить опрос в уже созданную тему?
Да, при изменении темы, во вкладке опрос выставляешь нужное количество голосов мой единорос)
-
alexis отреагировална пост tophacker в Ник заблокированных пользователей.
saiko Детали группы - Форматирование группы
В первое поле
<span style="color: #406277; text-decoration: line-through;"> Во второе поле
</span> Разрешения - Имеют доступ к сайту переключить в положение Нет.
Цвет (color: #406277;) или убрать или изменить на свой.
-
alexis отреагировална пост avangcom в Advanced Tags & Prefixes v3.2.1
@Desti THANX FOR UPDATE NEW VERSION 4.6.12.1 PHP8 TESTED
Advanced Tags & Prefixes v3.2.2
Advanced Tags & Prefixes v3.2.2.tar
-
alexis отреагировална пост Desti в Advanced Tags & Prefixes v3.2.1
For 4.6.12.1
hooks/forumLastPostPrefix.php
search: public function clubForm( \IPS\Helpers\Form $form )
replace: public function clubForm( \IPS\Helpers\Form $form, \IPS\Member\Club $club )
hooks/addPrefixToForm.php
search: public static function tagsFormField( $item, $container)
replace: public static function tagsFormField( $item, $container, $minimized = false )
tested on php8.1 and 4.6.12.1, but these errors are not related to the php version, this is an incompatibility according to the forum/app versions.
-
alexis отреагировална пост Desti в Удаление значков в админке
В код надо лезть..
app/core/modules/admin/members/members.php
Найти
$table->rowButtons = function( $row ) use( $member ) { return [ 'delete' => [ 'icon' => 'times-circle', 'title' => 'delete', 'link' => $row['rule'] ? NULL : $member->acpUrl()->setQueryString( ['do' => 'deleteBadge', 'id' => $row['badge_id'], 'member_id' => $member->member_id ] ), 'class' => $row['rule'] ? 'ipsControlStrip_disabled' : '', 'data' => $row['rule'] ? [] : [ 'delete' => '' ], 'tooltip' => \IPS\Member::loggedIn()->language()->addToStack( $row['rule'] ? 'acp_badge_cannot_delete' : 'delete' ) ] ]; }; Заменить на
$table->rowButtons = function( $row ) use( $member ) { return [ 'delete' => [ 'icon' => 'times-circle', 'title' => 'delete', 'link' => $member->acpUrl()->setQueryString( ['do' => 'deleteBadge', 'id' => $row['badge_id'], 'member_id' => $member->member_id ] ), 'class' => '', 'data' => [ 'delete' => '' ], 'tooltip' => \IPS\Member::loggedIn()->language()->addToStack( 'delete' ) ] ]; }; Еще найти ниже в функции deleteBadges
$badge = \IPS\Db::i()->select( '*', 'core_member_badges', [ 'rule=0 and member=? and badge=?', $member->member_id, \IPS\Request::i()->id ] )->first(); Заменить на
$badge = \IPS\Db::i()->select( '*', 'core_member_badges', [ member=? and badge=?', $member->member_id, \IPS\Request::i()->id ] )->first(); Идеально - заменить хуком, но мне лень.
А если надо изредка и избранным, то проще в таблице core_member_badges изменить поле 'rule' на 0 y значков конкретного пользователя.
можно запросиком - update core_member_badges set rule=0 where member=ID_пользователя;
После этого можно отнимать медальки у конкретного пользователя через админку.
-
alexis отреагировална пост Juar в Ошибка Unparenthesized
Борьбы с адаптацией плагинов которые на PHP 8.1.2 не корректно работали или приводили к 500 ошибке, завершилась следующим:
Сами плагины не правились, но в таблице core_theme_templates в колонке template_content было найдено в нескольких местах содержимое с некорректной конструкцией
{{$iPosted = isset( $topic->contentPostedIn ) ? $topic->contentPostedIn : ( $topic AND method_exists( $topic, 'container' ) AND $topic->container() !== NULL ) ? $topic->container()->contentPostedIn() : array();}}
вместо
{{$iPosted = isset( $topic->contentPostedIn ) ? $topic->contentPostedIn : (( $topic AND method_exists( $topic, 'container' ) AND $topic->container() !== NULL ) ? $topic->container()->contentPostedIn() : array());}}
После исправления, добавления скобок в условии $topic->contentPostedIn : проблема исчезла.
Теперь на форуме нормально следующие плагины:
Insert Nickname 1.0.3 Автор siv1987 (Fixed by k4r1) Change Post Author 2.0.0 Автор invisionHQ Recent Topics 1.1.0 Автор MDMX Post Number (IPB-Board.ru) 1.1.0 Автор INVISIONify Profile Field Per User Group 2.3.2 Автор Adriano Faria Birthday in Registration Screen 6.0.1 Автор All Astronauts (NB40) Recent Topics/Posts 1.1.4 Автор newbie Clear Notifications 1.0.3 Автор Pete Treanor -
alexis отреагировална пост ryancoolround в Создание топика на ipbmafia.ru
Я этот плагин за деньги покупал вроде, как положено, поддерживая автора. Ссылка на него:
https://invisioncommunity.com/files/file/8205-similar-content-on-post-screen/
Суть в том, что плагин сам по себе интересный и на мой взгляд полезный. Но он не работает так, как бы хотелось только потому что, что среднестатистический пользователь проигнорирует предложенные ему темы и все равно создаст новую тему.
А значит можно обойтись и без этого плагина.
-
alexis отреагировална пост Exception в Держите редактор открытым в темах
открыть его при загрузке темы методами ips jquery
var editor = ips.ui.editor.getObj( $('[data-ipsEditor]') ); editor.unminimize();
-
alexis отреагировална пост Dusty в Награды. Нужны ли они пользователям форума?
Ну звание это одно а награды это совсем другое ,по мне награды лучше и больше стимула дают чем какие то звание не понятные !
-
alexis отреагировална пост Dusty в Награды. Нужны ли они пользователям форума?
эти глупые значки от ips скучная вещь которая не лучше тех же наград что были до этого момента а так смысл было такое добавлять.
-
alexis отреагировална пост Dusty в Награды. Нужны ли они пользователям форума?
Так и наград до сих пор мы не увидели за столько лет )
Для чего топик был создан мы не знаем )
Тут ни одного конкурса не было за все время(
-
alexis получил реакцию от MikeWolf в Возможность заходить в пустые темы
ну вот, вы и зашли в пустую тему. То есть ваш вопрос вами же и решён
-
-
alexis получил реакцию от igoritsme в Переместить запрещенных пользователей в группу (Автоматически)
/admin/?app=core&module=support&controller=sql
-
alexis получил реакцию от t_reks в Переместить запрещенных пользователей в группу (Автоматически)
/admin/?app=core&module=support&controller=sql
-
alexis отреагировална пост SlawkA в Вебмани, похоже, всё
эт ладно. знаю одного гемейра, который просто работает тем. что приезжает просто в квартиру. садиться за комп и режется просто в танки пока не приедет хозяин компа.
и потом когда приезжает хозяин садиться за комп и режется дальше. а геймер этот едет домой)))
где бы такую работу найти? 🙄