Posted 10 сентября, 20159 yr comment_92970 Просмотр файла (SOS40)_Invite_System_2.0.0 This application will allow your community to use an invitation system for new registrations. You can make it mandatory (or not, depending on your configuration). In this case, an invitantion code will be required in order to register a new account in your community. Public side features: Users can send invitation in 2 places: + Create menu and Invitations on Account Settings. New icon on board top (beside Notifications and Messenger) to display the converted invitees and how many invites the user has. This icon also shows the remaining invitations for the member (just like how many users are online on Chat). 2 widgets: Top Inviters (per week, month, year and general) and Latest Converted Invitees, which are invitations converted to membership. Shows "Invited by" on user profile and on profile card (hover on user link). Settings: Enable Invite System Require an Invitation to Register an Account Restore deleted or expired invitation Display the popup Invitations link on board top? Display total of remaining invitations Invitation Expires after X days Earn one Invitation at every X new content posted ACP Features: Invitations Management: a place where you can see the status of each invitation. The status are: PENDING, CONVERTED and EXPIRED. You can invite people, delete or resend invitations. You can also create batch invitations, to be used on a campaign or to be posted elsewhere. It won't send any emails. Bonus form: you can give invitations to a specific member or to a whole member group Добавил Trekkie Добавлено 10.09.2015 Категория Интерфейс Язык ips 4
23 ноября, 20159 yr comment_96336 Будет новая версия? А то в этой не работает SMTP и шлет от емейла пользователя
3 августа, 20168 yr comment_110955 Новая версия приложения 2.0.11 добавлены новые настройки, что бы дать приглашение при создании учётки теперь можно удалить все инвайты с истёкшим сроком пакетные приглашения (SOS41) Invite System 2.0.11.zip Edited 3 августа, 20168 yr by rustav
3 августа, 20168 yr comment_110962 1 час назад, rustav сказал: Новая версия приложения 2.0.11 добавлены новые настройки, что бы дать приглашение при создании учётки теперь можно удалить все инвайты с истёкшим сроком пакетные приглашения (SOS41) Invite System 2.0.11.zip Спасибо, под версию 4.1.13.2 наконец-то корректно пошло, а то пользователи (никакие) не могли отправить инвайт кроме как через админ-панель, был какой-то баг с тем, что кнопка "отправить инвайт" перенаправляла в детали аккаунта, которых при этом, ещё и не было в принципе.
11 февраля, 20177 yr comment_122869 Похоже, эта штука ломает дополнительные поля профиля при регистрации. Баг в хуке, перехватывающем контроллер регистрации. Исправление в файле (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 февраля, 20177 yr comment_122870 5 минут назад, Alexander_M сказал: Похоже, эта штука ломает дополнительные поля профиля при регистрации. Баг в хуке, перехватывающем контроллер регистрации. Уверены, что проблема в приложении? У меня стоит и есть проблема с доп полями при регистрации, но я знаю форум, где нет этого приложения, но проблема с полями есть IPS 4.1.18.2
11 февраля, 20177 yr comment_122871 6 минут назад, Redneck сказал: Уверены, что проблема в приложении? да, мы только что отловили эту ошибку! Если на том форуме где есть проблема не стоит система инвайтов не записываются дополнительные поля при регистрации, значит что то еще у него установлено что мешает это делать. У нас проблема была именно в этом приложении! Сейчас все заработало, мы проверили!
11 февраля, 20177 yr comment_122872 Ну, я просто посмотрел на код и там было такое: $member = parent::_createMember( $values ); Думаю, Вы понимаете, что это косяк: этому методу должен передаваться второй параметр - массив с дополнительными полями профиля (см. реализацию applications/core/modules/front/system/register.php). Я исправил. У нас проблема исчезла. Теперь по поводу Вашего товарища с такой же проблемой: тут проблема может быть в каких-то других хуках, или в ошибке совершенно такого же рода в подобном же хуке метода _createMember.
11 февраля, 20177 yr comment_122873 Только что, gudman1 сказал: да, мы только что отловили эту ошибку! Если на том форуме где есть проблема не стоит система инвайтов не записываются дополнительные поля при регистрации, значит что то еще у него установлено что мешает это делать. У нас проблема была именно в этом приложении! Сейчас все заработало, мы проверили! я отключил приложение и зарегистрировал аккаунт - проблема осталась. И появилась она начиная с 18 версии, до этого проблемы не было
11 февраля, 20177 yr comment_122874 А вообще, этот движок по определению полон сюрпризов - потому что он написан косорукими обезъянами. Даже удивительно, что за него просят денег и он так нравится людям, я как адепт phpBB ещё со времен второй версии, помня, какое качества кода там, поражаюсь тому, какое оно в этом движке. Just now, Redneck said: я отключил приложение и зарегистрировал аккаунт - проблема осталась. И появилась она начиная с 18 версии, до этого проблемы не было Вы кеш почистили естественно? Хуки компиллируются и могли закешироваться. Что касается того, что было до 18 версии, а чего не было - порядок наследования мог измениться, и тогда мог просто отработать оригинальный метод без ошибки, по случайности. Если проблема у Вас не устраняется даже после отключения плагина и чистки кеша - нужно смотреть какие ещё плагины из установленных у Вас могут перегружать контроллер регистрации. И грешить надо на них.
11 февраля, 20177 yr comment_122875 @gudman1 @Alexander_M я удалил приложение, почистил кеш - проблема осталась. Думаю, что дело не в нем.
11 февраля, 20177 yr comment_122876 5 минут назад, Redneck сказал: я удалил приложение, почистил кеш - проблема осталась. Думаю, что дело не в нем очевидно не в нем! Какие еще плагины стоят на форуме. Что то может перегружать контроллер регистрации. Какой то из плагинов не дает отправить информацию в базу данных.
11 февраля, 20177 yr comment_122877 8 minutes ago, Redneck said: @gudman1 @Alexander_M я удалил приложение, почистил кеш - проблема осталась. Думаю, что дело не в нем. Ну я Вам выше всё сказал и объяснил, что у Вас могут быть ещё источники проблем. Моё дело маленькое - указать на явный баг (я Вам привел строчку) и предложить исправление. Успехов!
11 февраля, 20177 yr comment_122878 Ну, собственно, разобрались. Мои слова про косоруких обезъян подтверждены. Разработчики поменяли интерфейс функции _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 ни слова... я в шоке.
11 февраля, 20177 yr comment_122879 2 часа назад, Alexander_M сказал: А вообще, этот движок по определению полон сюрпризов - потому что он написан косорукими обезъянами. Даже удивительно, что за него просят денег и он так нравится людям, я как адепт phpBB ещё со времен второй версии, помня, какое качества кода там, поражаюсь тому, какое оно в этом движке. Вы кеш почистили естественно? Хуки компиллируются и могли закешироваться. Что касается того, что было до 18 версии, а чего не было - порядок наследования мог измениться, и тогда мог просто отработать оригинальный метод без ошибки, по случайности. Если проблема у Вас не устраняется даже после отключения плагина и чистки кеша - нужно смотреть какие ещё плагины из установленных у Вас могут перегружать контроллер регистрации. И грешить надо на них. Ну так сидите на phpBB, или напишите свой движек (ты ведь не обезьяна), смысл его использовать, но при этом поносить движек и его разработчиков?
12 февраля, 20177 yr comment_122880 3 часа назад, Alexander_M сказал: Таким образом все плагины, перегружающие этот метод будут работать некорректно, начиная с версии 4.1.18, если их не поправить аналогичным тому, как это сделали мы, образом. Я весь мозг чуть не сломал Нашел еще 3 приложения с такой проблемой Только после того как все исправил - поля при регистрации стали сохраняться @gudman1 @Alexander_M спасибо за наводку!!!
12 февраля, 20177 yr comment_122881 3 часа назад, Alexander_M сказал: Ну, собственно, разобрались. Мои слова про косоруких обезъян подтверждены. Разработчики поменяли интерфейс функции _createMember в версии 4.1.18. ... В Release Notes ни слова... я в шоке. Не знаю, что такое "интерфейс функции", даже про функции в ООП слышал только от тех самых "криворуких обезъян". Вижу, что добавили аргумент, в метод " _createMember " класса Members. На мой взгляд, это говорит о том что, в отличии от PHPBB, движок все ещё, развивается. Что до несовершенства документации... охшит, а покажите мне доки хоть одного командного проекта, где нет и не было подобных ляпов. И уж точно не "поклоннику PHBB" об этом не знать.
12 февраля, 20177 yr comment_122882 2 hours ago, Dmitriy427 said: Не знаю, что такое "интерфейс функции", даже про функции в ООП слышал только от тех самых "криворуких обезъян". Вижу, что добавили аргумент, в метод " _createMember " класса Members. На мой взгляд, это говорит о том что, в отличии от PHPBB, движок все ещё, развивается. Что до несовершенства документации... охшит, а покажите мне доки хоть одного командного проекта, где нет и не было подобных ляпов. И уж точно не "поклоннику PHBB" об этом не знать. Добавление аргумента метода означает развитие? ;-) Ну вот кстати как раз в phpBB-то никогда посреди минорного апгрейда не менялся программный интерфейс. Там с этим строго. 3 hours ago, ZeRik said: Ну так сидите на phpBB, или напишите свой движек (ты ведь не обезьяна), смысл его использовать, но при этом поносить движек и его разработчиков? Ну многоуважаемый, уж простите, что я Вас так сильно задел - выложил тут решение проблемы, описал механизм возникновения. Я просто ужасен. ;-)
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.