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

Автор темы: jikaka
ID темы: 108
Информация:
Тема содержит 11 сообщения, была просмотрена 4593 раз.  Имеются прикрепленные файлы.
Просмотр темы
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
спасибо что надпомнил как оно делается, но файлы ты перечислил не все, взять хотя бы поиск по юзерам или список этих же самых юзеров, в т.ч. букафки.
 
Web
yury
вообще удивляет, что разрабы так и не допрут сделать это по умолчанию в двиге
 
Polarfox
Одну регулярку для всего?
Спрошу если не забуду.

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

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

PolarLab - вход для подопытных
 
Web
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.042 секунд, используя GeSHi 1.0.8.10



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

PolarLab - вход для подопытных
x1
 
Web

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

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
Как перейти с http на https  →  Вопросы новичков 4 / 381 13.02.2017 15:33
Как загрузить много фото в фотоальбом?  →  Вопросы новичков 2 / 537 04.01.2017 08:29
Как находить одинаковые (дубли) страниц среди напарсеного?  →  Пожелания и предложения 3 / 1159 24.11.2016 12:16
как задать класс textarea при включенном TinyMCE?  →  Темы оформления 7 версии 5 / 1996 14.11.2016 15:05
Как сделать научный сайт наиболее понятным для неспециалистов?  →  Пожелания и предложения 1 / 909 12.10.2016 14:51
Как назначить модератора на форуме (не админа)?  →  Вопросы новичков 3 / 1762 08.10.2016 07:32
Как лучше всего вставить jcarousel в тему  →  Вопросы новичков 9 / 5309 08.09.2016 19:18
Как сделать из PHP-Fusion-7.01 высконагруженый новостник?  →  Пожелания и предложения 14 / 12353 18.05.2016 21:17
Как обновить данные в ячейке sql  →  MySQL 2 / 2169 27.04.2016 12:27
Как переделать скрипт слайдера для динамически создаваемых картинок  →  Javascript, ajax, jquery 2 / 2646 21.04.2016 17:17
Топ 5 пользователей форума
Alex Alex (1,100)   Zaxap Zaxap (1,066)   Vova Vova (875)   util util (665)   Pisatel Pisatel (661)