function setupChatViewForOperator($thread, $visitSession, $operator, $viewonly, &$TML) { $TML->assign('thread', $thread); $TML->assign('visit_session', $visitSession); $TML->assign('first_page', VisitSession::GetInstance()->getFirstPage($visitSession['visitsessionid'])); $chats = Thread::getInstance()->CountNonEmptyThreads($visitSession['visitorid']); $TML->assign('chats_count', max($chats - 1, 0)); $TML->assign('browser', get_user_agent($visitSession['useragent'])); $TML->assign('visitor_name', preg_replace('/</', '<', $visitSession['visitorname'])); if ($viewonly) { $TML->assign('mode', 'viewonly'); } $historyParams = array('q' => $visitSession['visitorid']); $root = WEBIM_ROOT; $history = '/operator/history.php'; $TML->assign('servlet_root', $root); $TML->assign('history_servlet', $history); $TML->assign('history_params', $historyParams); $TML->assign('send_shortcut', "Enter"); $TML->assign('isOpera95', is_agent_opera95()); $TML->assign('userAgent', $_SERVER['HTTP_USER_AGENT']); $TML->assign('visitor_geodata', GeoIPLookup::getGeoDataByIP($visitSession['ip'])); $TML->assign('predefined_answers', preparePredefinedAnswers($thread['locale'])); }
function setupChatViewForVisitor($thread, $level) { $visitSession = VisitSession::GetInstance()->GetVisitSessionById($thread['visitsessionid']); $page['agent'] = false; $page['visitor'] = true; $page['canpost'] = true; $nameisset = Resources::Get('chat.default.visitorname') != $visitSession['visitorname']; $page['displ1'] = $nameisset ? 'none' : 'inline'; $page['displ2'] = $nameisset ? 'inline' : 'none'; $page['level'] = $level; $page['ct_chatThreadId'] = $thread['threadid']; $page['ct_token'] = $thread['token']; $page['ct_visitor_name'] = $visitSession['visitorname']; $page['canChangeName'] = Visitor::getInstance()->canVisitorChangeName(); $page['ct_company_name'] = Settings::Get('company_name'); $page['ct_company_chatLogoURL'] = Settings::Get('logo'); $page['webimHost'] = Settings::Get('hosturl'); $page['send_shortcut'] = 'Enter'; $params = 'thread=' . $thread['threadid'] . '&token=' . $thread['token']; $page['selfLink'] = WEBIM_ROOT . '/client.php?' . $params . '&level=' . $level; $page['isOpera95'] = is_agent_opera95(); $page['displayrate'] = !empty($thread['rate']) ? 'none' : 'inline'; $page['rateList'] = explode('|', Resources::Get('chat.operator_rates')); if (!empty($res)) { foreach ($res as $k => $v) { $page[$k] = $v; } } $page['viewonly'] = '0'; return $page; }
function setup_chatview_for_operator($thread, $operator) { global $page, $webimroot, $company_logo_link, $company_name, $settings; loadsettings(); $page = array(); $page['agent'] = true; $page['user'] = false; $page['canpost'] = $thread['agentId'] == $operator['operatorid']; $page['ct.chatThreadId'] = $thread['threadid']; $page['ct.token'] = $thread['ltoken']; $page['ct.user.name'] = htmlspecialchars(topage(get_user_name($thread['userName'], $thread['remote'], $thread['userid']))); $page['chat.title'] = topage($settings['chattitle']); setup_logo(); if ($settings['sendmessagekey'] == 'enter') { $page['send_shortcut'] = "Enter"; $page['ignorectrl'] = 1; } else { $page['send_shortcut'] = is_mac_opera() ? "⌘-Enter" : "Ctrl-Enter"; $page['ignorectrl'] = 0; } if ($settings['enablessl'] == "1" && !is_secure_request()) { $page['sslLink'] = get_app_location(true, true) . "/operator/agent.php?thread=" . $thread['threadid'] . "&token=" . $thread['ltoken']; } $page['isOpera95'] = is_agent_opera95(); $page['neediframesrc'] = needsFramesrc(); $page['historyParams'] = array("userid" => "" . $thread['userid']); $page['historyParamsLink'] = add_params($webimroot . "/operator/userhistory.php", $page['historyParams']); $predefinedres = ""; $canned_messages = load_canned_messages($thread['locale'], $thread['groupid']); foreach ($canned_messages as $answer) { $predefinedres .= "<option>" . htmlspecialchars(topage($answer['vcvalue'])) . "</option>"; } $page['predefinedAnswers'] = $predefinedres; $params = "thread=" . $thread['threadid'] . "&token=" . $thread['ltoken']; $page['redirectLink'] = "{$webimroot}/operator/agent.php?" . $params . "&act=redirect"; $page['namePostfix'] = ""; $page['frequency'] = $settings['updatefrequency_chat']; }