} mysql_close($link); print_thread_messages($thread, $token, $lastid, $isuser, $outformat, $isuser ? null : $operator['operatorid']); exit; } else { if ($act == "rename") { loadsettings(); if ($settings['usercanchangename'] != "1") { show_error("server: forbidden to change name"); } $newname = getrawparam('name'); if (!preg_match('/^\\s*$/', $newname)) { rename_user($thread, $newname); $data = strtr(base64_encode(myiconv($mibew_encoding, "utf-8", $newname)), '+/=', '-_,'); setcookie($namecookie, $data, time() + 60 * 60 * 24 * 365); show_ok_result("rename"); } } else { if ($act == "ping") { show_ok_result("ping"); } else { if ($act == "close") { if ($isuser || $thread['agentId'] == $operator['operatorid']) { close_thread($thread, $isuser); } show_ok_result("closed"); } } } } }
// } if ($isvisitor) { ThreadProcessor::getInstance()->ProcessThread($thread['threadid'], 'visitor_browser_unload'); } show_ok_result("closed"); } elseif ($act == 'rate') { if (!$isvisitor) { show_error("visitor-only operation"); } $rate = verify_param("rate", "/^-?\\d{1,9}\$/", "0"); Thread::getInstance()->RateOperator($thread, $rate); show_ok_result("rate"); } elseif ($act == "contacts") { $name = !empty($_REQUEST['name']) ? smarticonv("UTF-8", WEBIM_ENCODING, $_REQUEST['name']) : ""; $email = !empty($_REQUEST['email']) ? smarticonv("UTF-8", WEBIM_ENCODING, $_REQUEST['email']) : ""; Thread::getInstance()->PostMessage($thread['threadid'], KIND_INFO, Resources::Get('contacts.submitted', array($name, $email))); updateContacts($name, $email, $phone, $threadid, $thread['visitsessionid']); show_ok_result("contacts"); } function show_ok_result($resid) { Browser::SendXmlHeaders(); echo "<{$resid}></{$resid}>"; exit; } function show_error($message) { Browser::SendXmlHeaders(); echo "<error><descr>{$message}</descr></error>"; exit; }
// } if ($isvisitor) { ThreadProcessor::getInstance()->ProcessThread($thread['threadid'], 'visitor_browser_unload'); } show_ok_result('closed'); } elseif ($act == 'rate') { if (!$isvisitor) { show_error('visitor-only operation'); } $rate = verify_param('rate', "/^-?\\d{1,9}\$/", '0'); Thread::getInstance()->RateOperator($thread, $rate); show_ok_result('rate'); } elseif ($act == 'contacts') { $name = !empty($_REQUEST['name']) ? smarticonv('UTF-8', WEBIM_ENCODING, $_REQUEST['name']) : ''; $email = !empty($_REQUEST['email']) ? smarticonv('UTF-8', WEBIM_ENCODING, $_REQUEST['email']) : ''; Thread::getInstance()->PostMessage($thread['threadid'], KIND_INFO, Resources::Get('contacts.submitted', array($name, $email))); updateContacts($name, $email, $phone, $threadid, $thread['visitsessionid']); show_ok_result('contacts'); } function show_ok_result($resid) { Browser::SendXmlHeaders(); echo "<{$resid}></{$resid}>"; exit; } function show_error($message) { Browser::SendXmlHeaders(); echo "<error><descr>{$message}</descr></error>"; exit; }