function demo_process_thread($act, $outformat, $lastid, $isuser, $canpost, $istyping, $postmessage) { global $kind_for_agent, $kind_info, $kind_events, $kind_user, $kind_agent, $webimroot, $settings; loadsettings(); if ($act == "refresh" || $act == "post") { $lastid++; if ($outformat == "xml") { start_xml_output(); print "<thread lastid=\"{$lastid}\" typing=\"" . ($istyping ? 1 : 0) . "\" canpost=\"" . ($canpost ? 1 : 0) . "\">"; } else { start_html_output(); $url = "{$webimroot}/thread.php?act=refresh&thread=0&token=123&html=on&user="******"true" : "false"); print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">" . "<html>\n<head>\n" . "<link href=\"{$webimroot}/styles/default/chat.css\" rel=\"stylesheet\" type=\"text/css\">\n" . "<meta http-equiv=\"Refresh\" content=\"" . $settings['updatefrequency_oldchat'] . "; URL={$url}&sn=11\">\n" . "<meta http-equiv=\"Pragma\" content=\"no-cache\">\n" . "<title>chat</title>\n" . "</head>\n" . "<body bgcolor='#FFFFFF' text='#000000' link='#C28400' vlink='#C28400' alink='#C28400'>" . "<table width='100%' cellspacing='0' cellpadding='0' border='0'><tr><td valign='top' class='message'>"; } if ($lastid == 1) { demo_print_message(array('ikind' => $kind_for_agent, 'created' => time() - 15, 'tname' => '', 'tmessage' => getstring2('chat.came.from', array("http://google.com"))), $outformat); demo_print_message(array('ikind' => $kind_info, 'created' => time() - 15, 'tname' => '', 'tmessage' => getstring('chat.wait')), $outformat); demo_print_message(array('ikind' => $kind_events, 'created' => time() - 10, 'tname' => '', 'tmessage' => getstring2("chat.status.operator.joined", array("Administrator"))), $outformat); demo_print_message(array('ikind' => $kind_agent, 'created' => time() - 9, 'tname' => 'Administrator', 'tmessage' => getstring("demo.chat.welcome")), $outformat); demo_print_message(array('ikind' => $kind_user, 'created' => time() - 5, 'tname' => getstring("chat.default.username"), 'tmessage' => getstring("demo.chat.question")), $outformat); if ($canpost && $outformat == 'xml') { demo_print_message(array('ikind' => $kind_info, 'created' => time() - 5, 'tname' => '', 'tmessage' => 'Hint: type something in message field to see typing notification'), $outformat); } } if ($act == 'post') { demo_print_message(array('ikind' => $isuser ? $kind_user : $kind_agent, 'created' => time(), 'tmessage' => $postmessage, 'tname' => $isuser ? getstring("chat.default.username") : "Administrator"), $outformat); } if ($outformat == "xml") { print "</thread>"; } else { print "</td></tr></table><a name='aend'></a>" . "</body></html>"; } } }
<?php /* * Copyright 2005-2013 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ require_once '../libs/common.php'; require_once '../libs/operator.php'; $operator = check_login(false); start_xml_output(); if ($operator) { echo "<login><status>OK</status></login>"; } else { echo "<login><status>FAILED</status></login>"; } exit;
function print_thread_messages($thread, $token, $lastid, $isuser, $format, $agentid = null) { global $webim_encoding, $webimroot, $connection_timeout, $settings; $threadid = $thread['threadid']; $istyping = abs($thread['current'] - $thread[$isuser ? "lpagent" : "lpuser"]) < $connection_timeout && $thread[$isuser ? "agentTyping" : "userTyping"] == "1" ? "1" : "0"; if ($format == "xml") { $output = get_messages($threadid, "xml", $isuser, $lastid); start_xml_output(); print "<thread lastid=\"{$lastid}\" typing=\"" . $istyping . "\" canpost=\"" . ($isuser || $agentid != null && $agentid == $thread['agentId'] ? 1 : 0) . "\">"; foreach ($output as $msg) { print $msg; } print "</thread>"; } else { if ($format == "html") { loadsettings(); $output = get_messages($threadid, "html", $isuser, $lastid); start_html_output(); $url = "{$webimroot}/thread.php?act=refresh&thread={$threadid}&token={$token}&html=on&user="******"true" : "false"); print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">" . "<html>\n<head>\n" . "<link href=\"{$webimroot}/styles/default/chat.css\" rel=\"stylesheet\" type=\"text/css\">\n" . "<meta http-equiv=\"Refresh\" content=\"" . $settings['updatefrequency_oldchat'] . "; URL={$url}&sn=11\">\n" . "<meta http-equiv=\"Pragma\" content=\"no-cache\">\n" . "<title>chat</title>\n" . "</head>\n" . "<body bgcolor='#FFFFFF' text='#000000' link='#C28400' vlink='#C28400' alink='#C28400' onload=\"if( location.hash != '#aend' ){location.hash='#aend';}\">" . "<table width='100%' cellspacing='0' cellpadding='0' border='0'><tr><td valign='top' class='message'>"; foreach ($output as $msg) { print $msg; } print "</td></tr></table><a name='aend'></a>" . "</body></html>"; } } }
function show_error($message) { start_xml_output(); echo "<error><descr>{$message}</descr></error>"; exit; }