Intellect Board — cистема управления сайтом

Построение сайта на основе форума

Intellect Board — cистема управления сайтом »   Техническая поддержка версии 2.19 »   Опять премодерация.
RSS

Опять премодерация.

Текущий рейтинг темы: Нет
Выводить сообщения

<<Назад  Вперед>>Страницы: 1 2 3
Модераторы: aerograf, wsx
Печать
 
Gram
Администратор

Gram
Откуда: Нижний Новгород
Всего сообщений: 1011
Рейтинг пользователя: 38


Ссылка


Дата регистрации на форуме:
23 июля 2003
C помощью одного мускуля я не уверен, что сделать получится. В чате это делается так — в таблице юзеров заводится отдельный столбец для хранения канонического ника, есть некий инклюдовый файл (который в случае жуткой необходимости редактируется в ручную), содержащий правила канонизации для разных регионов (можно оставить только русский)


<?php

//if you add your own to_canon_nick function, add the name into array
$to_canon_funcs = array("none","simplest","normal","umlauts","rus-win1251");

function to_canon_nick($nick){
  global $current_to_canon;
  switch($current_to_canon){
    case "none":     break;
    case "simplest":   $nick = strtolower($nick);
              break;
    case "normal":     $nick = strtolower($nick);
              strtr($nick,"016i","olbl");
              break;
    case "umlauts":    $nick = strtolower($nick);
              $nick = strtr($nick,"016i","olbl");
              $umlauts = array("Я","д","ц","ь");
              $umlauts2 = array("ss","ae","oe","ue");
              $nick = str_replace($umlauts, $umlauts2, $nick);
              break;
    case "rus-win1251":  $nick = strtolower($nick);
              $nick = strtr($nick,"016авезикорсухьiнпмт","olbabe3ukopcyxblhnmt");
              $nick = str_replace("ю","lo",$nick);
              $nick = str_replace("ы","bl",$nick);
              break;
  }
  return $nick;
}
?>


в админке выбирается функция для проверки канонического ника, а также присутствует пункт меню (Ре)генерация канонических ников, при выборе которого пересчитываются канонические ники (после смены функции в админке надо будет в ручную пересчитать канонические ники, как это сейчас сделано при пересчете статистики). Соответственно при регистрации пользователя или смене его ника канонический ник должен генерироваться автоматом. Ну и проверка в таком случае тоже вполне очевидна...
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 3299
Рейтинг пользователя: 70


Ссылка


Дата регистрации на форуме:
29 сен. 2001
Ну да. Проблема только вот в чем: как сгенерировать этот столбец для всех уже существующих пользователей, чтобы не писать для этого отдельный код?

---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно!
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 3299
Рейтинг пользователя: 70


Ссылка


Дата регистрации на форуме:
29 сен. 2001
В принципе, можно и чистым SQL обойтись, но он будет очень уж громоздок, боюсь.

---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно!
Gram
Администратор

Gram
Откуда: Нижний Новгород
Всего сообщений: 1011
Рейтинг пользователя: 38


Ссылка


Дата регистрации на форуме:
23 июля 2003

XXXX Pro написал:
[q]
Ну да. Проблема только вот в чем: как сгенерировать этот столбец для всех уже существующих пользователей, чтобы не писать для этого отдельный код?
[/q]

Дык код то в любом случае придется писать, пункт в меню для генерации ника в любом случае надо будет делать... (мало ли чего поменяется)... А писать то там вообще буквально строчек 5 - пройтись во таблице юзеров и на основе ника проапдейтить столбец с канонических ником...

4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 3299
Рейтинг пользователя: 70


Ссылка


Дата регистрации на форуме:
29 сен. 2001
Как выяснилось, нужно еще одно мелкое исправление: в common.php функцию process_post нужно привести к виду:
function process_post($topic,$newtopic=0) {
  require('process.php');
  return do_process_post($topic,$newtopic);
}


---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно!
<<Назад  Вперед>>Страницы: 1 2 3
Модераторы: aerograf, wsx
Печать
Intellect Board — cистема управления сайтом »   Техническая поддержка версии 2.19 »   Опять премодерация.
RSS

1 посетитель просмотрел эту тему за последние 10 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
Ограничение доступа
не отображаются разделы
Архив версий
Установка стиля на Intellect Board 2.22
Завершилась работа над новой версией 3.00

Самые активные 5 тем RSS


Время выполнения скрипта: 0.0578. Количество выполненных запросов: 17, время выполнения запросов 0.0000
Creative Commons License Rambler's Top100 Rambler's Top100 Рейтинг@Mail.ru Valid HTML 4.01 Transitional Valid CSS!