Редактирование имени

Автор Сообщение

Pappis

Артем
#1/03.12.2015 17:55
+1

Пользователи

Карма: +13

Могу подсказать вариант (кому интересно), как добавить возможность пользователям редактировать своё имя.

Для начала в файл users.profile.php по пути modules/users/inc добавляем следующие строки:

строка 46:

$ruser['user_name'] = cot_import('rusername','P','TXT');

Далее после 61 строки:

$ruser['user_birthdate'] = cot_import_date('ruserbirthdate', false);

пишем:

if (mb_strlen($ruser['user_name']) < 2 || mb_strpos($ruser['user_name'], ',') !== false || mb_strpos($ruser['user_name'], "'") !== false) { cot_error('aut_usernametooshort', 'rusername'); } if ($ruser['user_name'] != $urr['user_name'] && $db->query("SELECT COUNT(*) FROM $db_users WHERE user_name = ?", array($ruser['user_name']))->fetchColumn() > 0) { cot_error('aut_usernamealreadyindb', 'rusername'); }

это нам выведет ошибку если в поле окажется менее двух символов, либо имя уже существует.

И последнее изменение:

Строка 198:

Заменяем

'USERS_PROFILE_NAME' => htmlspecialchars($urr['user_name']),

На

'USERS_PROFILE_NAME' => cot_inputbox('text', 'rusername', $urr['user_name'], array('size' => 20, 'maxlength' => 50) + $protected),

Затем в файле users.profile.tpl в нужном месте добавляем тэг поля {USERS_PROFILE_NAME} Все очень просто, имя переписывается в базе, соотвественно и логиниться пользователю нужно будет уже по новому имени. Так же не забывайте о правилах обновления фреймворка.

Сообщения: 42

Cmsworks

Булат
#2/03.12.2015 17:56
0

Администраторы

Карма: +678

Не понял зачем пользователям давать возможноть изменять логин...

Добавлено 1 минута спустя:

Тем более редактировать исходные файлы дурной тон.

Сообщения: 2388

Pappis

Артем
#3/03.12.2015 18:02
0

Пользователи

Карма: +13

#11892 devkont:

Не понял зачем пользователям давать возможноть изменять логин...

Добавлено 1 минута спустя:

Тем более редактировать исходные файлы дурной тон.

Ну а вдруг пользователю захочется поменять никнейм, такая функция есть на многих сервисах. 

А редактирование исходных файлов это скорее обработка напильником под свои нужды. Имхо конечно)). Может кому то это пригодиться.

Сообщения: 42

Cmsworks

Булат
#4/03.12.2015 18:05
0

Администраторы

Карма: +678

Такая потребность обычно решается запросом в техподдержку сайта и в большинстве случаев не приветствуется. Хотя каждый решает сам...

Но лучше такие практики как "правка напильником" не применять. Всегда проще написать плуг под это дело. И элегантнее и нет проблем с обновлением фреймворка.

Сообщения: 2388