Функция игнора

zeltais

Новичок
Функция игнора

Во всех (почти) чатах есть функция игнора юзера ...
долго думал но не нашёл оптимального решения осуществления этой функции ... может подскажете алгоритм ???
Заранее спасибо ...
 

Popoff

popoff.donetsk.ua
http://php.spb.ru/chat/
http://phpclub.net/talk/forumdisplay.php?forumid=30

Заводишь таблицу, в которой пишешь, кто кого игнорирует (пары идентификаторов: первый игнорирует второго). И перед отправкой сообщения проверяешь, игнорирует ли получатель отправителя. Если игнорирует, то не отправляешь сообщение.
 

Popoff

popoff.donetsk.ua
PHP:
function GetIgnor($Login1,$Login2)
{
  $r=mysql_query("select count(Login) from TIgnore where Login='".$Login1."' and Ignores='".$Login2."'");
  $m=mysql_fetch_row($r);
  return ($m{0})?true:false;
}

function SetIgnor($Login1,$Login2,$mode)
{
  $m=GetIgnor($Login1);
  if($m&&$mode||!$m&&!$mode) return; //Mode is not changed
  if($mode)
    mysql_query_log("insert into TIgnore(Login,Ignores) values('".$Login1."','".$Login2."')");
  else
    mysql_query_log("delete from TIgnore where Login='".$Login1."' and Ignores='".$Login2."'");
  NotifyChangedUsers($Login1); //Обновить список пользователей
  NotifyChangedUsers($Login2);
}
так хорошо? :)
 

zeltais

Новичок
где же ты такую выкопал? из чего то готового? если да то можно посмореть на рабочую версию?
 

Popoff

popoff.donetsk.ua
Да, это из исходников чата, который был написан мной. Исходники этого чата я не распространяю.

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

zeltais

Новичок
:(
использование таких переменных как $m чуток затрудняет понятие кода ..
не можешь обьяснить чуток ?
 

Popoff

popoff.donetsk.ua
$m - старый режим.
Согласен, плохое имя для переменной. Но поскольку функция очень простая, и содержимое понятно из первой же строчки функции, то я не стал переделывать и давать другое имя.
 
Сверху