Ejemplo n.º 1
0
<?php

require_once 'core.php';
if (!isset($_POST['from']) || !isset($_POST['channel_id']) || (int) $_POST['channel_id'] < 0 || !isset($_POST['message']) || !isset($_POST['signature']) || $_POST['signature'] != hash('sha512', $_POST['from'] . $_POST['channel_id'] . $_POST['message'] . FS_TO_CHAT_KEY)) {
    print 'Wrong input.';
    exit;
}
require_once 'chat.php';
global $memcache;
$chat = new Chat($memcache);
$chat->SetDatabase();
$chat->GetAuthInfo($_POST['from']);
if (isset($chat->user['error']) && $chat->user['error'] !== '') {
    print $chat->user['error'];
    exit;
}
if ($res = $chat->WriteMessage($_POST['message'])) {
    $chat->WriteChannelCache((int) $_POST['channel_id']);
    print $res;
    exit;
} else {
    print 'WriteMessage false';
    exit;
}
Ejemplo n.º 2
0
<?php

// TODO перенести на nginx?
// без задачи работать не стоит
if (empty($_REQUEST['task'])) {
    exit;
} else {
    $task = $_REQUEST['task'];
}
require_once 'core.php';
require_once 'utils.php';
require_once 'chat.php';
global $memcache;
$chat = new Chat($memcache);
$chat->GetAuthInfo();
// если есть ошибка авторизации, лучше сразу отдать ее и прекратить выполнение
if (isset($chat->user['error']) && $chat->user['error'] !== '') {
    // если только это не запрос забаненного к истории, который решили разрешить
    if (!($task === 'GetHistory' && $chat->user['error'] === CHAT_USER_BANNED_IN_CHAT)) {
        SendDefaultResponse($chat->user);
    }
}
if ($task === 'GetUserInfo') {
    SendDefaultResponse($chat->user);
}
// для всех действий, кроме авторизации, проверяем установленный токен
if (empty($_REQUEST['token']) || $chat->user['token'] !== $_REQUEST['token']) {
    $chat->user['error'] = CHAT_TOKEN_VERIFICATION_FAILED;
    SendDefaultResponse($chat->user);
}
// выполняем действия для задачи