Skip to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Alexander_M

Пользователи
  • Регистрация

  • В сети

Reputation Activity

  1. Like
    Alexander_M got a reaction from Quzask in Advanced Online Indication Plugin   
    View File Advanced Online Indication Plugin
    Вспомогательный плагин для определения типа устройства, с которого пользователь посетил форум.
    Так же выложен аддон к моду Online Indication, выложенному пользователю Silence.
    Если установить оба этих плагина, то рядом с именем пользователя в топиках будет отображаться соответствующая пиктограмма (планшет, ПК, мобильный телефон).
    В custom.css необходимо добавить CSS-класс:
    .state-indicator { display: inline-block; font: normal normal normal 14px/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } Submitter Alexander_M Submitted 02/05/2017 Category Interface Language Language: ru  
  2. Like
    Alexander_M got a reaction from gudman1 in (SOS40)_Invite_System_2.0.0   
    Добавление аргумента метода означает развитие? ;-)
    Ну вот кстати как раз в phpBB-то никогда посреди минорного апгрейда не менялся программный интерфейс. Там с этим строго.
     
    Ну многоуважаемый, уж простите, что я Вас так сильно задел - выложил тут решение проблемы, описал механизм возникновения. Я просто ужасен. ;-)
  3. Like
    Alexander_M got a reaction from Redneck in (SOS40)_Invite_System_2.0.0   
    Похоже, эта штука ломает дополнительные поля профиля при регистрации. Баг в хуке, перехватывающем контроллер регистрации. Исправление в файле (invite/hooks/is_registerScreen.php):
    public static function _createMember( $values, $profileFields ) { if ( \IPS\Settings::i()->is_on ) { $val = \IPS\Settings::i()->is_requireinvite ? 'invite_code_req' : 'invite_code_opt'; if( $values[ $val ] ) { $invite = \IPS\Db::i()->select( '*', 'invite_invites', array( 'invite_code=?', $values[ $val ] ) )->first(); /* Force email address */ if( \IPS\Settings::i()->is_emailfrominvite ) { if( $values['email_address'] != $invite['invite_invited_email'] ) { \IPS\Output::i()->error( 'is_error_notsameemails', '2S129/1', 403, '' ); } } } } $member = parent::_createMember( $values, $profileFields ); if ( \IPS\Settings::i()->is_on ) { $val = \IPS\Settings::i()->is_requireinvite ? 'invite_code_req' : 'invite_code_opt'; /* Update Member */ if( $values[ $val ] ) { $invite = \IPS\Db::i()->select( '*', 'invite_invites', array( 'invite_code=?', $values[ $val ] ) )->first(); /* Force email address */ if( \IPS\Settings::i()->is_emailfrominvite ) { if( $values['email_address'] != $invite['invite_invited_email'] ) { \IPS\Output::i()->error( 'is_error_notsameemails', '2S129/1', 403, '' ); return $member; } } if( \IPS\Settings::i()->is_registrationgroup_toggle ) { $member->member_group_id = \IPS\Settings::i()->is_registrationgroup; } $member->invited_by = $invite['invite_sender_id']; if( \IPS\Settings::i()->is_registration_earninvitations AND \IPS\Settings::i()->is_registration_earninvitations_nr > 0 ) { $member->invites_remaining = \IPS\Settings::i()->is_registration_earninvitations_nr; } $member->save(); /* Update Invite */ \IPS\Db::i()->update( 'invite_invites', array( 'invite_status' => 1, 'invite_conv_member_id' => $member->member_id, 'invite_conv_date' => time(), 'invite_expiration_date' => 0 ), array( 'invite_id=?', $invite['invite_id'] ) ); } } return $member; }  
  4. Like
    Alexander_M got a reaction from Redneck in (SOS40)_Invite_System_2.0.0   
    Ну, я просто посмотрел на код и там было такое:
    $member = parent::_createMember( $values ); Думаю, Вы понимаете, что это косяк: этому методу должен передаваться второй параметр - массив с дополнительными полями профиля (см. реализацию applications/core/modules/front/system/register.php).
    Я исправил. У нас проблема исчезла.
    Теперь по поводу Вашего товарища с такой же проблемой: тут проблема может быть в каких-то других хуках, или в ошибке совершенно такого же рода в подобном же хуке метода _createMember.
  5. Like
    Alexander_M got a reaction from Redneck in (SOS40)_Invite_System_2.0.0   
    А вообще, этот движок по определению полон сюрпризов - потому что он написан косорукими обезъянами. Даже удивительно, что за него просят денег и он так нравится людям, я как адепт phpBB ещё со времен второй версии, помня, какое качества кода там, поражаюсь тому, какое оно в этом движке.
    Вы кеш почистили естественно? Хуки компиллируются и могли закешироваться.
    Что касается того, что было до 18 версии, а чего не было - порядок наследования мог измениться, и тогда мог просто отработать оригинальный метод без ошибки, по случайности.
    Если проблема у Вас не устраняется даже после отключения плагина и чистки кеша - нужно смотреть какие ещё плагины из установленных у Вас могут перегружать контроллер регистрации. И грешить надо на них.
  6. Like
    Alexander_M got a reaction from Redneck in (SOS40)_Invite_System_2.0.0   
    Ну я Вам выше всё сказал и объяснил, что у Вас могут быть ещё источники проблем.
    Моё дело маленькое - указать на явный баг (я Вам привел строчку) и предложить исправление.
    Успехов!
  7. Like
    Alexander_M got a reaction from Redneck in (SOS40)_Invite_System_2.0.0   
    Ну, собственно, разобрались. Мои слова про косоруких обезъян подтверждены.
    Разработчики поменяли интерфейс функции _createMember в версии 4.1.18.
    Вот результаты сравнения:
    diff -r ./17 ./18 > 17_to_18.txt < * @param array $values Values from form --- > * @param array $values Values from form > * @param array $profileFields Profile field values from registration 369c368 < public static function _createMember( $values ) --- > public static function _createMember( $values, $profileFields ) Таким образом все плагины, перегружающие этот метод будут работать некорректно, начиная с версии 4.1.18, если их не поправить аналогичным тому, как это сделали мы, образом.
    В Release Notes ни слова... я в шоке.
  8. Like
    Alexander_M got a reaction from gudman1 in (SOS40)_Invite_System_2.0.0   
    Ну, собственно, разобрались. Мои слова про косоруких обезъян подтверждены.
    Разработчики поменяли интерфейс функции _createMember в версии 4.1.18.
    Вот результаты сравнения:
    diff -r ./17 ./18 > 17_to_18.txt < * @param array $values Values from form --- > * @param array $values Values from form > * @param array $profileFields Profile field values from registration 369c368 < public static function _createMember( $values ) --- > public static function _createMember( $values, $profileFields ) Таким образом все плагины, перегружающие этот метод будут работать некорректно, начиная с версии 4.1.18, если их не поправить аналогичным тому, как это сделали мы, образом.
    В Release Notes ни слова... я в шоке.
  9. Like
    Alexander_M got a reaction from gudman1 in (SOS40)_Invite_System_2.0.0   
    Ну, я просто посмотрел на код и там было такое:
    $member = parent::_createMember( $values ); Думаю, Вы понимаете, что это косяк: этому методу должен передаваться второй параметр - массив с дополнительными полями профиля (см. реализацию applications/core/modules/front/system/register.php).
    Я исправил. У нас проблема исчезла.
    Теперь по поводу Вашего товарища с такой же проблемой: тут проблема может быть в каких-то других хуках, или в ошибке совершенно такого же рода в подобном же хуке метода _createMember.
  10. Like
    Alexander_M got a reaction from gudman1 in (SOS40)_Invite_System_2.0.0   
    Похоже, эта штука ломает дополнительные поля профиля при регистрации. Баг в хуке, перехватывающем контроллер регистрации. Исправление в файле (invite/hooks/is_registerScreen.php):
    public static function _createMember( $values, $profileFields ) { if ( \IPS\Settings::i()->is_on ) { $val = \IPS\Settings::i()->is_requireinvite ? 'invite_code_req' : 'invite_code_opt'; if( $values[ $val ] ) { $invite = \IPS\Db::i()->select( '*', 'invite_invites', array( 'invite_code=?', $values[ $val ] ) )->first(); /* Force email address */ if( \IPS\Settings::i()->is_emailfrominvite ) { if( $values['email_address'] != $invite['invite_invited_email'] ) { \IPS\Output::i()->error( 'is_error_notsameemails', '2S129/1', 403, '' ); } } } } $member = parent::_createMember( $values, $profileFields ); if ( \IPS\Settings::i()->is_on ) { $val = \IPS\Settings::i()->is_requireinvite ? 'invite_code_req' : 'invite_code_opt'; /* Update Member */ if( $values[ $val ] ) { $invite = \IPS\Db::i()->select( '*', 'invite_invites', array( 'invite_code=?', $values[ $val ] ) )->first(); /* Force email address */ if( \IPS\Settings::i()->is_emailfrominvite ) { if( $values['email_address'] != $invite['invite_invited_email'] ) { \IPS\Output::i()->error( 'is_error_notsameemails', '2S129/1', 403, '' ); return $member; } } if( \IPS\Settings::i()->is_registrationgroup_toggle ) { $member->member_group_id = \IPS\Settings::i()->is_registrationgroup; } $member->invited_by = $invite['invite_sender_id']; if( \IPS\Settings::i()->is_registration_earninvitations AND \IPS\Settings::i()->is_registration_earninvitations_nr > 0 ) { $member->invites_remaining = \IPS\Settings::i()->is_registration_earninvitations_nr; } $member->save(); /* Update Invite */ \IPS\Db::i()->update( 'invite_invites', array( 'invite_status' => 1, 'invite_conv_member_id' => $member->member_id, 'invite_conv_date' => time(), 'invite_expiration_date' => 0 ), array( 'invite_id=?', $invite['invite_id'] ) ); } } return $member; }  
  11. Like
    Alexander_M reacted to WOLF in Нужна помощь.   
    АЛЛООО УАСЯ
     
  12. Like
    Alexander_M reacted to Silence in Advanced Online Indication Plugin   
    Поставит ето в custom.css и все в порядке:
    .state-indicator { display: inline-block; font: normal normal normal 14px/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }  
  13. Like
    Alexander_M got a reaction from Silence in Advanced Online Indication Plugin   
    Какие настройки стояли у плагина? Обнаружилась проблема в функции, связанной с индикацией статуса онлайн в аватарах. Если при её включении форум падал - то да, новая версия в аттаче.
     
    Lafko, а вот тут по подробнее. Судя по скриншоту, гугл тут ни при чем, - Вы используете какой-то WAF, видимо. И вероятно об на основе эврестического алгоритма блокирует загрузку файла с кодом... Но это уже телепатия. Нужно конкретное описание, как мне воспроизвести проблему.
    Online_Indicator_1_0_8.xml
    Господа, когда вы пишите о какой-то проблеме, пожалуйста описывайте подробнее, что и как вы делаете. Иначе всё будет очень медленно исправляться, а я буду быстро уставать и в следующий раз поленюсь выкладывать.
  14. Like
    Alexander_M got a reaction from gudman1 in Online Indicator   
    Silence, дайте ссылочку на тему Вашего форума - посмотрим что там.
    Предыдущий плагин Online Indicator Вы просто удалили? И затем установили заново, я верно понимаю? (Теоретически, я мог накосячить в инструкции, но проверил только что ещё раз, - всё верно.)
    А, и ещё. Тоже поможет для выяснения проблемы - если навести на значок, то какая надпись появляется? (Там есть всплывающая подсказка, где текстом написано.)
    Возможно так же, что вы не завершили php сессию (т.е. кнопочку выход не нажали). Это тоже может быть источником такой проблемы. Иногда в таблице сессий для одного пользователя бывает и две строчки... (такое я уже ловил и, по-хорошему, это конечно косяк движка). Обычно нужно несколько раз обновить страницу с нового устройства и всё должно быть ок.
  15. Like
    Alexander_M got a reaction from Respected in Online Indicator   
    Ладно, у меня прошел приступ лени.
    Но внимание, ПЕРЕД установкой этого плагина обязательно установите Advanced Online Indicator. (Я имею ввиду именно эту версию Online Indicator.)
    Online_Indicator_1_0_7.xml
  16. Like
    Alexander_M got a reaction from gudman1 in Online Indicator   
    Ладно, у меня прошел приступ лени.
    Но внимание, ПЕРЕД установкой этого плагина обязательно установите Advanced Online Indicator. (Я имею ввиду именно эту версию Online Indicator.)
    Online_Indicator_1_0_7.xml
  17. Like
    Alexander_M got a reaction from gudman1 in Online Indicator   
    Это "служебный" плагин. Он расширяет класс \IPS\Member добавляя набор методов для определения типа устройства. (См. исходник.)
    Предлагается небольшой патч для плагина тов. Silence:
    В custom.css достаточно оставить:
    .state-indicator { display: inline-block; font: normal normal normal 14px/1 FontAwesome; font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } В хуках:
    {{if $comment->author()->isOnline()}}<i class="state-indicator ipsOnlineStatus_online" data-ipsTooltip title="Пользователь в сети с {$comment->author()->_isOnlineFromName()}">{$comment->author()->_isOnlineFromSymbol()}</i>{{else}}<i class="fa {setting="onlineIndicator_iconOffline"} ipsOnlineStatus_offline" data-ipsTooltip title="{lang="offline" sprintf="$comment->author()->name"}"></i>{{endif}} Думаю, логика понятна и автор поправит свой плагин.
    На нашем форуме эта штука уже работает.
    Advanced Online Indicator.xml
  18. Like
    Alexander_M got a reaction from Respected in Пинговалка блогов Яндекса   
    Господа, пусть человек порадуется своему авторству и успеху. Что нам, жалко что-ли?
    Мод бесплатный и свободный. Лицензию ему не приписывали. Пусть хоть миллион копий создает и распространяет с разными URL - на свой сайт, на сайт товарища, на свою страничку ВКонтакте, на страничку своей собаки.
    Главное, чтобы эта штука была полезна людям.
  19. Like
    Alexander_M got a reaction from Silence in Пинговалка блогов Яндекса   
    Господа, у кого дупликаты, опишите подробнее, пожалуйста.
    У Вас стоят какие-то ещё плагины? У нас на боевом форуме стоит эта штука - никаких дупликатов не появляется.
    September^^, хорошо. Надо только посмотреть, можно ли у гугла проверить доходят ли "пинги". У Яндекса они выгружают XML файл. Я тестил - пинги исправно доходят, всё ок.
  20. Like
    Alexander_M got a reaction from Silence in Пинговалка блогов Яндекса   
    Ну, в общем возможная причина мне ясна.
    Двиг "оборачивает" кастомный код статического метода create в try {} catch(..) {} из-за чего при возникновении RuntimeException возможен повторный вызов метода create родительского класса. А он-то как раз и создает сообщение.
    Таким образом, господа, workaround - те, у кого проблема с дублированием, у ваc вероятнее всего что-то с cURL. Возможно он не установлен, возможно запрещены внешние коннекты. В общем, проверьте что у вас в phpinfo() насчет cURL.
    Upd: забыл добавить, что XML-RPC расширение тоже надо проверить.
    Дело тут в том, что двиг эти хуки компиллит динамически, на этапе исполнения. И потом evalит. Поэтому критические ошибки PHP, которые должны были бы свалить страницу  совсем её не валят, а преобразовываются в исключения.
    Те, кому надо исправить быстро - проверьте в phpinfo наличие curl и xmlrpc. А по сути, я на днях, как дойдут руки, поправлю этот дурацкий автосгенерированный try catch и выложу новую версию плагина. Сейчас со временем ппц облом.
  21. Like
    Alexander_M got a reaction from Silence in Пинговалка блогов Яндекса   
    Господа, пусть человек порадуется своему авторству и успеху. Что нам, жалко что-ли?
    Мод бесплатный и свободный. Лицензию ему не приписывали. Пусть хоть миллион копий создает и распространяет с разными URL - на свой сайт, на сайт товарища, на свою страничку ВКонтакте, на страничку своей собаки.
    Главное, чтобы эта штука была полезна людям.
  22. Like
    Alexander_M reacted to Sipsb in Пинговалка блогов Яндекса   
    Соглашусь целиком и полностью, что нужно соблюдать субординацию. Как минимум это же и есть мотивация к созданию бесплатного и нужного.
  23. Like
    Alexander_M got a reaction from gudman1 in Пинговалка блогов Яндекса   
    Господа, пусть человек порадуется своему авторству и успеху. Что нам, жалко что-ли?
    Мод бесплатный и свободный. Лицензию ему не приписывали. Пусть хоть миллион копий создает и распространяет с разными URL - на свой сайт, на сайт товарища, на свою страничку ВКонтакте, на страничку своей собаки.
    Главное, чтобы эта штука была полезна людям.
  24. Like
    Alexander_M got a reaction from gudman1 in Пинговалка блогов Яндекса   
    Ну, в общем возможная причина мне ясна.
    Двиг "оборачивает" кастомный код статического метода create в try {} catch(..) {} из-за чего при возникновении RuntimeException возможен повторный вызов метода create родительского класса. А он-то как раз и создает сообщение.
    Таким образом, господа, workaround - те, у кого проблема с дублированием, у ваc вероятнее всего что-то с cURL. Возможно он не установлен, возможно запрещены внешние коннекты. В общем, проверьте что у вас в phpinfo() насчет cURL.
    Upd: забыл добавить, что XML-RPC расширение тоже надо проверить.
    Дело тут в том, что двиг эти хуки компиллит динамически, на этапе исполнения. И потом evalит. Поэтому критические ошибки PHP, которые должны были бы свалить страницу  совсем её не валят, а преобразовываются в исключения.
    Те, кому надо исправить быстро - проверьте в phpinfo наличие curl и xmlrpc. А по сути, я на днях, как дойдут руки, поправлю этот дурацкий автосгенерированный try catch и выложу новую версию плагина. Сейчас со временем ппц облом.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.