Иконка ресурса

Решение ЛС для чата Taigachat

Статус
В этой теме нельзя размещать новые ответы.
Верните шаблон в первоначальное состояние, так как он у вас изменялся для обращения по нику в чате.
Вот изменённый участок:
Код:
    <a {xen:if $message.user_id, 'title="{$message.username}" href="{xen:link members, $message}" '}class="dark_chat taigachat_msg_user" itemprop="name"><xen:if is="{$message.usernameHtml}">{xen:raw $message.usernameHtml}<xen:else /><span class="username">{xen:helper richUserName, $message}</span></xen:if></a>
А так выглядит оригинальный участок:
Код:
            <a {xen:if $message.user_id, 'href="{xen:link members, $message}" '}class="username" itemprop="name"><xen:if is="{$message.usernameHtml}">{xen:raw $message.usernameHtml}<xen:else />{xen:helper richUserName, $message}</xen:if></a><xen:if is="!{$message.me} && !{$message.activity}">:</xen:if>
 
Css видимо поправить нужною Если кнопки палитры слетели, то

Кнопка на месте, не дает именно выбрать цвет, ваше "решение" ничего не меняет.

Плагин тоже не работает, проверялся на двух чистых чатах. Работает с первого поста, но опять же палитра. Одно работает , другое испортили. Укажите это в старт посте, иначе опять кто-нибудь попадется
 
Ну ХЗ тогда, не ставьте ничего тогда.
Всё будет работать.
А лучше сами "кодьте" под себя и не будут возникать вопросы подобного типа.

Честное слово, таким, как Вы помогать даже нет желания!
 
Я нормально попросил помощи, вы выложи сырой вариант, о чем можно было оповестить. Теперь обиды какие-то пошли)
 
вы выложи сырой вариант
У людей все работает сразу, возмем этот же ресурс ... У себя на ресурсе я сделал все с первого раза, да и вопросов не возникло. Делаем выводы.
 
Палитра работает? Нет, о чем уже написано выше. Я лишь сказал, чтобы указали недостатки данного способа в старт посте.
 
Вопрос по теме или нет, но "внимание Вопрос!":
Может возможно вырезать из сообщения перед отправкой текста bbcode color?
Перед
PHP:
preg_match("/^\/pm\s?(?P<user_name>.*?):\s*(?P<message>.*)$/", $message['message'], $result);
вырезать совпадения по маске [*color*], топорный вариант, но всё-же =))
 
Последнее редактирование:
Зачем вырезать?
 
Зачем вырезать?
это топорный метод, но если вырезать, то хотяб палитра мешать не будет при отправке сообщений(яж сказал топорный вариант :-)
А то я так понял, из-за неё проблемы отправки пм и упоминаний
 
Лан, с пробелом разобрался) а вот как восстановить палитру.. не дает поставить цвет

Как костыль можно использовать.
2014-06-06 03-23-36 Скриншот экрана.png
Но без фона пока-что. По быстрому код вытащил. На скрине с 2-х разных окон.

Только администрация без фона пишет. Пока-что.
2014-06-06 11-23-49 Скриншот экрана.png
 
Последнее редактирование:
Такая проблема возникла = в чате не могут писать некоторые пользователи ( допустим есть у пользователя ник с кавычками = aaa'a'aaa ).

Выхлоп в админке такой:
PHP:
Zend_Db_Statement_Mysqli_Exception: Mysqli prepare error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a'er: %' OR (taigachat.message LIKE '%/pm%' AND taigachat.username = 'aaa'a'aaa' at line 5 - library/Zend/Db/Statement/Mysqli.php:77
Сгенерирована пользователем: aaa'a'aaa, 3 мин. назад
 
Ну это уже специфика движка скорее всего...
 
Hope, у вас есть подобная проблема? Я думаю есть. Да и вообще изначально ( без данного чата ) такие пользователи могли писать сообщение в чат. Сейчас я решил поставить себе данную ... и возникла такая проблема. Так, что я не думаю, что это "специфика движка".
 
Хм... Нужно потестить будет, я точно не могу сказать сейчас.
 
В общем ... исправил getMessages() ( TaigaChat/Model/TaigaChat.php ), там была простая подстановка в запрос, по идее можно было SQL-инъекцию сделать :)
Так как мне не удалось prepared statement сделать, добавил просто экранирование.

А, ну и:
PHP:
public function getMessages(array $fetchOptions = array())
    {
        $limitOptions = $this->prepareLimitFetchOptions($fetchOptions);
        $visitor = XenForo_Visitor::getInstance();
        return $this->_getDb()->fetchAll($this->limitQueryResults(
            "SELECT *, IF(user.username IS NULL, taigachat.username, user.username) AS username, IF(DATEDIFF(NOW(), FROM_UNIXTIME(date)) = 0, 1, 0) AS today
                FROM dark_taigachat AS taigachat
                LEFT JOIN xf_user AS user ON (user.user_id = taigachat.user_id)
                WHERE (taigachat.message NOT LIKE '%/pm%' OR taigachat.message LIKE '%/pm ".mysqli_real_escape_string($this->_getDb()->getConnection(), $visitor['username']).": %' OR (taigachat.message LIKE '%/pm%' AND taigachat.username = '".mysqli_real_escape_string($this->_getDb()->getConnection(), $visitor['username'])."')) AND taigachat.id > ?
                ORDER BY taigachat.id DESC",
            $limitOptions['limit'], $limitOptions['offset']),
        array($fetchOptions['lastRefresh']));
    }
 
Еще проблему нашел.
Решить ее прямым способом вряд ли удастся.
Просто к сведению.
Если включить функцию архивирования сообщений, то в архивной теме все pm-ы торчат наружу. :)
 
Если включить функцию архивирования сообщений, то в архивной теме все pm-ы торчат наружу.
Дак этот скажем так = баг - все видели с самого начало. Лично у меня архив. тема лежит в закрытом разделе = так, что ... Не критично.​
 
Когда через палитру ставиш цвета ... то приват перестаёт работать

Иногда приватные сообщения пропадают :( Появляються спустя несколько обновлений
 
Argument 1 passed to Dark_TaigaChat_Model_TaigaChat::getMessages() must be an array, integer given, called in /var/www/user3472/data/www/САЙТ***/library/Dark/TaigaChat/ControllerPublic/TaigaChat.php on line 25 and defined
  1. XenForo_Application::handlePhpError() in Dark/TaigaChat/Model/TaigaChat.php at line 147
  2. Dark_TaigaChat_Model_TaigaChat->getMessages() in Dark/TaigaChat/ControllerPublic/TaigaChat.php at line 25
  3. Dark_TaigaChat_ControllerPublic_TaigaChat->actionList() in XenForo/FrontController.php at line 347
  4. XenForo_FrontController->dispatch() in XenForo/FrontController.php at line 134
  5. XenForo_FrontController->run() in /var/www/user3472/data/www/issteel.ru/index.php at line 13
Как исправить?
 
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу