function visitor_from_request() { global $namecookie, $webim_encoding, $usercookie; $defaultName = getstring("chat.default.username"); $userName = $defaultName; if (isset($_COOKIE[$namecookie])) { $data = base64_decode(strtr($_COOKIE[$namecookie], '-_,', '+/=')); if (strlen($data) > 0) { $userName = myiconv("utf-8", $webim_encoding, $data); } } if ($userName == $defaultName) { $userName = getgetparam('name', $userName); } if (isset($_COOKIE[$usercookie])) { $userId = $_COOKIE[$usercookie]; } else { $userId = get_user_id(); setcookie($usercookie, $userId, time() + 60 * 60 * 24 * 365); } return array('id' => $userId, 'name' => $userName); }
if (check_login(false)) { header("Location: {$mibewroot}/operator/"); exit; } $errors = array(); $page = array('formisRemember' => true, 'version' => $version); if (isset($_POST['login']) && isset($_POST['password'])) { $login = getparam('login'); $password = getparam('password'); $remember = isset($_POST['isRemember']) && $_POST['isRemember'] == "on"; $operator = operator_by_login($login); if ($operator && isset($operator['vcpassword']) && check_password_hash($login, $password, $operator['vcpassword'])) { $target = $password == '' ? "{$mibewroot}/operator/operator.php?op=" . intval($operator['operatorid']) : (isset($_SESSION['backpath']) ? $_SESSION['backpath'] : "{$mibewroot}/operator/index.php"); login_operator($operator, $remember, is_secure_request()); header("Location: {$target}"); exit; } else { $errors[] = getlocal("page_login.error"); $page['formlogin'] = $login; } } else { if (isset($_GET['login'])) { $login = getgetparam('login'); if (preg_match("/^(\\w{1,15})\$/", $login)) { $page['formlogin'] = $login; } } } $page['localeLinks'] = get_locale_links("{$mibewroot}/operator/login.php"); start_html_output(); require '../view/login.php';
$original = isset($_SESSION["mibew_captcha"]) ? $_SESSION["mibew_captcha"] : ""; $survey_captcha_failed = empty($original) || empty($captcha) || $captcha != $original; unset($_SESSION['mibew_captcha']); } if ($settings['usercanchangename'] == "1" && isset($_POST['name'])) { $newname = getparam("name"); if ($newname != $visitor['name']) { $data = strtr(base64_encode(myiconv($mibew_encoding, "utf-8", $newname)), '+/=', '-_,'); setcookie($namecookie, $data, time() + 60 * 60 * 24 * 365); $visitor['name'] = $newname; } } } else { $firstmessage = NULL; $info = getgetparam('info'); $email = getgetparam('email'); $referrer = isset($_GET['url']) ? $_GET['url'] : (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ""); if (isset($_GET['referrer']) && $_GET['referrer']) { $referrer .= "\n" . $_GET['referrer']; } } if (!has_online_operators($groupid)) { $page = array(); setup_logo(); setup_leavemessage($visitor['name'], $email, $firstmessage, $groupid, $groupname, $info, $referrer, can_show_captcha()); expand("styles", getchatstyle(), "leavemessage.tpl"); exit; } $show_survey = $settings['enablepresurvey'] == '1' && (!(isset($_POST['survey']) && $_POST['survey'] == 'on') || $settings["surveyaskcaptcha"] == "1" && !empty($survey_captcha_failed)); if ($show_survey) { $page = array();