if (isset($_GET[GET_EXTERN_USER_EMAIL])) { setCookieValue("login_email", secPrev(base64UrlDecode($_GET[GET_EXTERN_USER_EMAIL]))); } if (isset($_GET[GET_EXTERN_USER_COMPANY])) { setCookieValue("login_company", secPrev(base64UrlDecode($_GET[GET_EXTERN_USER_COMPANY]))); } if (isset($_GET[GET_EXTERN_USER_NAME])) { setCookieValue("login_name", secPrev(base64UrlDecode($_GET[GET_EXTERN_USER_NAME]))); } } else { $TRACKINGSCRIPT = "lz_tracking_set_sessid(\"" . CALLER_USER_ID . "\",\"" . CALLER_BROWSER_ID . "\");"; if (isset($_GET[GET_TRACK_BROWSERID]) && isset($_GET[GET_TRACK_START]) && isset($_GET[GET_TRACK_URL])) { if (!isnull($_GET[GET_TRACK_URL]) && strpos(base64UrlDecode($_GET[GET_TRACK_URL]), GET_INTERN_COBROWSE) !== false) { exit("lz_tracking_stop_tracking();"); } $BROWSER = new ExternalBrowser(CALLER_BROWSER_ID, CALLER_USER_ID); if (isset($_GET[GET_EXTERN_USER_NAME]) && !isnull($_GET[GET_EXTERN_USER_NAME])) { $BROWSER->Fullname = substr(secPrev(base64UrlDecode($_GET[GET_EXTERN_USER_NAME])), 0, 32); } if (isset($_GET[GET_EXTERN_USER_EMAIL]) && !isnull($_GET[GET_EXTERN_USER_EMAIL])) { $BROWSER->Email = substr(secPrev(base64UrlDecode($_GET[GET_EXTERN_USER_EMAIL])), 0, 50); } if (isset($_GET[GET_EXTERN_USER_COMPANY]) && !isnull($_GET[GET_EXTERN_USER_COMPANY])) { $BROWSER->Company = substr(secPrev(base64UrlDecode($_GET[GET_EXTERN_USER_COMPANY])), 0, 50); } getData(false, false, false, true); define("IS_FILTERED", $FILTERS->Match(getIP(), formLanguages(!isnull(getServerParam("HTTP_ACCEPT_LANGUAGE")) ? getServerParam("HTTP_ACCEPT_LANGUAGE") : ""), CALLER_USER_ID)); define("IS_FLOOD", !dataSetExists($BROWSER->SessionFile) && isFlood()); if (!getAvailability() || IS_FILTERED || IS_FLOOD) { $BROWSER->Destroy(); exit("lz_tracking_stop_tracking();");
function buildTracking() { global $VISITOR, $CONFIG, $DATASETS; $VISITOR = array(); $outdatedVisitors = array(); $itarray = array_keys($DATASETS); foreach ($itarray as $file) { $dataset = $DATASETS[$file]; if (strpos($file, PATH_DATA_EXTERNAL) !== false && substr($file, 0, strlen(PATH_DATA_EXTERNAL)) == PATH_DATA_EXTERNAL) { $userid = substr(str_replace(PATH_DATA_EXTERNAL, "", $file), 0, USER_ID_LENGTH); $browsers = getDirectory(PATH_DATA_EXTERNAL . $userid . "/b/", "."); if (count($browsers) > 0) { foreach ($browsers as $browserid) { $browser = new ExternalBrowser($browserid, $userid); $chat = new ExternalChat($userid, $browserid); if (!isset($VISITOR[$userid])) { $VISITOR[$userid] = new UserExternal($userid); } if (($bStime = getDataSetTime($browser->SessionFile)) != -1) { if ($bStime < time() - $CONFIG["timeout_track"]) { $browser->Destroy(); continue; } $VISITOR[$userid]->Browsers[$browserid] = $browser; } else { if (($cStime = getDataSetTime($chat->SessionFile)) != -1) { $chat->Load(); if ($cStime < time() - $CONFIG["timeout_clients"]) { $chat->Destroy(); continue; } if (isnull($chat->FirstActive)) { $chat->FirstActive = time(); } $chat->History[0] = array($chat->FirstActive, LIVEZILLA_URL . FILE_CHAT, $chat->Code, true); $VISITOR[$userid]->Browsers[$browserid] = $chat; } else { $browser->Destroy(); $chat->Destroy(); } } } } else { $outdatedVisitors[] = $userid; } } } foreach ($outdatedVisitors as $folder) { deleteDirectory(PATH_DATA_EXTERNAL . $folder); } }