[Скрипт] MEL.Chat ( PHP+AJAX )

*SaT*

Местный житель
Регистрация
19 Ноя 2008
Сообщения
241
Реакции
24
Melnaron Chat.

Последняя версия чата: MEL.Chat 2.0b3

Кто нибудь пользовался этим чатом???
У меня просто появилось несколько вопросов:
1) Возможно ли на главной странице вывести число и ники пользователей находяшихся в чате??? Если это возможно то подскажите пож. как это сделать.
2) Возможно ли сделать свой тег, тоесть я ввожу напимер в чате тег /mp3 ссылка_на_песню.mp3 и у всех пользователей появляется проигрователь и песенка вопроизводится??? Если это возможно то подскажите пож. как это сделать. ( с MP3 я просто привёл пример, так же можно сделать просто жирныйм шрифтом чтоб тыло всё написано или ещё как нибудь )
 
  • Нравится
Реакции: vot
Чат поставил, но так и не смог туда зайти. В комментах на главной написано что это может быть связано с браузером, может оно и так, потому как не смог зайти и в демо что представленны в комментах.
Но.
По первому вопросу:
В файле "\server\class.user.php" есть функция "public static function disconnect()" и в ней сказано:
PHP:
if ($users_sel = db::select(TB_USERS, '*', '`nickname` != "'.$nickname.'" AND `timeout` > 0 AND `status` != 3', '`access` DESC, `nickname`')) {
	foreach ($users_sel as $u) {
		$users[] = '{id: '.$u['id'].', nickname: "'.$u['nickname'].'", access: '.($u['access'] ? $u['access'] : '0').', status: '.$u['status'].'}';
	}
	$users = implode(', ', $users);
} else {
	$users = '';
}
Возможно, если изменить поменять запрос по типу
PHP:
if($user_count = db::select(TB_USERS, 'count(`id`) as `c`', '`timeout` > 0 AND `status` != 3', , )){
	foreach ($user_count as $u) {
		$users = $u['c'];
	}
} else {
	$users = '0';
}
и вставить его на главную страницу по средством аякса или еще как нибудь.
В том же файле есть еще функция "public static function disconnect()" и в ней прописано удаление пользователей при дисконнекте, возможно будет достаточно просто сделать выборку всех пользователей из таблицы 'users'.


/ ************************************************************ \


По второму вопросу тебе, наверное лучше заглянуть в файл "\server\class.chat.php" там описаны команды "help", "motd", "nick", "whisper" и тд.
И все же я не могу ручаться за точность своих советов, так как не смог запустить у себя етот чат.
 
Скрины чата

Выкладываю Скрины чата.
WTBG Если у тебя выбило ошибку Соединение прервано то скорее всего твой ник зарегистрированный. И что у тебя за браузер?
 

Вложения

  • Безымянный1.JPG
    Безымянный1.JPG
    13 KB · Просмотры: 21
  • Безымянный13.JPG
    Безымянный13.JPG
    56,4 KB · Просмотры: 56
Браузер у меня IE7.
Когда я набираю ник и пароль и нажимаю кнопку "Войти" то ни чего не происходит версия чата 2.0b3
 
WTBG по идее ты сначала должен ввести просто ник свой и нажать войти, а уже после входа в чат по желанию можеш зарегистрировать ник введя команду /reg [пароль]
 
неможет быть вот у меня вся заходит посмотрите на адрес в браузере
 

Вложения

  • снимок1.png
    снимок1.png
    70,4 KB · Просмотры: 25
А чата на флеш ни у кого нету? Нужен чат на одном файле swf. Такие вообще есть?
 
rusel666 такие чаты есть но наш написан на php+ajax
 
А его пробывал кто то прикрутить до торрента свого?
 
serg575 насчёт прикрутить этот чат к торрент трекеру незнаю, нужно интергировать этот чат с трекером.

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
У меня появился такой вот вопрос:
У меня есть вот такой вот кусок кода, Код взят из скрипта чата
PHP:
/*
    * COMMAND: whisper
    * -params: to, message
    * -access: 0
    */
   public static function command_whisper($params)
   {
      user::access(0);
      list($to, $message) = explode(' ', $params, 2);
      if (strtolower($to) == strtolower(user::$nickname)) {
         self::retAction('PrintErrorMessage', 'message: 6021', true);
      }
      if (($to = db::selectRow(TB_USERS, '*', '`nickname` = "'.$to.'" AND `timeout` > 0')) == false) {
         self::retAction('PrintErrorMessage', 'message: 6022', true);
      }
      if (! strlen($message)) {
         self::retAction('PrintErrorMessage', 'message: 6023', true);
      }
      $time = date('H:i:s', self::$time);
      $from = user::$nickname;
      $tonm = $to['nickname'];
      db::insert(TB_MESSAGES, array('time' => self::$time, 'from' => $from, 'to' => $tonm, 'message' => $message));
      self::addAction('PrintWhisper', 'time: "'.$time.'", from: "'.$from.'", to: "'.$tonm.'", message: "'.$message.'"', 'user', $to['id']);
      self::retAction('PrintWhisper', 'time: "'.$time.'", from: "'.$from.'", to: "'.$tonm.'", message: "'.$message.'"');
   }
В коде присутствуют такие надписи 'message: 6021' это фразы которые занесены в отдельную базу данных.
Из этого кода мне интересует только вот эта часть, эта часть кода отвечает за вывод привотного сообщения, мне нужно добавить в этот вывод приватного сообщения свою фразу
PHP:
      $time = date('H:i:s', self::$time);
      $from = user::$nickname;
      $tonm = $to['nickname'];
      db::insert(TB_MESSAGES, array('time' => self::$time, 'from' => $from, 'to' => $tonm, 'message' => $message));
      self::addAction('PrintWhisper', 'time: "'.$time.'", from: "'.$from.'", to: "'.$tonm.'", message: "'.$message.'"', 'user', $to['id']);
      self::retAction('PrintWhisper', 'time: "'.$time.'", from: "'.$from.'", to: "'.$tonm.'", message: "'.$message.'"');
Если код неизменять то при выводе получится вот такое сообщение:
[Время сообщения] Ник1 to Ник2: сообщение.
Я хочу вместь to вставить свою фразу.
Файл который я редактировал находится в папке chat\server\ файл называется class.chat.php строчти кода 334-340
Подскажите пож. как это сделать.
 
Назад
Сверху