я реализую Приложение CMR в CakePHP Framework 2x. В этом приложении у меня есть требование онлайн текстового чата, аудио чата, обмена экранами и видео чата. После долгого поиска я решил использовать CometChat 5.0 Платиновое издание. Ход работы:
На самом деле, сейчас я сталкиваюсь с проблемами при использовании его с моим Applicaton. Для решения проблем я искал в Google, но нет ни одного места, чтобы сказать мне:
Прямо сейчас он показывает панель чата правильно, но «Ошибка или предупреждение, которое я должен видеть постоянно»Пожалуйста, войдите, чтобы использовать чат«, проанализировав, я узнал, что ChometChat должен знать о входе в систему информации о пользователях, но мне кажется, что она может получить ее только через сеансы или где-то еще, что я, вероятно, должен знать. Если вы думаете, что у меня возникли проблемы с интеграцией, я я публикую здесь некоторый код, вы можете увидеть его сами: (integeration.php)
Расширенные настройки:
define('SET_SESSION_NAME',''); // Session name
define('DO_NOT_START_SESSION','1'); // Set to 1 if you have already started the session
define('DO_NOT_DESTROY_SESSION','0'); // Set to 1 if you do not want to destroy session on logout
define('SWITCH_ENABLED','1');
define('INCLUDE_JQUERY','1');
define('FORCE_MAGIC_QUOTES','0');
Конфигурации базы данных:
define('DB_SERVER', 'localhost' );
define('DB_PORT', "3306" );
define('DB_USERNAME', 'root' );
define('DB_PASSWORD', '' );
define('DB_NAME', 'cakechat' );
define('TABLE_PREFIX', "" );
define('DB_USERTABLE', "users" );
define('DB_USERTABLE_USERID', "id" );
define('DB_USERTABLE_NAME', "username" );
define('DB_AVATARTABLE', " " );
define('DB_AVATARFIELD', " CONCAT(".TABLE_PREFIX.DB_USERTABLE.".".DB_USERTABLE_USERID." ,CONCAT('/',".TABLE_PREFIX.DB_USERTABLE.".user_photo))" );
define('DB_USERTABLE_LASTACTIVITY', "user_lastactive");
Функции 1:
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['se_auth_token'])) {
$sql = ("select session_auth_user_id from ".TABLE_PREFIX."session_auth where session_auth_key = '".mysql_real_escape_string($_COOKIE['se_auth_token'])."'");
$query = mysql_query($sql);
$session = mysql_fetch_array($query);
$userid = $session['session_auth_user_id'];
}
return $userid;
}
Моя единственная просьба: пожалуйста, поделитесь любой ссылочной ссылкой или краткой информацией, чтобы сделать все правильно и функционально, любые небольшие усилия будут высоко оценены. заранее спасибо !
user_photoУбедитесь, что на вашем локальном хосте установлен Red5 для использования функций обмена видео, аудио и экранами,
и вы используете свой локальный хост в качестве VPS.
Используйте эту конфигурацию в вашем файлеgration.php (E: \ xampp \ htdocs \ project \ app \ webroot \ cometchat):
define('DB_SERVER', $config->default['host']);
define('DB_PORT', '3306');
define('DB_USERNAME', $config->default['login']);
define('DB_PASSWORD', $config->default['password']);
define('DB_NAME', $config->default['database']);
define('TABLE_PREFIX', $config->default['prefix']);
define('DB_USERTABLE', "users");
define('DB_USERTABLE_USERID', "id" );
define('DB_USERTABLE_NAME', "username");
define('DB_AVATARTABLE', " ");
define('DB_AVATARFIELD', " ".TABLE_PREFIX.DB_USERTABLE.".user_photo ");
и внести некоторые изменения в function getAvatar()
function getAvatar($image) {
if ($image) {
return '../'.$image;
} else {
return '../img/no-image.jpg';
}
}
Добавьте это к вашей функции getUserID ():
/*
if (!empty($_SESSION['Auth']['User']['id'])) {
$userid = $_SESSION['Auth']['User']['id'];
}
*/
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['se_auth_token'])) {
$sql = ("select session_auth_user_id from ".TABLE_PREFIX."session_auth where session_auth_key = '".mysql_real_escape_string($_COOKIE['se_auth_token'])."'");
$query = mysql_query($sql);
$session = mysql_fetch_array($query);
$userid = $session['session_auth_user_id'];
}
if (!empty($_SESSION['Auth']['User']['id'])) {
$userid = $_SESSION['Auth']['User']['id'];/*pass logged in user id here, which is stored in your session variable*/
}
return $userid;
}