Проблемы после изменения регистрационного соглашения

Автор snty, 28 декабря 2020, 01:41:44

« назад - далее »

0 Пользователи и 4 гостей просматривают эту тему.

snty

Доброго времени суток, Уважаемые специалисты по smf форуму!
С наступающим Вас Новым годом! Счастья! Успехов! И главное - ЗДОРОВЬЯ!

Установлено: CMF 2.0.17, тема Reseller (хотя все одинаково на любой теме, даже на дефолтной)

Проблема: После внесения изменений в текст регистрационного соглашения через административную панель, старые (т.е. уже зарегистрированные) пользователи ничего не могут сделать на форуме! После входа на форум отображается страница с регистрационным сообщением без кнопки "принять"... Переход по любым ссылкам отправляет на эту же страницу) Для новых пользователей все работает без проблем!

Похожих проблем в интернете не нашел! Подобных тем на форуме тоже!) Пробовал все советы, которые находил в похожих темах, кроме переустановки) Ничего не помогает! Пока просто отключил "Требовать от новых пользователей принятия регистрационного соглашения" в настройках и все работает нормально. Хотелось бы, чтоб регистрационное соглашение присутствовало, но при его включении - опять старые пользователи (которые зарегистрировались до его изменения) не могут никуда перейти, кроме страницы соглашения!

Подскажите, пожалуйста, куда копать?) Заранее Огромное спасибо! А то уже всю голову сломал)


snty

Об этом я не думал) Счас попробовал, в английской версии кнопка есть и работает...
Не подскажете, как сделать кнопку в русской версии?

digger®

Цитата: snty от 28 декабря 2020, 19:07:43Об этом я не думал) Счас попробовал, в английской версии кнопка есть и работает...
Не подскажете, как сделать кнопку в русской версии?
Русификацию форума переустановите, там много добавилось из-за GDPR в последних версиях.

snty

Переустановить это, если я правильно понимаю, просто закачать по новой с заменой файлов?
Скачал с https://download.simplemachines.org/index.php?languages;id=38
распаковал в папку форума с заменой всех файлов.
Ситуация никак не изменилась... Изначально этот же пакет русификации и ставил)
Подскажите, пожалуйста, может возможно у ранее зарегистрированных пользователей как то отменить принятие регистрационного соглашения? Т.е. пометить, что они его уже приняли... Т.к. у новых все нормально работает. Проблема только с несколькими, которые зарегистрировались до изменения соглашения. Сам форум свежий, пользователей немного, может я могу вручную поставить отметки о принятии соглашения? Знать бы только где это находится)

snty

Цитата: digger® от 28 декабря 2020, 21:52:58Русификацию форума переустановите, там много добавилось из-за GDPR в последних версиях.
Доброго времени суток, Уважаемые специалисты по smf форуму!
Подскажите, пожалуйста, что еще можно сделать?

Русификацию переустанавливал, ничего не меняется. Переустановил весь форум с нуля, ситуация та же! Значит, как я понимаю, информация о пользователях, которые должны принять «РС» находится в БД. Просмотрел все в БД, но отличий в пользователях, которые приняли и которым надо принять не нашел... Также пробовал менять id пользователей в БД, но видимо это не зависит от id, т.к. все равно проблема сохраняется у того же пользователя, но с другим id...

Также не пойму, почему в английской версии работает, а в русской нет? Пробовал подменять содержимое русских файлов английскими, например, Agreement.russian-utf8.php файлом Agreement.english.php, ситуация все равно не меняется. Хотя, по идее должно работать, ведь файл Agreement.php общий, просто, в зависимости от выбора языка подставляются данные из Agreement.russian-utf8.php или Agreement.english.php... Кодировка всех файлов utf-8.

Разница в исходном коде, при смене языка в одном блоке:
В английской версии все правильно:
<div class="container">
            <div class="row">
                        <div id="main_content_section">
            <form action="http://sait/acceptagreement/?doc=agreement" method="post">
                        <div class="cat_bar">
                                  <h3 class="catbg">Updated Registration Agreement</h3>
                        </div>
                        <p class="description">
                                  You must accept the terms of the registration agreement in order to continue using the forum.
                        </p>
                        <span class="upperframe"><span></span></span>
                        <div class="roundframe">
                                  <div>You agree, through your use of this forum, that you will not post any material ...</div>
                        </div>
                        <span class="lowerframe"><span></span></span>
                        <div id="confirm_buttons">
                                  <input type="submit" value="I Agree" class="button_submit" />
                                  <input type="hidden" name="e770fb4cf26" value="01eb0d789ec945a9b9026d2f8eb0924b" />
                        </div>
            </form>
                        </div>
            </div>
</div>

А в русской, почему-то <form> не подгружается:
<div class="container">
            <div class="row">
                        <div id="main_content_section">
                        <div class="cat_bar">
                                  <h3 class="catbg">Registration Agreement</h3>
                        </div>
                        <span class="upperframe"><span></span></span>
                        <div class="roundframe">
                                  <div>You agree, through your use of this forum, that you will not post any material ...</div>
                        </div>
                        <span class="lowerframe"><span></span></span>
                        </div>
            </div>
</div>

Подскажите, пожалуйста, куда дальше копать и что еще попробовать?) Заранее Огромное спасибо! А то уже всю голову сломал) wallbash

snty

Уважаемые специалисты по smf форуму! Неужели ни у кого не было подобного?

Я с нуля ставил форум, регистрировал одного пользователя "до" и одного "после" - ситуация такая же!

Единственное, ситуация меняется, если при изменении РС поставить галочку "незначительные изменения") Тогда у старых пользователей принятия не запрашивает)

Но я изначально не знал таких тонкостей и галочку не поставил... И теперь ничего не помогает!

Подскажите, пожалуйста хотя бы, где искать эти настройки принятия РС в БД и как их изменить?!

Yarik


snty

Цитата: S.T.A.L.K.E.R. от 05 февраля 2021, 05:58:32Может попробовать обновиться на 2.0.18?
Спасибо за помощь! Обновился, но, к сожалению ситуация никак не изменилась)


snty

Уважаемые специалисты по smf форуму! Неужели никто не может подсказать, как это исправить?

Подскажите, пожалуйста хотя бы, где искать эти настройки принятия РС в БД и как их изменить?! Хотя бы просто, где они находятся!)))

Или, если возможно, как админу переписать пользователей по новой с сохранением их старых паролей?
Или как назначить пользователям, что они прошли РС? Или как отменить РС у зарегистрированных, но оставить для новых? Или как войти под ихним именем (не зная пароля), принять самому соглашение (в английской версии)?

Или любое другое решение! Буду благодарен за любую подсказку! Заранее спасибо!!!)

Просто, ситуация такая, что это форум небольшого СНТ) Людей и так туда заманиваем с большим трудом!) Большинство пользователей бабушки и им интернет чужд!) Им проще по старинке ходить на собрания к бочкам))) Поэтому, если сейчас их еще попросить перерегистрироваться по новой - половина (если не больше) плюнут и не будут! Тем более, что нарушений их прав нет - они уже принимали это РС при регистрации! Да и их всего человек 20... У новых все работает хорошо.
Подскажите, пожалуйста любой вариант, с минимальными потерями!)

Yarik

Цитата: snty от 23 февраля 2021, 04:14:28Подскажите, пожалуйста хотя бы, где искать эти настройки принятия РС в БД и как их изменить?! Хотя бы просто, где они находятся!)))
В БД таблица префиксБД_themes
Используйте phpMyAdmin
Колонка таблицы variable в ней agreement_accepted и policy_accepted
Я так подозреваю что для нужных пользователей эти записи просто отсутствуют.Для нужных пользователей сделайте так,нажимайте копировать таблицу agreement_accepted и подставляйте в копированной таблице нужное id_member, потом с policy_accepted точно такое же.

snty

S.T.A.L.K.E.R. Спасибо Вам ОГРОМНОЕ! Вы просто ГЕНИЙ!!!
Я сколько не искал в БД, так и не нашел ничего подобного!) На рабочей версии пока не пробовал, но на локальной сработало!) Еще раз ОГРОМНОЕ спасибо!!!
Но, я могу зайти только от администратора и еще от пары пользователей (созданных для тестирования), отсюда сразу вытекло еще несколько вопросов):
1. После появления этой ситуации (суть темы), было отключено РС, чтоб форумом могли пользоваться и те, у кого появились проблемы с принятием... Соответственно, все, кто зарегистрировался после отключения РС, тоже никаких записей в таблице не имеют. Не отразится ли это на них? Или нужно всех вносить?
2. В таблице agreement_accepted (и в policy_accepted) есть еще value (значение), которое у всех разное. И соответственно, если я копирую эту запись, то у всех пользователей будет одинаковое значение... Опять же, не отразится ли это на других, если все значения будут одинаковыми? Или это просто зашифрована дата принятия?
3. Форум создавался, как с целью обсуждения вопросов и проблем СНТ, так и для возможности в дальнейшем голосования (сейчас в госдуме проходит вопрос о возможности онлайн-голосований) за принятие каких-то решений по СНТ, чтоб не ходить на бестолковые собрания, где все только кричат друг на друга и проблемы не решают! Но, как и в любом сообществе, там есть некоторые «активные» личности, которые вечно всем недовольны!) Они постоянно терроризируют председателя, срывают собрания, подают в суды, подначивают других пользователей и т.п... Отсюда вопрос: насколько правомерным будет внесение всех пользователей (которые уже зарегистрировались) в базу тех, кто РС принял? Небольшое уточнение: ссылка на форум давалась только в чате СНТ, когда образовалась проблема с РС – в чате было написано! И также было предупреждение, что «пока вопрос решается, все регистрирующиеся принимают РС автоматом»!
Еще раз огромное спасибо! Но, исходя из вопросов (особенно из 3), может Вы можете подсказать, как исправить русскую версию (ведь в английской все работает)? Или можете подсказать другой способ, чтоб всё-таки ВСЕ пользователи реально приняли РС? Ну или хотя бы его прочитали и поставили галочку!)
Например, я сделаю все по Вашему варианту. Получится, что все приняли РС. Потом РС будет включено на форуме и новые пользователи естественно будут его принимать для регистрации. Возможно ли сделать потом отдельно принятие РС, например, для отдельной группы или голосования?
Простите за такие вопросы, возможно для Вас они примитивны, но я новичок в этом форуме!) Смысл такой: в дальнейшем планируется отдельная группа «член СНТ» (т.к. зарегистрироваться может любой), которой будут доступны определенные темы и голосования. В группу попадают только после того, как администратор проверит документы и убедится, что это член СНТ (при регистрации есть доп. поля: участок, линия, фамилия владельца). Можно ли будет сделать так, чтобы перед попаданием в группу, люди принимали отдельный РС? Просто, для регистрации на форуме достаточно простых РС, а для участия в голосовании и принятий решений по СНТ другие!)
Естественно, если сильно заняты, можете не отвечать на мои вопросы! Я Вам и так уже сильно благодарен за подсказку где искать и как действовать!!! Тем более, что Ваша подсказка единственная из тысячи, которая сработала!) Я уже три месяца ищу, кучу вариантов перепробовал! Даже с нуля ставил и проверял... И только Ваш совет сработал!) Еще раз Вам огромное спасибо!!!!!

Yarik

Цитата: snty от 25 февраля 2021, 03:04:072. В таблице agreement_accepted (и в policy_accepted) есть еще value (значение), которое у всех разное. И соответственно, если я копирую эту запись, то у всех пользователей будет одинаковое значение... Опять же, не отразится ли это на других, если все значения будут одинаковыми? Или это просто зашифрована дата принятия?
Это дата принятия в Unix времени.Можнл и одинаковыми
Цитата: snty от 25 февраля 2021, 03:04:07Но, исходя из вопросов (особенно из 3), может Вы можете подсказать, как исправить русскую версию (ведь в английской все работает)? Или можете подсказать другой способ, чтоб всё-таки ВСЕ пользователи реально приняли РС? Ну или хотя бы его прочитали и поставили галочку!)
Например, я сделаю все по Вашему варианту. Получится, что все приняли РС. Потом РС будет включено на форуме и новые пользователи естественно будут его принимать для регистрации. Возможно ли сделать потом отдельно принятие РС, например, для отдельной группы или голосования?
Проблему нужно видеть чтобы хотя бы попытаться понять в чем дело
РС по моему для всех сразу,и принимается оно при регистрации

snty

Уважаемый, S.T.A.L.K.E.R! Еще раз Вам ОГРОМНОЕ спасибо!!!

Цитата: S.T.A.L.K.E.R. от 26 февраля 2021, 15:02:06Это дата принятия в Unix времени.Можнл и одинаковыми
Раз это просто дата, то можно не заморачиваться)

Цитата: S.T.A.L.K.E.R. от 26 февраля 2021, 15:02:06Проблему нужно видеть чтобы хотя бы попытаться понять в чем дело
РС по моему для всех сразу,и принимается оно при регистрации

А увидеть проблему очень просто! Я сейчас опять для эксперимента попробовал) Все заняло всего 5 минут времени (дольше это сообщение пишу). Опишу пошагово действия и проблему:
  • Скачиваю с  https://download.simplemachines.org/ smf_2-0-18_install и с https://download.simplemachines.org/index.php?languages;id=38 smf_2-0-18_russian-utf8
  • Запускаю OSPanel, создаю базу данных и распаковываю в каталог домена скачанные файлы.
  • Устанавливаю форум (все проходит быстро и без ошибок), захожу под админом...
  • В другом браузере открываю этот форум и регистрируюсь, как простой пользователь (принимаю РС, открываю все страницы – все работает). Выхожу.
  • Возвращаюсь в браузер с админом и меняю РС (как угодно, просто абзац или слово удаляю), сохраняю.
  • Иду обратно в браузер с пользователем, вхожу под его логином и паролем – ВСЕ!!! Происходит то, что и описывал с начала темы (только с 2-0-17). Только страница РС без кнопки «принимаю» и больше никуда не зайти (все ссылки перекидывают на эту страницу)!)
  • Возвращаюсь к админу и ставлю основным языком английский.
  • Иду обратно к пользователю, обновляю страницу, и... Все работает, кнопка «I Agree» присутствует и работает) Но, все на английском)))
  • Иду опять к админу, ставлю русский.
  • У пользователя обновляю страницу и опять –кнопки «принимаю» нет (естественно, если в английской версии не принял)! И никуда опять перейти нельзя! Все ссылки перекидывают на РС без кнопки принятия!))))) Если в английской версии принять, то потом в русской все работает (т.е. не открывается страница РС).

Еще раз Вам большой респект и спасибо! ТО, что Вы подсказали, мне в принципе, вполне достаточно! Форум небольшой, пользователей немного и, думаю, что проблем не возникнет!) В крайнем случае просто создам тему «РС для собственников СНТ» и только те, кто там отметятся (т.е. прочитают) будут выделены в отдельную группу, которой будет разрешено голосовать)

Просто хотелось сделать «по человечески», чтоб все работало, как в английской, так и русской версии! ::) Но, видно не судьба, придется самому прописывать принятие РС, за тех, кто его не принял))) Благо форум маленький и народу немного – это не сложно!)

Но зато, думаю, что тема будет полезна всем, кто не использует стандартное РС или меняет его в процессе наполнения форума!) Маленький «лайфхак»: если при изменении РС поставить галочку «Это незначительное изменение», то таких проблем не возникает!) Но, с другой стороны, если Вы реально переписали РС, то это получается обман пользователей, которые приняли старый)))

Как решить эту проблему грамотно, ответа не нашел) Поэтому пока воспользуюсь советом Уважаемого S.T.A.L.K.E.R) Меня такой подход вполне устраивает! А вот тем, кто решит поменять РС на большом, наполненном форуме, стоит сначала задуматься, как решить этот вопрос!)

Всем большое спасибо за любые высказывания и предложения! Если найдете грамотное решение как вернуть кнопку "принимаю" в русской версии - отпишитесь пожалуйста!)

Yarik

Я имел ввиду тестовый аккаунт на Вашем форуме на котором можно посмотреть эту проблему.
Ставить форум,создавать БД и прочее.Я знаю конечно же как это делать но у меня на это нет времени.

snty

Да я понял, просто сам стараюсь не менять ничего на рабочем форуме, чтоб не отпугнуть и так малочисленных пользователей) Сначала все проверяю на локальном...
А описал подробно для понимания, что эта проблема есть на любом форуме (2.0.17 и 2.0.18), даже установленном с нуля, без плагинов, модов, тем и т.п.
Да и время все это, вместе с закачкой, установкой, регистрацией и т.д. занимает всего 5-10 минут) И решение, если найдется, то лучше выложить это для всех, т.к. проблема не единичная)
Но, если Вам так проще посмотреть, то не вопрос) Создал еще одного администратора, доступ отправил в личку.

Yarik

#16
Да,интересно получается
В русской версии в исходном коде отсутствует напрочь код...
Идей пока нет
Проверил у себя все работает как надо.Стало еще интереснее если Вы говорите что в дефолте не работает...

P.S. Предположения появились...

snty

Всем большое спасибо за советы и предложения! Особенно, Уважаемому S.T.A.L.K.E.R.!
Проблема решена! Как решил, даже не спрашивайте - сам не знаю!) Просто прочитал:

Цитата: S.T.A.L.K.E.R. от 02 марта 2021, 17:41:36Проверил у себя все работает как надо.Стало еще интереснее если Вы говорите что в дефолте не работает...
И решил еще попробовать) Несколько раз переустанавливал, менял РС, регистрировал новых пользователей, опять менял РС, опять переустанавливал... и вдруг, кнопка появилась))) Скопировал в эту версию, которая получилась с кнопкой, БД пользователей, проверил – все работает)

Если кому интересно, как это выглядит, то вот:
https://test.snty.ru/ (форум с нуля, без модов, тем и дополнений)
Пользователь (логин/пароль), который зарегистрирован до изменения РС (нет кнопки «принять»):
proba2/proba2
Пользователь (логин/пароль), который зарегистрирован после изменения РС (все работает):
proba3/proba3