<?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;
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!')); }