Хак "Принять правила сайта при регистрации" для v. 1.10.7.006 от 10 января 2019 г.

+7
1.42K
Описывается небольшой хак, предлагающий регистрирующемуся на сайте прочитать и принять правила сайта.

Постановка задачи

Ко мне обратился Андрей с просьбой сделать такой хак. Андрей, как известно, активно поддерживает Первую ветку, выкладывая все новые и новые сборки. Он сказал мне, что надеется выпустить следующую сборку в мае 2019 года. Естественно, отказать ему в такой просьбе невозможно. Написав код, выкладываю его на всеобщее тестирование любителей Первой ветки. Хак предназначен для v. 1.10.7.006 от 10 января 2019 г. и тестировался на свежеустановленом сайте.

Состав хака

1. Sql-запрос к БД, позволяющих напрямую создать статью с Правилами для сайта. Запрос содержится в sql-файле cms_content.sql.
Эта статья может быть создана и самим админом, без использования sql-запроса. Содержание статьи произвольно. Два небольших требования
— статья должна называться "Правила сайта",
— статья должна находится в корне Контента,

Если вы создали статью самостоятельно, без использования sql-запроса, зайдите в базу и убедитесь, чтобы в поле seolink таблицы cms_content было прописано значение "pravila-saita".

2. Измененые файлы:
components/registration/frontend.php
templates/_default_/components/com_registration.tpl
languages/ru/components/registration.php

Как выглядит сайт после применения хака

Пока регистрация выключена, страничка /registration сайта выглядит, как обычно.
Иллюстрация

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

Когда пользователь согласился с правилами, ему выносится стандартная форма регистрации. Чекбокс при этом меняется на рисунок, чтобы пользователь не мог его снять:
Иллюстрация

В случае, если регистрация на сайте осуществляется по инвайтам, пользователь после принятия правил видит следующее:
Иллюстрация

Как применить хак к сайту.

Хак предназначен для v. 1.10.7.006 от 10 января 2019 г.

1. Если вы уверены, что в перечисленные файлы изменения не вносились, залейте хак с заменой в корень сайта. Исключение — файл cms_content.sql содержит sql-запрос для создания статьи, его заливать не нужно.

2. Откройте любым редактором файл cms_content.sql и скопируйте оттуда sql-запрос. Зайдите в базу и выполните этот запрос в phpmyadmin'е. Откройте админку и убедитесь, что статья в корне Контента появилась. Отредактируйте статью, чтобы она содержала правила Вашего сайта.

Как скачать хак.

Из моего профиля, даром, то есть бесплатно.
Ссылка для скачивания.

Удачи в сайтостроении! Ваш Странник.
+1
Андрей Андрей 5 лет назад #
Кирилл, благодарю.
Может для защиты от случайностей внедрить при инсталляции хака проверку на наличие статьи в базе?
если она есть подключить ее, если статьи нет, то создать ее...
+1
Андрей Андрей 5 лет назад #
но вообще, сам хак изначально будет встроен в сборку, а статья заранее создана, так что может вообще убрать всяческие проверки...
и создание статьи из кода
0
Странник Странник 5 лет назад #
Андрей, я полагаю, статью сразу надо включить в демо. Я чуть попозже, если не забуду, напишу фрагмент кода инсталлятора, чтобы тебе меньше возиться. Сейчас я вместе с abasia должен допилить предыдущий хак "Показывать профиль группам" до приемлемой кондиции.
0
Андрей Андрей 5 лет назад #
Кирилл, жду :))
Подготовил бету 007. Есть желание выложить ее сегодня, сможем интегрировать твой хак сейчас?
+1
Андрей Андрей 5 лет назад #
Все внедрил smile и даже с учетом англицкой базы. Перевод про ковыряние в носу оставил без купюр!
0
Странник Странник 5 лет назад #
Андрей, если потерпишь пару-тройку дней, я доведу хак Профили пользователей до финала. Плюс день-два на обкатку. Тогда и внедрим все сразу.
0
Андрей Андрей 5 лет назад #
Хорошо, значит первого мая просто будем шашлык-машлык, а к Дню Победы зафеерверчем 007!

Твои хаки по правилам сайта и кукам внедрил!

Кирилл троицу любит (с) - имей ввиду!

Еще от автора

Адаптация компонента "Закладки" от 19 января 2011 к коробочной версии 1.10.7
На форуме появилась тема с пожеланиями адаптировать довольно старый компонент "Instant Bookmarks" Fuze к современным реалиям.
Утилита "Садовод" для версии InstantCMS 1.10.7.008
В этой краткой заметке описывается утилита "Садовод" для ремонта деревьев версии InstantCMS 1.10.7.008.
Изменение компонента "Баннеры" для будущей  версии 1.10.7.008
Данная статья рассказывает всем ждущим новую версию 008, что нового ожидается в будущем релизе версии 1.10.7.008.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.