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

CometChat Basic Edition 5.1.0

Нет прав для скачивания
Hope, А файлы изначально куда залить? в корень или нужна отдельная папка?
 
В корне форума можно создать папку cometchat и в нёе положить все файлы чата.
 
В корне форума можно создать папку cometchat и в нёе положить все файлы чата.
Хорошо спасибо[DOUBLEPOST=1385321327,1385321289][/DOUBLEPOST]А интеграция выше она обязательно? если да то как ее использовать?
 
Интеграция не обязательна, если не хотите разместить этот чат на страницах своего форума. :)
Как её использовать - это уже хз. :)
Понятно, что в файле интеграции нужно заполнить поля:
Код:
define('DB_SERVER',                    $config['db']['host']        );
define('DB_PORT',                    $config['db']['port']        );
define('DB_USERNAME',                $config['db']['username']    );
define('DB_PASSWORD',                $config['db']['password']    );
define('DB_NAME',                    $config['db']['dbname']


А вот, куда её положить и что с ней дальше делать - это я без понятия. :)
 
Интеграция не обязательна, если не хотите разместить этот чат на страницах своего форума. :-)
Как её использовать - это уже хз. :-)
Понятно, что в файле интеграции нужно заполнить поля:
Код:
define('DB_SERVER',                    $config['db']['host']        );
define('DB_PORT',                    $config['db']['port']        );
define('DB_USERNAME',                $config['db']['username']    );
define('DB_PASSWORD',                $config['db']['password']    );
define('DB_NAME',                    $config['db']['dbname']


А вот, куда её положить и что с ней дальше делать - это я без понятия. :-)
Ну тогда попробую разобраться :-)
 
  • Мне нравится
Реакции: Hope
Интеграция не обязательна, если не хотите разместить этот чат на страницах своего форума. :-)
Как её использовать - это уже хз. :-)
Понятно, что в файле интеграции нужно заполнить поля:
Код:
define('DB_SERVER',                    $config['db']['host']        );
define('DB_PORT',                    $config['db']['port']        );
define('DB_USERNAME',                $config['db']['username']    );
define('DB_PASSWORD',                $config['db']['password']    );
define('DB_NAME',                    $config['db']['dbname']


А вот, куда её положить и что с ней дальше делать - это я без понятия. :-)

заполнять кстати не надо, он может подгрузить данные из конфига XF (первая строчка указывается где искать)
например если у вас чат стоит не в папке /forum/
то надо модифицировать строчку с
Код:
include (dirname(dirname(__FILE__))).DIRECTORY_SEPARATOR."library".DIRECTORY_SEPARATOR."config.php"; //Xenforo DB configuration file
на
Код:
include (dirname(dirname(__FILE__))).DIRECTORY_SEPARATOR."forum".DIRECTORY_SEPARATOR."library".DIRECTORY_SEPARATOR."config.php"; //Xenforo DB configuration file



п.с. он не работает если включено кеширование сессий.[DOUBLEPOST=1385376163,1385370647][/DOUBLEPOST]Прошлый вариант integration.php работал не корректно (так как он от версии 5.0).

Допилил файл integration.php до рабочего состояния в 5.1.
Настройки берет из конфига XF. Лежать должно внутри папки forum (т.е. путь до config.php должен выглядеть как "../library/config.php"


Обновил еще раз integration.php (фикс для корректного отображения аватарок у пользователей с ИД большим чем 1000)
 

Вложения

  • integration.php
    7.8 KB · Просмотры: 44
Последнее редактирование:
Самое главное забыл сказать, проверяем заладку Comet Service в админке. Выставить "нет" у сервиса, ибо при включенном "да", ваш Cometchat будет обрабатываться сервером Cometchat.com, эта функция платная, и ваш чат тупо не заработает. ;)

Kn1ght, спасибо за фикс с авами, я-то думаю, что у меня за глюк с авами !:thumbsup:
 
X-Xen по умолчанию "Comet Service" выключен же.

Для любителей кешировать сессии (что бы меньше дергать mysql) возникает проблема - скрипту кометчата негде посмотреть соответствие номера сессии и идентификатора пользователя, он по этому поводу очень печалится и предлагает залогиниться. Но мы можем его подбодрить и рассказать ему ИД пользователя напрямую:

В шаблон "PAGE_CONTAINER" (вы в него уже дописывали строки инициализации cometchat)
добавляем сразу после <head> (перед блоком cometchat)
Код:
<script type="text/javascript">
var userid = {$visitor.user_id};document.cookie = "cc_xf_user="+userid;
</script>
Это создаст новый coocke с идентификатором пользователя в названии (которое мы потом передадим чату).

Далее необходимо открыть пресловутый integration.php (в папке кометчата) и заменить функцию getUserID на:

Код:
function getUserID() {
    $userid = 0;

    if (!empty($_SESSION['basedata']) && $_SESSION['basedata'] != 'null') {
        $_REQUEST['basedata'] = $_SESSION['basedata'];
    }
    if (!empty($_REQUEST['basedata'])) {
        $userid = $_REQUEST['basedata'];
 
    }
    if (!empty($_COOKIE['cc_xf_user'])) {
        $a = explode(',',$_COOKIE['cc_xf_user']);
        $userid = $a[0];
    }
    return $userid;
}


ВНИМАНИЕ!
если вы в дальнейшем вернете PAGE_CONTAINER в исходное состояние (т.е. уберете блок создания куки) то чат отвалится, причем даже если отключить кеширование сессий (не очень понятно зачем отключать кеширование если оно доступно на хостинге).
Т.е. эти два фикса работают только в паре.
Так что сохраните оригинальную функцию getUserID на всякий случай.
 
Последнее редактирование:
Я не знаю зачем мне это.
На 1.4.2 пробовал уже кто поднимать?
 
Ребят, кто поставил, дайте ссылку (можно в личку), охота глянуть .
 
технической разницы нет

Мне интересно посмотреть, как это все будет выглядеть на страницах тем, разделов, отдельных страниц и т.д., а не просто на пустом форуме.

В сети есть cometchat 5.3 nulled , чем он отличается от этого ?
 
becdelbnik, 5.3 текущая версия. Так же есть описание изменений.
 
  • Мне нравится
Реакции: Hope
Далее необходимо открыть пресловутый integration.php (в папке кометчата) и заменить функцию getUserID на:
А в плане безопасности это как ?

Ведь если удастся стырить куки у хакера будет и сессия и ID ?

Или я что-то непонимаю ?

Далее необходимо открыть пресловутый integration.php (в папке кометчата) и заменить функцию getUserID на:
Крайне несоветую так делать, провёл исследование, оказалось что можно подменить куки, т.е. сделать например cc_xf_user=1 и войти в чат от имени администратора, гы-гы !:lol::eek:

Далее необходимо открыть пресловутый integration.php (в папке кометчата) и заменить функцию getUserID на:
Переделал код, используя ксенфоровские апи, тем-самым не будет уязвимости + можно юзать как с кешем, так и без кеша...

Первое, дефайном объявляем следующие переменные:
Код:
define( 'XF_ROOT', 'Относительный путь до папки форума' );
define( 'TIMENOW', time( ) );
define( 'SESSION_BYPASS', false );

Второе, процедура получения айди теперь такая:
Код:
function getUserID() {

$userid = 0;
$user_info = array( );
require_once( XF_ROOT . '/library/XenForo/Autoloader.php' );
XenForo_Autoloader::getInstance( )->setupAutoloader( XF_ROOT . '/library' );
XenForo_Application::initialize( XF_ROOT . '/library', XF_ROOT );
XenForo_Application::set( 'page_start_time', TIMENOW );
XenForo_Application::disablePhpErrorHandler( );
XenForo_Application::setDebugMode( false );
if (!SESSION_BYPASS)
{
    XenForo_Session::startPublicSession();

    $visitor = XenForo_Visitor::getInstance();

    if ($visitor->getUserId())
    {
        $userModel = XenForo_Model::create('XenForo_Model_User');
        $userid = $visitor->getUserId();
    }
}
$userid = intval($userid);
return $userid ;
}

У меня работает нормально !:wink:

И последнее...

Переделал код так:

Код:
function getUserID() {

$userid = 0;

XenForo_Autoloader::getInstance( )->setupAutoloader( XF_ROOT . '/library' );
XenForo_Application::initialize( XF_ROOT . '/library', XF_ROOT );

XenForo_Session::startPublicSession();

$visitor = XenForo_Visitor::getInstance();

if ($visitor->getUserId())
    {
       $userid = $visitor->getUserId();
    }

$userid = intval($userid);
return $userid ;
}

Убрал лишнее...

Прикрепил Integration.php кому если нужно, работает как с кешем так и без...

Ну и незабудте поменять там это:
Код:
define( 'XF_ROOT', 'F:/OpenServer/OpenServer/domains/test22.ru/' );

На свой путь... ;)
 

Вложения

  • integration.zip
    2.6 KB · Просмотры: 18
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу