Пример #1
0
<?php

$tpl = erLhcoreClassTemplate::getInstance('lhchat/changestatus.tpl.php');
$chat = erLhcoreClassChat::getSession()->load('erLhcoreClassModelChat', $Params['user_parameters']['chat_id']);
$tpl->set('chat', $chat);
if (erLhcoreClassChat::hasAccessToRead($chat)) {
    $currentUser = erLhcoreClassUser::instance();
    if (isset($_POST['ChatStatus']) && is_numeric($_POST['ChatStatus'])) {
        $userData = $currentUser->getUserData();
        $changeStatus = (int) $_POST['ChatStatus'];
        if (in_array($changeStatus, array(erLhcoreClassModelChat::STATUS_ACTIVE_CHAT, erLhcoreClassModelChat::STATUS_PENDING_CHAT, erLhcoreClassModelChat::STATUS_CLOSED_CHAT, erLhcoreClassModelChat::STATUS_CHATBOX_CHAT, erLhcoreClassModelChat::STATUS_OPERATORS_CHAT))) {
            erLhcoreClassChatHelper::changeStatus(array('user' => $userData, 'chat' => $chat, 'status' => $changeStatus, 'allow_close_remote' => $currentUser->hasAccessTo('lhchat', 'allowcloseremote')));
            echo json_encode(array('error' => 'false'));
            exit;
        } else {
            echo json_encode(array('error' => 'true', 'result' => erTranslationClassLhTranslation::getInstance()->getTranslation('chat/adminchat', 'Invalid chat status')));
            exit;
        }
    }
}
print $tpl->fetch();
exit;
Пример #2
0
 public static function activeChat($params)
 {
     erLhcoreClassChatHelper::changeStatus(array('user' => $params['user'], 'chat' => &$params['chat'], 'status' => erLhcoreClassModelChat::STATUS_ACTIVE_CHAT, 'allow_close_remote' => erLhcoreClassRole::canUseByModuleAndFunction(erLhcoreClassRole::accessArrayByUserID($params['user']->id), 'lhchat', 'allowcloseremote')));
     if (!isset($params['no_ui_update'])) {
         $params['chat']->operation_admin .= "lhinst.updateVoteStatus(" . $params['chat']->id . ");";
         // Update only
         $db = ezcDbInstance::get();
         $stmt = $db->prepare('UPDATE lh_chat SET operation_admin = :operation_admin WHERE id = :id');
         $stmt->bindValue(':id', $params['chat']->id, PDO::PARAM_INT);
         $stmt->bindValue(':operation_admin', $params['chat']->operation_admin, PDO::PARAM_STR);
         $stmt->execute();
     }
     return array('processed' => true, 'process_status' => erTranslationClassLhTranslation::getInstance()->getTranslation('chat/chatcommand', 'Chat status was changed to active!'));
 }