Мини-чат на ajax

Started by Sarymian on 2012-10-31 19:50 — 177 replies, 36860 views

#51
З.Ы.
zinovij pipka, хоть бы сообщения плюсовали 😉 Хоть что-то приятное в ответ на помощь.😉
#52
Здрасьте, вот пока тестил доп. права на группу, если точнее "unlim", и заметил вот что, пользователи могут удалять сообщения других пользователей, может кто знает и подскажет как это исправить? =)

Spoiler content hidden.
--------------------------
Всё, разобрался, но кнопка так и осталась для удаления сообщений, при нажатии пишет что доступно только модерам, а как сделать что бы юзвери вообще не видели кнопку удаления? =)

Ещё появилась такая ошибка
Spoiler content hidden.

Как исправить? вот 604 строчка ajax.php
Spoiler content hidden.
#53
Справа нет полосы прокрутки, ни у кого такого бага не было?

Проверял на локалке, движок чистый - r491

Spoiler content hidden.
#54
T-John, видимо первоначально что-то не так с КЕШем было. Чат сильно завязан на файловом кеше (если честно не лучший вариант, я сейчас перешел на MemCache), тестирую новый, но пока не все в нем устраивает.

Чтобы не было кнопки удаления сообщения (не видна пользователям):
Spoiler content hidden.

Notice: Undefined index: shout_del in /var/www/****/data/www/torrentlife.org/ajax.php on line 604
Чтобы убрать эту ошибку надо правильно выполнить действия в инструкции, а именно выполнить SQL-запрос который указан. Видимо Вы выполняли SQL-запрос от других чатов в которых нет строки "shout_del", т.к. в других вариантах чата представленных на данном форуме сообщения удаляются физически из БД и на всегда, меня такой вариант не устраивал и я решил помечать сообщения на удаление.

Учитывая это, вам СКОРЕЕ всего (не могу быть уверен, пока не буду знать как выглядит у Вас таблица) надо выполнить SQL-запрос:
ALTER TABLE `bb_shout` ADD `shout_del` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `shout_id`
#55
chigolberi, на сколько мне известно ни у кого не было такого.

Чуть позже проверю у себя на чистом 491.
#56
Спасиб большое, всё стало как надо🙂 Один маленький вопросик, удаляю допустим сообщение, сам текст сообщения удаляется и написано "Сообщение удалено"
Но сама форма остаётся
Spoiler content hidden.
Как зделать, чтоб оно удалялось полностью.?? И как их вообще полностью удалить?
#57
Я же писал в описании что такое удаление сделано под свои нужды. Мне надо было чтобы так "удалялось".

Если уж так надо то:
Spoiler content hidden.
На самом деле это не удаляет сообщение физически (как и первоначально), но не выводит его на экран. Но тогда становится лишними несколько строк кода, но это уже выпиливать и допиливать как отдельный мод. Простите, но у меня нет времени сейчас.
#58
Чтобы сообщение удалялось полностью, надо изменить функцию:
  function shout_del()
    {
        global $bb_cache;
        $id = (int) $this->request['id'];
        DB()->query("UPDATE bb_shout SET `shout_del` = '1' WHERE shout_id =$id");
        $this->response['id'] = $id;
        CACHE('bb_cache')->rm('shout_data');
        CACHE('bb_cache')->rm('shout_data_adm');
    }

И
DB()->query("UPDATE bb_shout SET `shout_del` = '1' WHERE shout_id =$id");
заменить на
DB()->query("DELETE FROM bb_shout WHERE shout_id = $id");

З.Ы. опять же останется кучку лишнего кода.
#59
Sarymian, благодарю🙂
DB()->query("DELETE FROM bb_shout WHERE shout_id = $id");
сработало, как вроди и хотелось, спасибо вам за труды и помощь🙂
#60
Функцию отключения делал кто нибудь?