i18n/src/messenger/webim/operator/agent.php
Evgeny Gryaznov 8b5dd8b097 update (c)
git-svn-id: https://webim.svn.sourceforge.net/svnroot/webim/trunk@141 c66351dc-e62f-0410-b875-e3a5c0b9693f
2008-10-02 12:01:31 +00:00

76 lines
2.1 KiB
PHP

<?php
/*
* This file is part of Web Instant Messenger project.
*
* Copyright (c) 2005-2008 Web Messenger Community
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Evgeny Gryaznov - initial API and implementation
*/
require_once('../libs/common.php');
require_once('../libs/chat.php');
require_once('../libs/operator.php');
require_once('../libs/pagination.php');
$operator = check_login();
$threadid = verifyparam( "thread", "/^\d{1,8}$/");
if( !isset($_GET['token']) ) {
$remote_level = get_remote_level($_SERVER['HTTP_USER_AGENT']);
if( $remote_level != "ajaxed" ) {
die("old browser is used, please update it");
}
$thread = thread_by_id($threadid);
if( !$thread || !isset($thread['ltoken']) ) {
die("wrong thread");
}
$viewonly = verifyparam( "viewonly", "/^true$/", false);
$forcetake = verifyparam("force", "/^true$/", false);
if( !$viewonly && $thread['istate'] == $state_chatting && $operator['operatorid'] != $thread['agentId'] && $forcetake == false ) {
$page = array(
'user' => topage($thread['userName']), 'agent' => topage($thread['agentName']), 'link' => $_SERVER['PHP_SELF']."?thread=$threadid&amp;force=true"
);
require('../view/confirm.php');
exit;
}
if (!$viewonly)
take_thread($thread,$operator);
$token = $thread['ltoken'];
header("Location: $webimroot/operator/agent.php?thread=$threadid&token=$token&level=$remote_level");
exit;
}
$token = verifyparam( "token", "/^\d{1,8}$/");
$thread = thread_by_id($threadid);
if( !$thread || !isset($thread['ltoken']) || $token != $thread['ltoken'] ) {
die("wrong thread");
}
setup_chatview_for_operator($thread, $operator);
start_html_output();
$pparam = verifyparam( "act", "/^(redirect)$/", "default");
if( $pparam == "redirect" ) {
$found = get_operators();
setup_pagination($found);
$page['params'] = array('thread' => $threadid, 'token' => $token);
require('../view/redirect.php');
} else {
require('../view/chat_ajaxed.php');
}
?>