Забыли пароль?
Запросите новый здесь.

Автор темы: jikaka
ID темы: 108
Информация:
Тема содержит 11 сообщения, была просмотрена 11095 раз.  Имеются прикрепленные файлы.
Просмотр темы
PHP-Fusion Russia » Информация » FAQ
 Распечатать тему
Как разрешить регистрацию с русскими никами?
jikaka
Разрешаем регистрацию русских ников.

Открываем /register.php, ищем:
Скачать исходники  Код
if (!preg_match("/^[-0-9A-Z_@\s]+$/i", $username)) {



Заменяем:
Скачать исходники  Код
if (!preg_match("/^[-0-9A-Z_А-Яа-я@\s]+$/i", $username)) {



Открываем /includes/update_profile_include.php, ищем:
Скачать исходники  Код
if (preg_check("/^[-0-9A-Z_@\s]+$/i", $user_name)) {



Заменяем:
Скачать исходники  Код
if (preg_check("/^[-0-9A-Z_А-Яа-я@\s]+$/i", $user_name)) {



Открываем /administration/members.php, ищем:
Скачать исходники  Код
if (!preg_match("/^[-0-9A-Z_@\s]+$/i", $username)) { $error .= $locale['452']."<br />\n"; }



Заменяем:
Скачать исходники  Код
if (!preg_match("/^[-0-9A-Z_А-Яа-я@\s]+$/i", $username)) { $error .= $locale['452']."<br />\n"; }



Ищем:
Скачать исходники  Код
if (isset($_GET['search_text']) && preg_check("/^[-0-9A-Z_@\s]+$/i", $_GET['search_text'])) {



Заменяем:
Скачать исходники  Код
if (isset($_GET['search_text']) && preg_check("/^[-0-9A-Z_А-Яа-я@\s]+$/i", $_GET['search_text'])) {



Ищем:
Скачать исходники  Код
if (isset($_GET['search_text']) && preg_check("/^[-0-9A-Z_@\s]+$/i", $_GET['search_text'])) {



Заменяем:
Скачать исходники  Код
if (isset($_GET['search_text']) && preg_check("/^[-0-9A-Z_А-Яа-я@\s]+$/i", $_GET['search_text'])) {




Ищем:
Скачать исходники  Код
$alphanum = array(
      "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R",
      "S","T","U","V","W","X","Y","Z","0","1","2","3","4","5","6","7","8","9"
   );
   echo "<div style='margin-top:10px;'></div>\n";
   echo "<table cellpadding='0' cellspacing='1' width='450' class='tbl-border center'>\n<tr>\n";
   echo "<td rowspan='2' class='tbl2'><a href='".FUSION_SELF.$aidlink."&amp;status=".$status."'>".$locale['414']."</a></td>";
   for ($i = 0; $i < 36; $i++) {
      echo "<td align='center' class='tbl1'><div class='small'><a href='".FUSION_SELF.$aidlink."&amp;sortby=".$alphanum[$i]."&amp;status=$status'>".$alphanum[$i]."</a></div></td>";
      echo ($i == 17 ? "<td rowspan='2' class='tbl2'><a href='".FUSION_SELF.$aidlink."&amp;status=".$status."'>".$locale['414']."</a></td>\n</tr>\n<tr>\n" : "\n");



Заменаем:
Скачать исходники  Код
$alphanum = array(
      "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R",
      "S","T","U","V","W","X","Y","Z","0","1","2","3","4","5","6","7","8","9",
      "А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р",
      "С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я",
   );
   echo "<div style='margin-top:10px;'></div>\n";
   echo "<table cellpadding='0' cellspacing='1' width='450' class='tbl-border center'>\n<tr>\n";
   echo "<td rowspan='4' class='tbl2'><a href='".FUSION_SELF.$aidlink."&amp;status=".$status."'>".$locale['414']."</a></td>";
   for ($i = 0; $i < 69 != ""; $i++) {
      echo "<td align='center' class='tbl1'><div class='small'><a href='".FUSION_SELF.$aidlink."&amp;sortby=".$alphanum[$i]."&amp;status=$status'>".$alphanum[$i]."</a></div></td>";
      echo ($i == 17 ? "<td rowspan='4' class='tbl2'><a href='".FUSION_SELF.$aidlink."&amp;status=".$status."'>".$locale['414']."</a></td>\n" : "\n");
                echo ($i==17 || $i==35 || $i==53) ? "\n</tr>\n<tr>\n" : "\n";



Открываем /administration/updateuser.php, ищем:
Скачать исходники  Код
if (preg_check("/^[-0-9A-Z_@\s]+$/i", $user_name)) {



Заменяем:
Скачать исходники  Код
if (preg_check("/^[-0-9A-Z_А-Яа-я@\s]+$/i", $user_name)) {



Открываем /members.php, ищем:
Скачать исходники  Код
$search = array(
      "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R",
      "S","T","U","V","W","X","Y","Z","0","1","2","3","4","5","6","7","8","9"
   );
   echo "<hr />\n<table cellpadding='0' cellspacing='1' class='tbl-border center'>\n<tr>\n";
   echo "<td rowspan='2' class='tbl2'><a href='".FUSION_SELF."?sortby=all'>".$locale['404']."</a></td>";
   for ($i = 0; $i < 36 != ""; $i++) {
      echo "<td align='center' class='tbl1'><div class='small'><a href='".FUSION_SELF."?sortby=".$search[$i]."'>".$search[$i]."</a></div></td>";
      echo ($i == 17 ? "<td rowspan='2' class='tbl2'><a href='".FUSION_SELF."?sortby=all'>".$locale['404']."</a></td>\n</tr>\n<tr>\n" : "\n");



Заменяем:
Скачать исходники  Код
$search = array(
           "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R",
      "S","T","U","V","W","X","Y","Z","0","1","2","3","4","5","6","7","8","9",
      "А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р",
      "С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я",
   );
   echo "<hr />\n<table cellpadding='0' cellspacing='1' class='tbl-border center'>\n<tr>\n";
   echo "<td rowspan='4' class='tbl2'><a href='".FUSION_SELF."?sortby=all'>".$locale['404']."</a></td>";
   for ($i = 0; $i < 69 != ""; $i++) {
      echo "<td align='center' class='tbl1'><div class='small'><a href='".FUSION_SELF."?sortby=".$search[$i]."'>".$search[$i]."</a></div></td>";
      echo ($i == 17 ? "<td rowspan='4' class='tbl2'><a href='".FUSION_SELF."?sortby=all'>".$locale['404']."</a></td>\n" : "\n");
      echo ($i==17 || $i==35 || $i==53) ? "\n</tr>\n<tr>\n" : "\n";



Ищем:
Скачать исходники  Код
if (iMEMBER) {
   if (!isset($_GET['sortby']) || !ctype_alnum($_GET['sortby'])) { $_GET['sortby'] = "all"; }



Заменяем:
Скачать исходники  Код
if (iMEMBER) {
   if (!isset($_GET['sortby']) ||  !preg_match("/^[0-9A-ZА-Яа-я]$/", $_GET['sortby'])) { $_GET['sortby'] = "all"; }



Изменил(а) jikaka, 04.11.2010 13:09
 
Web
Polarfox
спасибо что надпомнил как оно делается, но файлы ты перечислил не все, взять хотя бы поиск по юзерам или список этих же самых юзеров, в т.ч. букафки.
 
yury
вообще удивляет, что разрабы так и не допрут сделать это по умолчанию в двиге
 
Polarfox
Одну регулярку для всего?
Спрошу если не забуду.

Хотя менять много ab Очень много.
 
jikaka
Psc, согласен, некоторые файлы не указал...
 
Web
jikaka
в общем, обновил инфу в первом посту...
для ленивых есть аттач...
jikaka присоединено следующее:файл:
rusnicksphpfusion.zip [16.86кБ / 1040 Загрузки]

 
Web
Polarfox
Вообще хватает одной при реге/смене ника, но если важны мелочи то да.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
yury
думаю будет в тему...


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

Многие пользователи замучали вопросами как загрузить аватарку. А причина только вв том, что нельзя грузить с русскими символами
 
jikaka
да уж, есть такая проблема...
 
Web
APTEMbI4
Работает ли этот метод на PHP-Fusion v7.02.05?
 
Web
Polarfox
Нет это до 7.01 включительно, но суть не меняется и в 7.02 только файл там другой,

Русские символы для PF 7.02 - меняем вот эту строку if (!preg_check("/^[-0-9A-Z_@\s]+$/i", $this->_userName)) {

файл
\includes\UserFieldsInput.class.php
код
Загрузить источник  GeSHi: PHP
  1. private function _settUserName() {
  2. global $locale;
  3. $this->_userName = isset($_POST['user_name']) ? stripinput(trim(preg_replace("/ +/i", " ", $_POST['user_name']))) : "";
  4.  
  5. if ($this->_userName != "" && $this->_userName != $this->userData['user_name']) {
  6. if (!preg_check("/^[-0-9A-Z_@\s]+$/i", $this->_userName)) {
  7. $this->_setError("user_name", $locale['u120']);
  8. } else {
  9. $name_active = dbcount("(user_id)", DB_USERS, "user_name='".$this->_userName."'");
  10. $name_inactive = dbcount("(user_code)", DB_NEW_USERS, "user_name='".$this->_userName."'");
  11. if ($name_active == 0 && $name_inactive == 0) {
  12. $this->_userLogFields[] = "user_name";
  13. $this->_setDBValue("user_name", $this->_userName);
  14. } else {
  15. $this->_setError("user_name", $locale['u121']);
  16. }
  17. }
  18. } else {
  19. $this->_setError("user_name", $locale['u122'], true);
  20. }
  21. }
Добавлено за 0.023 секунд, используя GeSHi 1.0.8.10



Изменил(а) Polarfox, 11.12.2013 21:37
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
x1
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
в PHP 7.4 нельзя вставлять пустое значение в `id` как раньше  →  Пожелания и предложения 4 / 1076 19.12.2023 03:32
нужны ли на сайте "Закладки" и "История посещений", как в браузере?  →  Пожелания и предложения 4 / 840 11.08.2023 15:56
Как сделать микроразметку на сайте?  →  PHP 1 / 3374 22.07.2021 06:39
Как вебмастеру сформулировали УТП для создания сайтов на PHP-Fusion?  →  Пожелания и предложения 1 / 7309 25.07.2020 03:46
SEO-оптимизация. дубли страниц в PHP-Fusion - где искать и как избавиться?  →  Ошибки, баги 0 / 5120 19.06.2020 17:06
Как вывести все данные из таблицы, за исключением администраторов  →  Плагины 3 / 5333 24.02.2020 15:59
Как перейти с http на https  →  Вопросы новичков 30 / 31835 24.10.2019 18:45
Как правильно сделать ЧПУ и переиндексировать сайт?  →  Моды 4 / 10281 24.10.2019 17:38
Как перенести ресурс на другой домен  →  Установка и настройка системы 5 / 4779 24.10.2019 14:01
Посоветуйте JS-слайдер чтобы фотки JPG сменялись как в GIF-анимации  →  Плагины 2 / 6585 20.10.2019 13:34
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)