Приветствую! Это продолжение темы https://slaed.net/index.php?name=forum&op=view&id=15579
Выкладываю вам мою реализацию. Правки в админке подойдут для любых версий системы, потому что там добавляются только поля по сути. В модуле Аккаунт не привязывал к какой либо версии. На вопросы постараюсь ответить.
АРХИВ С ХАКОМ
дублирую:
СЕКРЕТНОЕ ПОЛЕ ДЛЯ SLAED
/////////////////////////////////////////////////////////////////////////////////////////////////////
admin/modules/USERS.PHP
Находим строку функции function users_conf()
В ней добавляем поля после строки с содержимым ."<tr><td>"._MAIL_BLOCK....
Находим строку функции function users_save()
В ней находим строку с содержимым $cont = array('anonym' => $_POST'anonym', 'adirectory' => $_POST'adirectory',...
В конец перед закрывающей скобкой добавляем:
/////////////////////////////////////////////////////////////////////////////////////////////////////
modules/account/INDEX.PHP
Находим строку функции function newuser()
Там находим форму регистрации.
Перед формой регистрации:
В форме регистрации добавляем:
Находим строку функции function finnewuser()
Там к прочим условия проверок и определения типов ошибок добавляем:
/////////////////////////////////////////////////////////////////////////////////////////////////////
ЯЗЫКИ
И замечу, что классы для секретного поля в файле стилей нужно прописать самостоятельно, задав им атрибут скрытого элемента.
ЗЫ
Подсветка синтаксиса режет квадратные скобки. Лучше скачайте файл с кодом...
Выкладываю вам мою реализацию. Правки в админке подойдут для любых версий системы, потому что там добавляются только поля по сути. В модуле Аккаунт не привязывал к какой либо версии. На вопросы постараюсь ответить.
АРХИВ С ХАКОМ
дублирую:
СЕКРЕТНОЕ ПОЛЕ ДЛЯ SLAED
/////////////////////////////////////////////////////////////////////////////////////////////////////
admin/modules/USERS.PHP
Находим строку функции function users_conf()
В ней добавляем поля после строки с содержимым ."<tr><td>"._MAIL_BLOCK....
."<tr><td>"._USR_SF_ACT."</td><td>".radio_form($confu'usrsf', "usrsf")."</td></tr>" ."<tr><td>"._USR_SF_CLASS.":</td><td><input type=\"text\" name=\"usrsf_class\" value=\"".$confu'usrsf_class'."\" class=\"sl_conf\" placeholder=\""._USR_SF_CLASS."\" required></td></tr>" ."<tr><td>"._USR_SF_NAME.":</td><td><input type=\"text\" name=\"usrsf_name\" value=\"".$confu'usrsf_name'."\" class=\"sl_conf\" placeholder=\""._USR_SF_NAME."\" required></td></tr>"
Находим строку функции function users_save()
В ней находим строку с содержимым $cont = array('anonym' => $_POST'anonym', 'adirectory' => $_POST'adirectory',...
В конец перед закрывающей скобкой добавляем:
, 'usrsf' => $_POST'usrsf', 'usrsf_class' => $_POST'usrsf_class', 'usrsf_name' => $_POST'usrsf_name'
/////////////////////////////////////////////////////////////////////////////////////////////////////
modules/account/INDEX.PHP
Находим строку функции function newuser()
Там находим форму регистрации.
Перед формой регистрации:
if (!empty($confu'usrsf')) { //$confu'usrsf_class' $usf_cl_exp = explode(",", $confu'usrsf_class'); $usf_cl_count = count($usf_cl_exp); $usf_cl = $usf_cl_expmt_rand(0, $usf_cl_count-1); //$confu'usrsf_name' $usf_nm_exp = explode(",", $confu'usrsf_name'); $usf_nm_count = count($usf_nm_exp); $usf_nm = $usf_nm_expmt_rand(0, $usf_nm_count-1); $usf_chk = array(); foreach ($usf_nm_exp as $usf_v) { if (!empty($_POST$usf_v)) $usf_chk = 1; } }
В форме регистрации добавляем:
.(!empty($confu'usrsf') ? "<input type=\"text\" class=\"".$usf_cl."\" name=\"".$usf_nm."\" value=\"\">" : "")
Находим строку функции function finnewuser()
Там к прочим условия проверок и определения типов ошибок добавляем:
if (!empty($confu'usrsf')) { //$confu'usrsf_name' $usf_nm_exp = explode(",", $confu'usrsf_name'); $usf_chk = array(); foreach ($usf_nm_exp as $usf_v) { if (!empty($_POST$usf_v)) $usf_chk = 1; } if (!empty($usf_chk)) $stop .= _USR_SF_ERR."<br />"; }
/////////////////////////////////////////////////////////////////////////////////////////////////////
ЯЗЫКИ
define("_USR_SF_ACT","Использовать секретное поле при регистрации?"); define("_USR_SF_CLASS","Название стиля (.класса) для секретного поля. Можно несколько через запятую."); define("_USR_SF_NAME","Имя секретного поля. Желательно несколько через запятую."); define("_USR_SF_ERR","Дальнейшие действия невозможны.");
И замечу, что классы для секретного поля в файле стилей нужно прописать самостоятельно, задав им атрибут скрытого элемента.
ЗЫ
Подсветка синтаксиса режет квадратные скобки. Лучше скачайте файл с кодом...
Версия системы: SLAED CMS 6.* Pro
Версия PHP: 5
Сервер: Сервер в интернете
Здесь молодость бродит крылато, и старость не клонит голов.