Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: В настоящее время эта функция требует доступа к сайту с помощью встроенного браузера Safari.
Хорошо спасибо[DOUBLEPOST=1385321327,1385321289][/DOUBLEPOST]А интеграция выше она обязательно? если да то как ее использовать?В корне форума можно создать папку cometchat и в нёе положить все файлы чата.
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']
А вот, куда её положить и что с ней дальше делать - это я без понятия. :-)
Интеграция не обязательна, если не хотите разместить этот чат на страницах своего форума. :-)
Как её использовать - это уже хз. :-)
Понятно, что в файле интеграции нужно заполнить поля:
Код: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']
А вот, куда её положить и что с ней дальше делать - это я без понятия. :-)
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
<script type="text/javascript">
var userid = {$visitor.user_id};document.cookie = "cc_xf_user="+userid;
</script>
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;
}
тут есть демо
технической разницы нет
5.3 текущая версия
А в плане безопасности это как ?Далее необходимо открыть пресловутый integration.php (в папке кометчата) и заменить функцию getUserID на:
Крайне несоветую так делать, провёл исследование, оказалось что можно подменить куки, т.е. сделать например cc_xf_user=1 и войти в чат от имени администратора, гы-гы !:lol::eek:Далее необходимо открыть пресловутый integration.php (в папке кометчата) и заменить функцию getUserID на:
Переделал код, используя ксенфоровские апи, тем-самым не будет уязвимости + можно юзать как с кешем, так и без кеша...Далее необходимо открыть пресловутый 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 ;
}
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 ;
}
define( 'XF_ROOT', 'F:/OpenServer/OpenServer/domains/test22.ru/' );
Мы используем основные cookies для обеспечения работы этого сайта, а также дополнительные cookies для обеспечения максимального удобства пользователя.
Посмотрите дополнительную информацию и настройте свои предпочтения