Example #1
0
        }
        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");
                }
            }
        }
    }
}
Example #2
0
    //        }
    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;
}
Example #3
0
    //        }
    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;
}