function main() { global $numEpochs; global $numPatterns; global $patNum; global $RMSerror; // initiate the weights initWeights(); // load in the data initData(); // train the network for ($j = 0; $j <= $numEpochs; $j++) { for ($i = 0; $i < $numPatterns; $i++) { //select a pattern at random //srand(); $patNum = rand(0, $numPatterns - 1); //calculate the current network output //and error for this pattern calcNet(); //change network weights WeightChangesHO(); WeightChangesIH(); } //display the overall network error //after each epoch calcOverallError(); if (gmp_mod($j, 50) == 0) { print "epoch = " . $j . " RMS Error = " . $RMSerror . "</br>"; } } //training has finished //display the results displayResults(); }
function getDisabledFunctions() { global $INTERNAL, $GROUPS; initData(array("INTERNAL", "GROUPS")); $currentMIV = @ini_get("max_input_vars"); $currentMIVText = $currentMIV; if (empty($currentMIV)) { $currentMIV = 1000; $currentMIVText = "unknown (default=1000)"; } $message = null; if (count($INTERNAL) > 0 && ($miv = (count($GROUPS) + count($INTERNAL)) * 75) > $currentMIV) { $message .= "<span class=\"lz_index_error_cat\">PHP Configuration:<br></span> <span class=\"lz_index_red\">PHP configuration \"max_input_vars\" (see php.ini) must be increased to " . $miv . " (or greater).<br><br>Your current configuration is " . $currentMIVText . ".</span><br><br>"; } if (!function_exists("file_get_contents") && ini_get('allow_url_fopen')) { $message .= "<span class=\"lz_index_error_cat\">Disabled function: file_get_contents<br></span> <span class=\"lz_index_red\">LiveZilla requires the PHP function file_get_contents to be activated.</span><br><br>"; } if (!function_exists("fsockopen")) { $message .= "<span class=\"lz_index_error_cat\">Disabled function: fsockopen<br></span> <span class=\"lz_index_red\">LiveZilla requires the PHP function fsockopen to be activated.</span><br><br>"; } if (!function_exists("iconv_mime_decode")) { $message .= "<span class=\"lz_index_error_cat\">Missing PHP extension: ICONV<br></span> <span class=\"lz_index_orange\">LiveZilla requires the PHP extension iconv to parse emails. Please add the iconv package to your PHP configuration.</span><br><br>"; } if (isset($_GET["warnings"])) { if (!ini_get('allow_url_fopen')) { $message .= "<span class=\"lz_index_error_cat\">Disabled wrapper: allow_url_fopen<br></span> <span class=\"lz_index_red\">LiveZilla requires allow_url_fopen to be activated.</span><br><br>"; } if (@get_magic_quotes_gpc() == 1 || strtolower(@get_magic_quotes_gpc()) == "on") { $message .= "<span class=\"lz_index_error_cat\">PHP Magic Quotes:</span><br><span class=\"lz_index_help_text\">This PHP feature has been DEPRECATED.</span><br><br>"; } } return $message; }
$externalUser->Load(); array_push($externalUser->Browsers, new VisitorChat($externalUser->UserId, AJAXDecode($_POST[POST_EXTERN_USER_BROWSERID]))); define("IS_FILTERED", $FILTERS->Match(getIP(), formLanguages(!empty($_SERVER["HTTP_ACCEPT_LANGUAGE"]) ? $_SERVER["HTTP_ACCEPT_LANGUAGE"] : ""), AJAXDecode($_POST[POST_EXTERN_USER_USERID]))); define("IS_FLOOD", $externalUser->Browsers[0]->FirstCall && isFlood(getIP(), @$_POST[POST_EXTERN_USER_USERID], true)); $externalUser->Browsers[0]->Load(); if ($_POST[POST_EXTERN_SERVER_ACTION] == EXTERN_ACTION_LISTEN) { $externalUser = listen($externalUser); } else { if ($_POST[POST_EXTERN_SERVER_ACTION] == EXTERN_ACTION_MAIL) { initData(false, true, false, false); if ($externalUser->SaveTicket(AJAXDecode($_POST[POST_EXTERN_USER_GROUP]), $CONFIG) && ($CONFIG["gl_scom"] != null || $CONFIG["gl_sgom"] != null)) { $externalUser->SendCopyOfMail(AJAXDecode($_POST[POST_EXTERN_USER_GROUP]), $CONFIG, $GROUPS); } } else { if ($_POST[POST_EXTERN_SERVER_ACTION] == EXTERN_ACTION_RATE) { initData(true, false, false, false); $externalUser->SaveRate(AJAXDecode($_POST[POST_EXTERN_REQUESTED_INTERNID]), $CONFIG); } else { if ($externalUser->Browsers[0]->Status != CHAT_STATUS_OPEN) { $externalUser->Browsers[0]->CloseChat(7); $externalUser->Browsers[0] = new VisitorChat($externalUser->UserId, AJAXDecode($_POST[POST_EXTERN_USER_BROWSERID])); } else { $externalUser->Browsers[0]->ChatId = AJAXDecode(@$_POST[POST_EXTERN_CHAT_ID]); } $externalUser->Browsers[0]->Waiting = false; $externalUser->Browsers[0]->WaitingMessageDisplayed = null; if ($_POST[POST_EXTERN_SERVER_ACTION] == EXTERN_ACTION_RELOAD_GROUPS) { if (isset($_GET[GET_EXTERN_USER_NAME]) && !empty($_GET[GET_EXTERN_USER_NAME])) { $externalUser->Browsers[0]->Fullname = base64UrlDecode($_GET[GET_EXTERN_USER_NAME]); } if (isset($_GET[GET_EXTERN_USER_EMAIL]) && !empty($_GET[GET_EXTERN_USER_EMAIL])) {
function reloadGroups($_user) { global $CONFIG, $INTERNAL, $GROUPS; initData(true, false, false, true); $groupbuilder = new GroupBuilder($INTERNAL, $GROUPS, $CONFIG); $groupbuilder->Generate(); if (isset($_POST[POST_EXTERN_REQUESTED_INTERNID]) && !empty($_POST[POST_EXTERN_REQUESTED_INTERNID])) { $_user->Browsers[0]->DesiredChatPartner = getInternalSystemIdByUserId(AJAXDecode($_POST[POST_EXTERN_REQUESTED_INTERNID])); } $_user->AddFunctionCall("top.lz_chat_set_groups(\"" . $groupbuilder->Result . "\" ," . $groupbuilder->ErrorHTML . ");", false); $_user->AddFunctionCall("lz_chat_release(" . parseBool($groupbuilder->GroupAvailable || isset($_POST[GET_EXTERN_RESET]) && strlen($groupbuilder->ErrorHTML) <= 2) . "," . $groupbuilder->ErrorHTML . ");", false); return $_user; }
function buildTickets($xml = "", $dle_xml = "", $ticketCount = 0, $itemCount = 0) { global $RESPONSE, $INTERNAL, $DUT; if (empty($_POST[POST_INTERN_XMLCLIP_TICKETS_END_TIME])) { return; } if (!isDataUpdate(POST_INTERN_DUT_TICKETS, DATA_UPDATE_KEY_TICKETS) && !isDataUpdate(POST_INTERN_DUT_EMAILS, DATA_UPDATE_KEY_EMAILS)) { return; } initData(array("INPUTS")); $permission = $INTERNAL[CALLER_SYSTEM_ID]->GetPermission(PERMISSION_MESSAGES); if ($_POST[POST_INTERN_XMLCLIP_TICKETS_END_TIME] == XML_CLIP_NULL || !is_numeric($_POST[POST_INTERN_XMLCLIP_TICKETS_END_TIME])) { $_POST[POST_INTERN_XMLCLIP_TICKETS_END_TIME] = 0; } if ($_POST[POST_INTERN_XMLCLIP_TICKETS_STATUS_END_TIME] == XML_CLIP_NULL || !is_numeric($_POST[POST_INTERN_XMLCLIP_TICKETS_STATUS_END_TIME])) { $_POST[POST_INTERN_XMLCLIP_TICKETS_STATUS_END_TIME] = 0; } if ($_POST[POST_INTERN_XMLCLIP_EMAILS_END_TIME] == XML_CLIP_NULL || !is_numeric($_POST[POST_INTERN_XMLCLIP_EMAILS_END_TIME])) { $_POST[POST_INTERN_XMLCLIP_EMAILS_END_TIME] = 0; } if ($_POST[POST_INTERN_XMLCLIP_TICKETS_LOG_END_TIME] == XML_CLIP_NULL || !is_numeric($_POST[POST_INTERN_XMLCLIP_TICKETS_LOG_END_TIME])) { $_POST[POST_INTERN_XMLCLIP_TICKETS_LOG_END_TIME] = 0; } if ($_POST[POST_INTERN_XMLCLIP_TICKETS_COMMENTS_END_TIME] == XML_CLIP_NULL || !is_numeric($_POST[POST_INTERN_XMLCLIP_TICKETS_COMMENTS_END_TIME])) { $_POST[POST_INTERN_XMLCLIP_TICKETS_COMMENTS_END_TIME] = 0; } $queries["messages"] = "FROM `" . DB_PREFIX . DATABASE_TICKETS . "` INNER JOIN `" . DB_PREFIX . DATABASE_TICKET_MESSAGES . "` ON `" . DB_PREFIX . DATABASE_TICKETS . "`.`id`=`" . DB_PREFIX . DATABASE_TICKET_MESSAGES . "`.`ticket_id` WHERE `time` >" . DBManager::RealEscape($_POST[POST_INTERN_XMLCLIP_TICKETS_END_TIME]) . " ORDER BY `time` ASC"; $queries["mails"] = "FROM `" . DB_PREFIX . DATABASE_TICKET_EMAILS . "` AS `t1` INNER JOIN `" . DB_PREFIX . DATABASE_MAILBOXES . "` AS `t2` ON `t1`.`mailbox_id`=`t2`.`id` WHERE `edited` >" . DBManager::RealEscape($_POST[POST_INTERN_XMLCLIP_EMAILS_END_TIME]) . " ORDER BY `edited` ASC"; $queries["status"] = "FROM `" . DB_PREFIX . DATABASE_TICKETS . "` INNER JOIN `" . DB_PREFIX . DATABASE_TICKET_EDITORS . "` ON `" . DB_PREFIX . DATABASE_TICKETS . "`.`id`=`" . DB_PREFIX . DATABASE_TICKET_EDITORS . "`.`ticket_id` WHERE `time` >" . DBManager::RealEscape($_POST[POST_INTERN_XMLCLIP_TICKETS_STATUS_END_TIME]) . " ORDER BY `time` ASC;"; $queries["log"] = "FROM `" . DB_PREFIX . DATABASE_TICKET_LOGS . "` WHERE `time` >" . DBManager::RealEscape($_POST[POST_INTERN_XMLCLIP_TICKETS_LOG_END_TIME]) . " ORDER BY `time` ASC;"; $queries["comments"] = "FROM `" . DB_PREFIX . DATABASE_TICKET_COMMENTS . "` WHERE `time` >" . DBManager::RealEscape($_POST[POST_INTERN_XMLCLIP_TICKETS_COMMENTS_END_TIME]) . " ORDER BY `time` ASC;"; $result = queryDB(true, "SELECT * " . $queries["messages"] . " LIMIT " . DBManager::RealEscape(DATA_ITEM_LOADS) . ";"); if ($result) { while ($row = DBManager::FetchArray($result)) { $ticket = new Ticket($row); $full = in_array($ticket->Group, $INTERNAL[CALLER_SYSTEM_ID]->Groups) && $permission != PERMISSION_NONE || $permission == PERMISSION_FULL; if ($full) { $ticket->Messages[0]->LoadCustoms(); $ticket->Messages[0]->LoadAttachments(); } $xml .= $ticket->GetXML($full); $itemCount++; $ticketCount++; } } if ($ticketCount != DATA_ITEM_LOADS) { $mailcount = $last = 0; $result = queryDB(true, "SELECT `t1`.*,`t2`.`email` AS `receiver_mail` " . $queries["mails"] . " LIMIT " . DBManager::RealEscape(DATA_ITEM_LOADS * 5) . ";"); if ($result) { while ($row = DBManager::FetchArray($result)) { $permissione = $INTERNAL[CALLER_SYSTEM_ID]->GetPermission(22); $full = $permissione != PERMISSION_NONE && (in_array($row["group_id"], $INTERNAL[CALLER_SYSTEM_ID]->Groups) && $permission != PERMISSION_NONE || $permission == PERMISSION_FULL); $email = new TicketEmail($row); $email->LoadAttachments(); $xml .= $email->GetXML($full); $itemCount++; if ($last != $row["edited"] && ++$mailcount >= DATA_ITEM_LOADS) { break; } $last = $row["edited"]; } } $statuscount = $last = 0; $result = queryDB(true, "SELECT * " . $queries["status"]); if ($result) { while ($row = DBManager::FetchArray($result)) { if ($statuscount++ >= DATA_ITEM_LOADS && $last != $row["time"]) { break; } $ticket = new TicketEditor($row["ticket_id"], $row); $xml .= $ticket->GetXML(@$row["wait_begin"], @$row["last_update"]); $itemCount++; $last = $row["time"]; } } $logcount = $last = 0; $result = queryDB(true, "SELECT * " . $queries["log"]); if ($result) { while ($row = DBManager::FetchArray($result)) { if ($logcount++ >= DATA_ITEM_LOADS && $last != $row["time"]) { break; } $xml .= "<lo c=\"" . base64_encode($row["created"]) . "\" ti=\"" . base64_encode($row["time"]) . "\" t=\"" . base64_encode($row["ticket_id"]) . "\" a=\"" . base64_encode($row["action"]) . "\" o=\"" . base64_encode($row["operator_id"]) . "\" v=\"" . base64_encode($row["value_old"]) . "\">" . base64_encode($row["value_new"]) . "</lo>\r\n"; $last = $row["time"]; $itemCount++; } } $commentscount = $last = 0; $result = queryDB(true, "SELECT * " . $queries["comments"]); if ($result) { while ($row = DBManager::FetchArray($result)) { if ($commentscount++ >= DATA_ITEM_LOADS && $last != $row["time"]) { break; } $xml .= "<c i=\"" . base64_encode($row["id"]) . "\" c=\"" . base64_encode($row["created"]) . "\" ti=\"" . base64_encode($row["time"]) . "\" t=\"" . base64_encode($row["ticket_id"]) . "\" m=\"" . base64_encode($row["message_id"]) . "\" o=\"" . base64_encode($row["operator_id"]) . "\">" . base64_encode($row["comment"]) . "</c>\r\n"; $last = $row["time"]; $itemCount++; } } } $count = 0; foreach ($queries as $query) { if ($result = queryDB(true, "SELECT count(*) as `total` " . $query)) { while ($row = DBManager::FetchArray($result)) { if (!empty($row["total"])) { $count += $row["total"]; } } } } if (!empty($count)) { $DUT[DATA_UPDATE_KEY_TICKETS] = 0; $xml = "<l l=\"" . base64_encode($count) . "\">" . base64_encode($itemCount) . "</l>\r\n" . $xml; } $RESPONSE->Messages = "<t dutt=\"" . base64_encode($DUT[DATA_UPDATE_KEY_TICKETS]) . "\" dute=\"" . base64_encode($DUT[DATA_UPDATE_KEY_EMAILS]) . "\">\r\n" . $xml . $dle_xml . "</t>"; }
//print "=--------\n"; //foreach ($result as $a) print "= danach: " . $a['password'] . " : " . (isset($a['#']) ? $a['#'] : '####') . "\n"; print "\n"; return $result; } //////////////////////////////////////////////////////////////////////////////// // initialize test $testPasswords = array(); for ($i = 0; $i < 20; $i++) { $accountId = hash('md5', uniqid()); $userId = 'user-' . $accountId; $testPasswords[] = array('account' => $userId, 'email' => $accountId . '@domain.tld', 'password' => sprintf('%s:{SHA512}NEWPASSWORD%s', $userId, uniqid())); } $fields = array('password'); initData(15); $testPasswords = call('post', $testPasswords); initData(15); check(PASSWORDS, $testPasswords, $fields); $testPasswords = call('put', $testPasswords); check(PASSWORDS, $testPasswords, $fields); $newTestPasswords = array(); foreach ($testPasswords as $key => $value) { $userId = 'renamed-user-' . $accountId; $newTestPasswords[] = array('oldaccount' => $value['account'], 'email' => $value['email'], 'account' => $userId, 'password' => sprintf('%s:{SHA512}NEWPASSWORD%s', $userId, uniqid())); } $newTestPasswords = call('put', $newTestPasswords); check(PASSWORDS, $newTestPasswords, $fields); check(PASSWORDS, $testPasswords, $fields, false); call('delete', $testPasswords); check(PASSWORDS, $testPasswords, $fields, false); print "\n>>> file: " . PASSWORDS . "\n";
define("LIVEZILLA_PATH", "../../"); @set_time_limit(30); require LIVEZILLA_PATH . "_definitions/definitions.inc.php"; require LIVEZILLA_PATH . "_lib/objects.global.users.inc.php"; require LIVEZILLA_PATH . "_lib/functions.global.inc.php"; require LIVEZILLA_PATH . "_definitions/definitions.dynamic.inc.php"; require LIVEZILLA_PATH . "_definitions/definitions.protocol.inc.php"; require LIVEZILLA_PATH . "_lib/functions.internal.inc.php"; require LIVEZILLA_PATH . "_lib/objects.internal.inc.php"; @set_error_handler("handleError"); @error_reporting(E_ALL); header("Pragma: no-cache"); header("Cache-Control: no-cache, must-revalidate"); header("Keep-Alive: timeout=5, max=100"); initDataProvider(); initData(array("INTERNAL", "INPUTS")); validate(true); if (isValidated() && is("CALLER_SYSTEM_ID")) { if ($INTERNAL[CALLER_SYSTEM_ID]->GetPermission(46) != PERMISSION_NONE) { require "objects.apiv2.inc.php"; $apiv2 = new ApiV2(isset($_POST["p_json_pretty"])); if ($apiv2->RunActions() && empty($apiv2->ErrorField) && !empty($apiv2->JSONOutput)) { exit($apiv2->JSONOutput); } else { header("HTTP/1.1 400 Bad Request"); exit("HTTP/1.1 400 Bad Request" . $apiv2->GetErrorCodes()); } } } header("HTTP/1.1 403 Forbidden"); exit("HTTP/1.1 403 Forbidden");
} } if ($online) { $TRACKINGSCRIPT .= "lz_tracking_add_floating_button(" . $_GET["fbpos"] . "," . $shadow . $margin . "," . $_GET["fbw"] . "," . $_GET["fbh"] . ");"; } } } else { $TRACKINGSCRIPT = "lz_tracking_set_sessid(\"" . htmlentities(CALLER_USER_ID) . "\",\"" . htmlentities(CALLER_BROWSER_ID) . "\");"; if (isset($_GET[GET_TRACK_URL]) && strpos(base64UrlDecode($_GET[GET_TRACK_URL]), GET_INTERN_COBROWSE) !== false) { abortTracking(1); } $BROWSER = new VisitorBrowser(CALLER_BROWSER_ID, CALLER_USER_ID); if ($EXTERNALUSER->FirstCall && !$BROWSER->IsFirstCall()) { $EXTERNALUSER->FirstCall = false; } initData(false, false, false, true, true); define("IS_FILTERED", $FILTERS->Match(getIP(), formLanguages(!empty($_SERVER["HTTP_ACCEPT_LANGUAGE"]) ? $_SERVER["HTTP_ACCEPT_LANGUAGE"] : ""), CALLER_USER_ID)); define("IS_FLOOD", $BROWSER->IsFirstCall() && isFlood(getIP(), CALLER_USER_ID)); if (!getAvailability() || IS_FILTERED || IS_FLOOD) { $BROWSER->Destroy(); exit("lz_tracking_stop_tracking();"); } $BROWSER->Customs = getCustomArray(); if (isset($_GET[GET_EXTERN_USER_NAME]) && !empty($_GET[GET_EXTERN_USER_NAME])) { $BROWSER->Fullname = cutString(base64UrlDecode($_GET[GET_EXTERN_USER_NAME]), 254); } else { $BROWSER->Fullname = getCookieValue("form_111"); } if (isset($_GET[GET_EXTERN_USER_EMAIL]) && !empty($_GET[GET_EXTERN_USER_EMAIL])) { $BROWSER->Email = cutString(base64UrlDecode($_GET[GET_EXTERN_USER_EMAIL]), 254); } else {
function processCancelInvitation() { global $VISITOR; if (isset($_POST[POST_INTERN_PROCESS_CANCEL_INVITATION])) { $users = explode(POST_ACTION_VALUE_SPLITTER, utf8_decode($_POST[POST_INTERN_PROCESS_CANCEL_INVITATION])); foreach ($users as $uid) { $VISITOR[$uid]->ForceUpdate(); queryDB(true, "UPDATE `" . DB_PREFIX . DATABASE_CHAT_REQUESTS . "` SET `closed`=1,`canceled`='" . DBManager::RealEscape(CALLER_SYSTEM_ID) . "' WHERE `canceled`='' AND `accepted`=0 AND `declined`=0 AND `receiver_user_id`='" . DBManager::RealEscape($uid) . "';"); } $VISITOR = null; initData(array("VISITOR")); } }
function setManagement($_prefix) { global $INTERNAL, $RESPONSE, $CONFIG, $GROUPS, $VISITOR; administrationLog("setManagement", "", CALLER_SYSTEM_ID); if (isValidated()) { if (isset($INTERNAL[CALLER_SYSTEM_ID]) && ($INTERNAL[CALLER_SYSTEM_ID]->Level == USER_LEVEL_ADMIN || is_array($INTERNAL[CALLER_SYSTEM_ID]->WebsitesUsers) && in_array($CONFIG["gl_host"], $INTERNAL[CALLER_SYSTEM_ID]->WebsitesUsers))) { $count = 0; while (isset($_POST["p_operators_" . $count . "_id"])) { if (!empty($_POST["p_operators_" . $count . "_delete"])) { queryDB(true, "DELETE FROM `" . $_prefix . DATABASE_OPERATORS . "` WHERE `id`='" . DBManager::RealEscape($_POST["p_operators_" . $count . "_id"]) . "' LIMIT 1;"); } else { $did = !empty($INTERNAL[$_POST["p_operators_" . $count . "_system_id"]]) ? $INTERNAL[$_POST["p_operators_" . $count . "_system_id"]]->AppDeviceId : ""; $abm = !empty($INTERNAL[$_POST["p_operators_" . $count . "_system_id"]]) ? $INTERNAL[$_POST["p_operators_" . $count . "_system_id"]]->AppBackgroundMode : false; $aos = !empty($INTERNAL[$_POST["p_operators_" . $count . "_system_id"]]) ? $INTERNAL[$_POST["p_operators_" . $count . "_system_id"]]->AppOS : ""; $lac = !empty($INTERNAL[$_POST["p_operators_" . $count . "_system_id"]]) ? $INTERNAL[$_POST["p_operators_" . $count . "_system_id"]]->LastActive : 0; $fac = !empty($INTERNAL[$_POST["p_operators_" . $count . "_system_id"]]) ? $INTERNAL[$_POST["p_operators_" . $count . "_system_id"]]->FirstActive : 0; $wcl = !empty($INTERNAL[$_POST["p_operators_" . $count . "_system_id"]]) ? $INTERNAL[$_POST["p_operators_" . $count . "_system_id"]]->ClientWeb : 0; $acl = !empty($INTERNAL[$_POST["p_operators_" . $count . "_system_id"]]) ? $INTERNAL[$_POST["p_operators_" . $count . "_system_id"]]->AppClient : 0; $sta = !empty($INTERNAL[$_POST["p_operators_" . $count . "_system_id"]]) ? $INTERNAL[$_POST["p_operators_" . $count . "_system_id"]]->Status : 2; queryDB(true, "REPLACE INTO `" . $_prefix . DATABASE_OPERATORS . "` (`id`, `system_id`, `fullname`, `description`, `email`, `permissions`, `webspace`, `password`, `status`, `level`, `visitor_file_sizes`, `groups`, `groups_status`, `groups_hidden`,`reposts`, `languages`, `auto_accept_chats`, `login_ip_range`, `websites_users`, `websites_config`, `bot`, `wm`, `wmohca`,`first_active`,`last_active`,`sign_off`,`lweb`,`lapp`,`mobile_os`,`mobile_device_id`,`mobile_background`,`mobile_ex`,`max_chats`) VALUES ('" . DBManager::RealEscape($_POST["p_operators_" . $count . "_id"]) . "','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_system_id"]) . "','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_fullname"]) . "','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_description"]) . "','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_email"]) . "','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_permissions"]) . "','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_webspace"]) . "','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_password"]) . "','" . $sta . "','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_level"]) . "','','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_groups"]) . "','','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_groups_hidden"]) . "','','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_languages"]) . "',0,'" . DBManager::RealEscape($_POST["p_operators_" . $count . "_lipr"]) . "','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_websites_users"]) . "','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_websites_config"]) . "','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_bot"]) . "','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_wm"]) . "','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_wmohca"]) . "'," . $fac . "," . $lac . "," . (empty($_POST["p_operators_" . $count . "_deac"]) ? 0 : 2) . ",'" . DBManager::RealEscape($wcl ? 1 : 0) . "','" . DBManager::RealEscape($acl ? 1 : 0) . "','" . DBManager::RealEscape($aos) . "','" . DBManager::RealEscape($did) . "','" . DBManager::RealEscape($abm ? 1 : 0) . "','" . DBManager::RealEscape(@$_POST["p_operators_" . $count . "_mobile_ex"]) . "','" . DBManager::RealEscape(@$_POST["p_operators_" . $count . "_max_chats"]) . "');"); } if (!empty($_POST["p_operators_" . $count . "_pp"])) { queryDB(true, "DELETE FROM `" . DB_PREFIX . DATABASE_PROFILE_PICTURES . "` WHERE `webcam`='0' AND `internal_id`='" . DBManager::RealEscape($_POST["p_operators_" . $count . "_id"]) . "' LIMIT 1;"); queryDB(true, "INSERT INTO `" . DB_PREFIX . DATABASE_PROFILE_PICTURES . "` (`id` ,`internal_id`,`time` ,`webcam` ,`data`) VALUES ('" . DBManager::RealEscape(getId(32)) . "','" . DBManager::RealEscape($_POST["p_operators_" . $count . "_system_id"]) . "','" . DBManager::RealEscape(time()) . "',0,'" . DBManager::RealEscape($_POST["p_operators_" . $count . "_pp"]) . "');"); } $count++; } $count = 0; while (isset($_POST["p_groups_" . $count . "_id"])) { if (!empty($_POST["p_groups_" . $count . "_delete"])) { queryDB(true, "DELETE FROM `" . $_prefix . DATABASE_GROUPS . "` WHERE `id`='" . DBManager::RealEscape($_POST["p_groups_" . $count . "_id"]) . "' LIMIT 1;"); } else { queryDB(true, "REPLACE INTO `" . $_prefix . DATABASE_GROUPS . "` (`id`, `dynamic`, `description`, `external`, `internal`, `created`, `email`, `standard`, `opening_hours`, `functions`, `chat_inputs_hidden`, `ticket_inputs_hidden`, `chat_inputs_required`, `ticket_inputs_required`, `chat_inputs_masked`, `ticket_inputs_masked`, `chat_inputs_cap`, `ticket_inputs_cap`, `max_chats`, `visitor_filters`, `chat_vouchers_required`, `pre_chat_html`, `post_chat_html`, `ticket_email_out`, `ticket_email_in`, `ticket_handle_unknown`, `chat_email_out`,`ticket_assignment`,`priorities`) VALUES ('" . DBManager::RealEscape($_POST["p_groups_" . $count . "_id"]) . "',0,'" . DBManager::RealEscape($_POST["p_groups_" . $count . "_description"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_external"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_internal"]) . "'," . time() . ",'" . DBManager::RealEscape($_POST["p_groups_" . $count . "_email"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_standard"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_opening_hours"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_functions"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_chat_inputs_hidden"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_ticket_inputs_hidden"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_chat_inputs_required"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_ticket_inputs_required"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_chat_inputs_masked"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_ticket_inputs_masked"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_chat_inputs_cap"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_ticket_inputs_cap"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_max_chats"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_visitor_filters"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_chat_vouchers_required"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_pre_html"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_post_html"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_ticket_email_out"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_ticket_email_in"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_ticket_email_handling"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_chat_email_out"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_ticket_assign"]) . "','" . DBManager::RealEscape($_POST["p_groups_" . $count . "_priorities"]) . "');"); } $count++; } queryDB(true, "DELETE FROM `" . $_prefix . DATABASE_OPERATOR_LOGINS . "`;"); $INTERNAL = $GROUPS = $VISITOR = null; initData(array("INTERNAL", "GROUPS", "VISITOR")); updatePredefinedMessages($_prefix); updateSignatures($_prefix); if (!empty($_POST["p_operators_0_id"])) { queryDB(true, "DELETE FROM `" . $_prefix . DATABASE_AUTO_REPLIES . "` WHERE NOT EXISTS (SELECT * FROM `" . $_prefix . DATABASE_OPERATORS . "` WHERE `system_id` = `" . $_prefix . DATABASE_AUTO_REPLIES . "`.`owner_id`) AND NOT EXISTS (SELECT * FROM `" . $_prefix . DATABASE_GROUPS . "` WHERE `id` = `" . $_prefix . DATABASE_AUTO_REPLIES . "`.`owner_id`)"); queryDB(true, "DELETE FROM `" . $_prefix . DATABASE_PROFILE_PICTURES . "` WHERE NOT EXISTS (SELECT * FROM `" . $_prefix . DATABASE_OPERATORS . "` WHERE `system_id` = `" . $_prefix . DATABASE_PROFILE_PICTURES . "`.`internal_id`);"); queryDB(true, "DELETE FROM `" . $_prefix . DATABASE_PROFILES . "` WHERE NOT EXISTS (SELECT * FROM `" . $_prefix . DATABASE_OPERATORS . "` WHERE `system_id` = `" . $_prefix . DATABASE_PROFILES . "`.`id`);"); if (isset($_POST[POST_INTERN_EDIT_USER])) { $combos = explode(";", $_POST[POST_INTERN_EDIT_USER]); for ($i = 0; $i < count($combos); $i++) { if (strpos($combos[$i], ",") !== false) { $vals = explode(",", $combos[$i]); if (strlen($vals[1]) > 0) { $INTERNAL[$vals[0]]->ChangePassword($vals[1], true); } if ($vals[2] == 1) { $INTERNAL[$vals[0]]->SetPasswordChangeNeeded(true); } } } } } setIdle(0); $RESPONSE->SetStandardResponse(1, ""); } } }
print "=--------\n"; foreach ($result as $a) { print "= danach: " . $a['emailpattern'] . " : " . (isset($a['#']) ? $a['#'] : '####') . "\n"; } print "\n"; return $result; } $fields = array('emailpattern', 'account'); //////////////////////////////////////////////////////////////////////////////// // initialize test $testAddresss = array(); for ($i = 0; $i < 20; $i++) { $addressId = hash('md5', uniqid()); $userId = 'user-' . $addressId; $testAddresss[] = array('account' => $userId, 'emailpattern' => $addressId . '@domain.tld'); } initData(15, 100); //$testAddresss = doTest('POST', $testAddresss); $testAddresss = call('post', $testAddresss); initData(15, 500); check(ADDRESSES, $testAddresss, $fields); //$testAddresss = doTest('PUT', $testAddresss); $testAddresss = call('put', $testAddresss); check(ADDRESSES, $testAddresss, $fields); $loadedTestAddresss = call('get', $testAddresss); check(ADDRESSES, $loadedTestAddresss, $fields); find($testAddresss, $loadedTestAddresss); //$testAddresss = doTest('DELETE', $testAddresss); call('delete', $testAddresss); check(ADDRESSES, $testAddresss, $fields, false); print "\n>>> file: " . ADDRESSES . "\n";
static function CreateFloodFilter($_ip, $_userId) { global $FILTERS; initData(array("FILTERS")); foreach ($FILTERS->Filters as $currentFilter) { if ($currentFilter->IP == $_ip && $currentFilter->Activeipaddress == 1 && $currentFilter->Activestate == 1) { return; } } Filter::Create($_ip, $_userId, "AUTO FLOOD FILTER"); }
define("LIVEZILLA_PATH", "./"); } @ini_set('session.use_cookies', '0'); @error_reporting(E_ALL); $content_frames = array("lz_chat_frame.3.2.lgin.1.0", "lz_chat_frame.3.2.mail.1.0", "lz_chat_frame.3.2.chat.1.0", "lz_chat_frame.3.2.chat.0.0", "lz_chat_frame.3.2.chat.2.0"); require LIVEZILLA_PATH . "_lib/functions.external.inc.php"; require LIVEZILLA_PATH . "_lib/objects.external.inc.php"; @set_time_limit($CONFIG["timeout_chats"]); if (!isset($_GET["file"])) { @set_error_handler("handleError"); } if (!isset($_GET["browid"])) { exit; } languageSelect(); initData(array("INTERNAL", "GROUPS", "FILTERS", "INPUTS")); $USER = new Visitor(base64UrlDecode(getParam(GET_TRACK_USERID))); $USER->Load(); array_push($USER->Browsers, new VisitorChat($USER->UserId, $USER->UserId . "_OVL")); array_push($USER->Browsers, $BROWSER); $GroupBuilder = new GroupBuilder($INTERNAL, $GROUPS, $CONFIG, $USER->Browsers[0]->DesiredChatGroup, $USER->Browsers[0]->DesiredChatPartner, false); $GroupBuilder->Generate(null, true); $USER->Browsers[0]->Overlay = true; $USER->Browsers[0]->Load(); if ($USER->Browsers[0]->FirstCall) { $USER->AddFunctionCall("lz_chat_init_data_change(null,null);", false); } if (IS_FILTERED) { $USER->Browsers[0]->CloseChat(); $USER->Browsers[0]->Destroy(); $USER->AddFunctionCall("lz_tracking_remove_overlay_chat();", true);
require LIVEZILLA_PATH . "extern.php"; $response = utf8_encode("<?xml version=\"1.0\" encoding=\"UTF-8\" ?><livezilla_js>" . base64_encode(isset($EXTERNSCRIPT) ? $EXTERNSCRIPT : "") . "</livezilla_js>"); } else { if (isset($_POST["p_request"]) && $_POST["p_request"] == CALLER_TYPE_INTERNAL) { define("CALLER_TYPE", CALLER_TYPE_INTERNAL); define("CALLER_TIMEOUT", $CONFIG["timeout_clients"]); header("Connection: close"); header("Cache-Control: no-cache, must-revalidate"); header("Content-Type: text/xml; charset=UTF-8"); require LIVEZILLA_PATH . "intern.php"; $response = utf8_encode($response); } else { if (isset($_GET[GET_SERVER_REQUEST_TYPE]) && $_GET[GET_SERVER_REQUEST_TYPE] == "cronjob" && !empty($_GET["cjid"]) && $_GET["cjid"] == $CONFIG["gl_cjid"]) { define("CALLER_TYPE", "cronjob"); define("CALLER_TIMEOUT", 360); initData(array("INTERNAL", "GROUPS")); $response = DB_CONNECTION ? "Success" : "No database connection"; } } } } if (DB_CONNECTION && is("CALLER_TYPE") && (!empty($CONFIG["gl_cjfs"]) || CALLER_TYPE == "cronjob") && !is("SERVERSETUP") && !is("LOGIN")) { cronJobs(CALLER_TYPE == "cronjob"); } } if (!isset($response)) { exit(getFile(TEMPLATE_HTML_SUPPORT)); } sendPushMessages(); unloadDataProvider(); exit($response);
public static function GetMatchingVoucher($_groupId, $_voucherid) { global $CONFIG, $GROUPS; initData(array("GROUPS")); $ticket = new CommercialChatVoucher("", $_voucherid); $ticket->Load(); $result = queryDB(true, $d = "SELECT *,`t1`.`id` AS `voucherid`, SUM(`chat_time_max`) AS `chat_time_max`, SUM(`chat_time`) AS `chat_time`, SUM(`chat_sessions`) AS `chat_sessions`, SUM(`chat_sessions_max`) AS `chat_sessions_max`, MAX(`expires`) AS `expires` FROM `" . DB_PREFIX . DATABASE_COMMERCIAL_CHAT_VOUCHERS . "` AS `t1` INNER JOIN `" . DB_PREFIX . DATABASE_COMMERCIAL_CHAT_TYPES . "` AS `t2` ON `t1`.`tid`=`t2`.`id` WHERE `t1`.`id`='" . DBManager::RealEscape($_voucherid) . "' ORDER BY `created` ASC;"); while ($row = @DBManager::FetchArray($result)) { if (!empty($CONFIG["db"]["cct"][$row["tid"]])) { $ticket = new CommercialChatVoucher($row); if (in_array($row["tid"], $GROUPS[$_groupId]->ChatVouchersRequired)) { return $ticket; } } } return null; }
static function FromCache($_uid, $_bid) { global $CM, $VISITOR; if (!empty($CM)) { initData(array("VISITOR")); if (isset($VISITOR[$_uid])) { foreach ($VISITOR[$_uid]->Browsers as $browser) { if ($browser->BrowserId == $_bid) { return $browser; } } } } $br = new VisitorChat($_uid, $_bid); $br->Load(); return $br; }
print "=--------\n"; foreach ($result as $a) { print "= [{$func}] danach: " . $a['account'] . " : " . (isset($a['#']) ? $a['#'] : '####') . "\n"; } print "\n"; return $result; } $fields = array('account', 'email'); //////////////////////////////////////////////////////////////////////////////// // initialize test $testAccounts = array(); for ($i = 0; $i < 20; $i++) { $accountId = hash('md5', uniqid()); $userId = 'user-' . $accountId; $testAccounts[] = array('account' => $userId, 'email' => $accountId . '@domain.tld', 'password' => sprintf('user-%s:{SHA512}NEWPASSWORD%s', $accountId, uniqid())); } initData(5); //$testAccounts = doTest('POST', $testAccounts); $testAccounts = call('post', $testAccounts); initData(5); check(ACCOUNTS, $testAccounts, $fields); //$testAccounts = doTest('PUT', $testAccounts); $testAccounts = call('put', $testAccounts); check(ACCOUNTS, $testAccounts, $fields); $loadedTestAccounts = call('get', $testAccounts); check(ACCOUNTS, $loadedTestAccounts, $fields); find($testAccounts, $loadedTestAccounts); //$testAccounts = doTest('DELETE', $testAccounts); call('delete', $testAccounts); check(ACCOUNTS, $testAccounts, $fields, false); print "\n>>> file: " . ACCOUNTS . "\n";
function processActions($actionData = "") { global $BROWSER, $CONFIG, $INTERNAL, $EVENTS, $GROUPS; if (!empty($BROWSER->ChatRequest)) { initData(true, true); if ($INTERNAL[$BROWSER->ChatRequest->SenderSystemId]->LastActive < time() - $CONFIG["timeout_clients"] || $INTERNAL[$BROWSER->ChatRequest->SenderSystemId]->Status != USER_STATUS_ONLINE || !$GROUPS[$BROWSER->ChatRequest->SenderGroupId]->IsOpeningHour() || $BROWSER->ChatRequest->Closed) { $BROWSER->ChatRequest->SetStatus(false, false, true, true); $actionData .= "lz_tracking_close_request();"; $BROWSER->ForceUpdate(); } else { if (isset($_GET[GET_TRACK_REQUEST_DECLINED]) || isset($_GET[GET_TRACK_REQUEST_ACCEPTED])) { if (isset($_GET[GET_TRACK_REQUEST_DECLINED])) { $BROWSER->ChatRequest->SetStatus(false, false, true, true); } if (isset($_GET[GET_TRACK_REQUEST_CLOSE])) { if (isset($_GET[GET_TRACK_REQUEST_ACCEPTED])) { $BROWSER->ChatRequest->SetStatus(false, true, false, true); } $actionData .= "lz_tracking_close_request();"; } $BROWSER->ForceUpdate(); } else { if (!$BROWSER->ChatRequest->Accepted && !$BROWSER->ChatRequest->Declined) { if (empty($BROWSER->ChatRequest->EventActionId)) { $invitationHTML = doReplacements($BROWSER->ChatRequest->CreateInvitationTemplate($CONFIG["gl_inv_template"], $CONFIG["gl_site_name"], $CONFIG["wcl_window_width"], $CONFIG["wcl_window_height"], LIVEZILLA_URL, $INTERNAL[$BROWSER->ChatRequest->SenderSystemId], $CONFIG["gl_inv_coc"])); $BROWSER->ChatRequest->Invitation = new Invitation($invitationHTML, $CONFIG["gl_inv_position"], $CONFIG["gl_inv_margin"][0], $CONFIG["gl_inv_margin"][1], $CONFIG["gl_inv_margin"][2], $CONFIG["gl_inv_margin"][3], $CONFIG["gl_inv_scroll_speed"], $CONFIG["gl_inv_template"], empty($CONFIG["gl_inv_no_scroll"]), $BROWSER->ChatRequest->Text, $CONFIG["gl_inv_coc"]); } else { if (!isnull($action = $EVENTS->GetActionById($BROWSER->ChatRequest->EventActionId))) { $invitationHTML = doReplacements($BROWSER->ChatRequest->CreateInvitationTemplate($action->Invitation->Style, $CONFIG["gl_site_name"], $CONFIG["wcl_window_width"], $CONFIG["wcl_window_height"], LIVEZILLA_URL, $INTERNAL[$BROWSER->ChatRequest->SenderSystemId], $action->Invitation->CloseOnClick)); $BROWSER->ChatRequest->Invitation = $action->Invitation; $BROWSER->ChatRequest->Invitation->Text = $BROWSER->ChatRequest->Text; $BROWSER->ChatRequest->Invitation->HTML = $invitationHTML; } } $BROWSER->ChatRequest->SetStatus(true, false, false, false); $actionData .= $BROWSER->ChatRequest->Invitation->GetCommand(); $BROWSER->ForceUpdate(); } } } } if (!empty($BROWSER->WebsitePush)) { if (isset($_GET[GET_TRACK_WEBSITE_PUSH_DECLINED])) { $BROWSER->WebsitePush->SetStatus(false, false, true); } else { if (isset($_GET[GET_TRACK_WEBSITE_PUSH_ACCEPTED]) || !$BROWSER->WebsitePush->Ask && !$BROWSER->WebsitePush->Displayed) { $BROWSER->WebsitePush->SetStatus(false, true, false); $actionData .= $BROWSER->WebsitePush->GetExecCommand(); } else { if ($BROWSER->WebsitePush->Ask && !$BROWSER->WebsitePush->Accepted && !$BROWSER->WebsitePush->Declined) { $BROWSER->WebsitePush->SetStatus(true, false, false); $actionData .= $BROWSER->WebsitePush->GetInitCommand(); } } } } if (!empty($BROWSER->Alert) && !$BROWSER->Alert->Accepted) { if (isset($_GET[GET_TRACK_ALERT_CONFIRMED])) { $BROWSER->Alert->SetStatus(false, true); } else { $actionData .= $BROWSER->Alert->GetCommand(); } } return $actionData; }
function BuildChatXML() { global $USER, $BROWSER, $GROUPS, $INPUTS; initData(array("INPUTS")); if ($this->CurrentResponseType == DATA_RESPONSE_TYPE_KEEP_ALIVE) { $this->CurrentResponseType = DATA_RESPONSE_TYPE_BASIC; } if ($this->GetAll) { $this->CurrentResponseType = DATA_RESPONSE_TYPE_STATIC; } if (!$BROWSER->Closed && ($BROWSER->Status > CHAT_STATUS_OPEN || $BROWSER->Waiting)) { if (!empty($BROWSER->DesiredChatGroup)) { $pra = !empty($BROWSER->Members[CALLER_SYSTEM_ID]) ? " pra=\"" . base64_encode($BROWSER->PostsReceived(CALLER_SYSTEM_ID)) . "\"" : ""; $cti = ""; $USER->IsChat = true; $this->XMLCurrentChat = "<chat id=\"" . base64_encode($BROWSER->ChatId) . "\" d=\"" . base64_encode(!empty($BROWSER->Declined) ? 1 : 0) . "\" p=\"" . base64_encode($BROWSER->Priority) . "\" f=\"" . base64_encode($BROWSER->FirstActive) . "\" q=\"" . base64_encode($BROWSER->Status > CHAT_STATUS_OPEN ? "0" : "1") . "\" cmb=\"" . base64_encode($BROWSER->CallMeBack) . "\" st=\"" . base64_encode($BROWSER->Activated) . "\" fn=\"" . base64_encode($BROWSER->GetInputData(111)) . "\" em=\"" . base64_encode($BROWSER->GetInputData(112)) . "\" eq=\"" . base64_encode($BROWSER->GetInputData(114)) . "\" gr=\"" . base64_encode($BROWSER->DesiredChatGroup) . "\" dcp=\"" . base64_encode($BROWSER->DesiredChatPartner) . "\" at=\"" . base64_encode($BROWSER->AllocatedTime) . "\" cp=\"" . base64_encode($BROWSER->GetInputData(116)) . "\" co=\"" . base64_encode($BROWSER->GetInputData(113)) . "\"" . $pra . $cti . ">\r\n"; foreach ($GROUPS as $groupid => $group) { if ($group->IsDynamic) { foreach ($group->Members as $member => $persistent) { if ($member == $BROWSER->SystemId) { $this->XMLCurrentChat .= "<gr p=\"" . base64_encode($persistent ? "1" : "0") . "\">" . base64_encode($groupid) . "</gr>\r\n"; } } } } if (is_array($BROWSER->Customs)) { foreach ($BROWSER->Customs as $index => $value) { if ($INPUTS[$index]->Active && $INPUTS[$index]->Custom) { $value = $INPUTS[$index]->Type == "Text" ? $BROWSER->GetInputData($index) : $value; $this->XMLCurrentChat .= " <cf index=\"" . base64_encode($index) . "\">" . base64_encode($INPUTS[$index]->GetClientValue($value)) . "</cf>\r\n"; } } } $this->XMLCurrentChat .= " <pn acc=\"" . base64_encode($BROWSER->Activated ? "1" : "0") . "\">\r\n"; foreach ($BROWSER->Members as $systemid => $member) { $this->XMLCurrentChat .= "<member id=\"" . base64_encode($systemid) . "\" st=\"" . base64_encode($member->Status) . "\" dec=\"" . base64_encode($member->Declined ? 1 : 0) . "\" />\r\n"; } $this->XMLCurrentChat .= " </pn>\r\n"; if (!empty($BROWSER->ChatVoucherId)) { $chatticket = VisitorChat::GetMatchingVoucher($BROWSER->DesiredChatGroup, $BROWSER->ChatVoucherId); if (!empty($chatticket)) { $this->XMLCurrentChat .= "<cticket>" . $chatticket->GetXML(true) . "</cticket>\r\n"; } } $v_tp = 0; if (!empty($BROWSER->Members[CALLER_SYSTEM_ID])) { if ($BROWSER->Activated == 0) { $BROWSER->LoadForward(false, true); if (!empty($BROWSER->Forward) && ($BROWSER->Forward->TargetSessId == CALLER_SYSTEM_ID || empty($BROWSER->Forward->TargetSessId))) { $BROWSER->RepostChatHistory(3, $BROWSER->ChatId, CALLER_SYSTEM_ID, 0, 0, "", "", "", false, false); $BROWSER->Forward->Destroy(); } else { $BROWSER->RepostChatHistory(3, $BROWSER->ChatId, CALLER_SYSTEM_ID, 0, 0, "", "", "", false, false); } } $v_tp = $BROWSER->Typing ? 1 : 0; } if (isset($this->Caller->ExternalChats[$BROWSER->SystemId]) && !empty($this->Caller->ExternalChats[$BROWSER->SystemId]->FileUploadRequest)) { foreach ($this->Caller->ExternalChats[$BROWSER->SystemId]->FileUploadRequest as $request) { if ($request->Error && $request->Permission != PERMISSION_NONE) { if (!$request->Closed) { $request->Close(); } $this->XMLCurrentChat .= " <fupr id=\"" . base64_encode($request->Id) . "\" cr=\"" . base64_encode($request->Created) . "\" fm=\"" . base64_encode($request->FileMask) . "\" fn=\"" . base64_encode($request->FileName) . "\" fid=\"" . base64_encode($request->FileId) . "\" cid=\"" . base64_encode($request->ChatId) . "\" error=\"" . base64_encode(true) . "\" />\r\n"; } else { if ($request->Download) { $this->XMLCurrentChat .= " <fupr pm=\"" . base64_encode($request->Permission) . "\" id=\"" . base64_encode($request->Id) . "\" cr=\"" . base64_encode($request->Created) . "\" fm=\"" . base64_encode($request->FileMask) . "\" fn=\"" . base64_encode($request->FileName) . "\" cid=\"" . base64_encode($request->ChatId) . "\" fid=\"" . base64_encode($request->FileId) . "\" download=\"" . base64_encode(true) . "\" size=\"" . base64_encode(@filesize($request->GetFile())) . "\" />\r\n"; } else { if ($request->Permission == PERMISSION_VOID) { $this->XMLCurrentChat .= " <fupr id=\"" . base64_encode($request->Id) . "\" cr=\"" . base64_encode($request->Created) . "\" fm=\"" . base64_encode($request->FileMask) . "\" fn=\"" . base64_encode($request->FileName) . "\" fid=\"" . base64_encode($request->FileId) . "\" cid=\"" . base64_encode($request->ChatId) . "\" />\r\n"; } else { if ($request->Permission == PERMISSION_NONE) { $this->XMLCurrentChat .= " <fupr pm=\"" . base64_encode($request->Permission) . "\" id=\"" . base64_encode($request->Id) . "\" cr=\"" . base64_encode($request->Created) . "\" fm=\"" . base64_encode($request->FileMask) . "\" fn=\"" . base64_encode($request->FileName) . "\" cid=\"" . base64_encode($request->ChatId) . "\" fid=\"" . base64_encode($request->FileId) . "\" />\r\n"; } else { if ($request->Permission == PERMISSION_CHAT_ARCHIVE) { $this->XMLCurrentChat .= " <fupr pm=\"" . base64_encode($request->Permission) . "\" id=\"" . base64_encode($request->Id) . "\" cr=\"" . base64_encode($request->Created) . "\" fm=\"" . base64_encode($request->FileMask) . "\" fn=\"" . base64_encode($request->FileName) . "\" cid=\"" . base64_encode($request->ChatId) . "\" fid=\"" . base64_encode($request->FileId) . "\" />\r\n"; } } } } } } } $this->XMLCurrentChat .= " </chat>\r\n"; $this->XMLTyping .= "<v id=\"" . base64_encode($BROWSER->UserId . "~" . $BROWSER->BrowserId) . "\" tp=\"" . base64_encode($v_tp) . "\" />\r\n"; } else { $this->XMLCurrentChat = " <chat />\r\n"; } } }
function reloadGroups($_user) { global $CONFIG, $INTERNAL, $GROUPS; initData(array("INTERNAL", "FILTERS")); if (!empty($_GET[GET_EXTERN_GROUP])) { $_user->Browsers[0]->DesiredChatGroup = base64UrlDecode(getParam(GET_EXTERN_GROUP)); } $opParam = getOperatorParameter(); if (!empty($opParam)) { $_user->Browsers[0]->DesiredChatPartner = Operator::GetSystemId($opParam); } $groupbuilder = new GroupBuilder($INTERNAL, $GROUPS, $CONFIG, $_user->Browsers[0]->DesiredChatGroup, $_user->Browsers[0]->DesiredChatPartner); $groupbuilder->Generate($_user); if (!empty($opParam)) { $_user->Browsers[0]->DesiredChatPartner = Operator::GetSystemId($opParam); } $groupsAvailable = parseBool($groupbuilder->GroupAvailable || isset($_POST[GET_EXTERN_RESET]) && strlen($groupbuilder->ErrorHTML) <= 2); $_user->AddFunctionCall("lz_chat_set_groups(" . $groupsAvailable . ",\"" . $groupbuilder->Result . "\" ," . $groupbuilder->ErrorHTML . ");", false); $_user->AddFunctionCall("lz_chat_release(" . $groupsAvailable . "," . $groupbuilder->ErrorHTML . ");", false); return $_user; }
* Copyright 2014 LiveZilla GmbH * All rights reserved. * LiveZilla is a registered trademark. * * Improper changes to this file may cause critical errors. ***************************************************************************************/ define("IN_LIVEZILLA", true); if (!defined("LIVEZILLA_PATH")) { define("LIVEZILLA_PATH", "./"); } require LIVEZILLA_PATH . "_definitions/definitions.inc.php"; require LIVEZILLA_PATH . "_lib/functions.global.inc.php"; require LIVEZILLA_PATH . "_lib/objects.global.users.inc.php"; require LIVEZILLA_PATH . "_definitions/definitions.dynamic.inc.php"; require LIVEZILLA_PATH . "_definitions/definitions.protocol.inc.php"; header("Content-Type: image/jpg;"); @set_error_handler("handleError"); if (isset($_GET["intid"]) && initDataProvider()) { initData(array("INTERNAL")); $id = Operator::GetSystemId(base64UrlDecode($_GET["intid"])); if (isset($INTERNAL[$id])) { if (!empty($INTERNAL[$id]->WebcamPicture)) { exit(base64_decode($INTERNAL[$id]->WebcamPicture)); } else { if (!empty($INTERNAL[$id]->ProfilePicture)) { exit(base64_decode($INTERNAL[$id]->ProfilePicture)); } } } } exit(getFile("./images/nopic.jpg"));
function Close() { global $INTERNAL, $CONFIG; initData(true); if ($this->Type == STATISTIC_PERIOD_TYPE_DAY) { if ($this->CreateReport) { $this->SaveReportToFile(); } if ($this->CreateVisitorList) { $this->SaveVisitorListToFile(); } queryDB(true, "DELETE FROM `" . DB_PREFIX . DATABASE_VISITORS . "` WHERE `last_active`<'" . @mysql_real_escape_string($this->Delimiters[1] - $CONFIG["timeout_clients"]) . "';"); queryDB(true, "DELETE FROM `" . DB_PREFIX . DATABASE_VISITOR_CHATS . "` WHERE `last_active`<'" . @mysql_real_escape_string($this->Delimiters[1] - $CONFIG["timeout_clients"]) . "';"); queryDB(true, "DELETE FROM `" . DB_PREFIX . DATABASE_OPERATOR_STATUS . "` WHERE `" . DB_PREFIX . DATABASE_OPERATOR_STATUS . "`.`confirmed`<'" . @mysql_real_escape_string($this->Delimiters[1]) . "';"); } else { if ($this->CreateReport) { $this->SaveReportToFile(); } } }
function Close() { global $CONFIG; initData(array("INTERNAL")); if ($this->Type == STATISTIC_PERIOD_TYPE_DAY) { $this->CleanDatabases($CONFIG["gl_dvhd"] * 2); if ($this->CreateReport) { $this->SaveReportToFile(); } if ($this->CreateVisitorList) { $this->SaveVisitorListToFile(); } $this->CleanDatabases($CONFIG["gl_dvhd"]); } else { if ($this->CreateReport) { $this->SaveReportToFile(); } } }
function getBrowserLocalization($country = "") { global $LANGUAGES, $COUNTRIES; initData(array("LANGUAGES", "COUNTRIES")); $base = @$_SERVER["HTTP_ACCEPT_LANGUAGE"]; $language = str_replace(array(",", "_", " "), array(";", "-", ""), !empty($_GET[GET_EXTERN_USER_LANGUAGE]) ? strtoupper(base64UrlDecode($_GET[GET_EXTERN_USER_LANGUAGE])) : (!empty($base) ? strtoupper($base) : "")); if (strlen($language) > 5 || strpos($language, ";") !== false) { $parts = explode(";", $language); if (count($parts) > 0) { $language = $parts[0]; } else { $language = substr($language, 0, 5); } } if (strlen($language) >= 2) { $parts = explode("-", $language); if (!isset($LANGUAGES[$language])) { $language = $parts[0]; if (!isset($LANGUAGES[$language])) { $language = ""; } } if (count($parts) > 1 && isset($COUNTRIES[$parts[1]])) { $country = $parts[1]; } } else { if (strlen($language) < 2) { $language = ""; } } return array($language, $country); }
function getJSCustomArray($_getCustomParams = "", $_fromHistory = null) { global $INPUTS; initData(array("INPUTS")); $valArray = array(); foreach ($INPUTS as $index => $input) { if ($input->Active && $input->Custom) { if (isset($_GET["cf" . $input->Index])) { $valArray[$index] = "'" . getParam("cf" . $input->Index) . "'"; } else { if (!isnull(getCookieValue("cf_" . $input->Index)) && $input->Cookie) { $valArray[$index] = "'" . base64UrlEncode(getCookieValue("cf_" . $input->Index)) . "'"; } else { if (is_array($_fromHistory) && isset($_fromHistory[$input->Index]) && !empty($_fromHistory[$input->Index])) { $valArray[$index] = "'" . base64UrlEncode($_fromHistory[$input->Index]) . "'"; } else { $valArray[$index] = "''"; } } } } else { if ($input->Custom) { $valArray[$index] = "''"; } } } ksort($valArray); foreach ($valArray as $param) { if (!empty($_getCustomParams)) { $_getCustomParams .= ","; } $_getCustomParams .= $param; } return $_getCustomParams; }
function getBrowserLocalization($country = "") { global $LANGUAGES, $COUNTRIES; initData(false, false, false, false, false, true, true); $language = str_replace(array(",", "_", " "), array(";", "-", ""), !empty($_SERVER["HTTP_ACCEPT_LANGUAGE"]) ? strtoupper($_SERVER["HTTP_ACCEPT_LANGUAGE"]) : ""); if (strlen($language) > 5 || strpos($language, ";") !== false) { $parts = explode(";", $language); if (count($parts) > 0) { $language = $parts[0]; } else { $language = substr($language, 0, 5); } } if (strlen($language) >= 2) { $parts = explode("-", $language); if (!isset($LANGUAGES[$language])) { $language = $parts[0]; if (!isset($LANGUAGES[$language])) { if (DEBUG_MODE) { logit(@$_SERVER["HTTP_ACCEPT_LANGUAGE"] . " - " . $language, LIVEZILLA_PATH . "_log/missing_language.txt"); } $language = ""; } } if (count($parts) > 1 && isset($COUNTRIES[$parts[1]])) { $country = $parts[1]; } } else { if (strlen($language) < 2) { $language = ""; } } return array($language, $country); }
function Load() { global $INTERNAL; $this->Status = CHAT_STATUS_OPEN; $this->AppendFromCookies(); $this->LastActive = time(); $this->ChatRequestReceiptants = array(); $result = queryDB(true, "SELECT * FROM `" . DB_PREFIX . DATABASE_VISITOR_CHATS . "` WHERE `visitor_id`='" . @mysql_real_escape_string($this->UserId) . "' AND `browser_id`='" . @mysql_real_escape_string($this->BrowserId) . "' ORDER BY `first_active` DESC LIMIT 2;"); if ($result) { while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { if (empty($row["external_close"])) { $this->FirstCall = !empty($row["exit"]); $this->SetValues($row); } else { if (!empty($row["request_operator"]) && empty($this->DesiredChatPartner)) { $this->DesiredChatPartner = $row["request_operator"]; } } } } initData(true); $result = queryDB(true, "SELECT * FROM `" . DB_PREFIX . DATABASE_VISITOR_CHAT_OPERATORS . "` WHERE `chat_id`='" . @mysql_real_escape_string($this->ChatId) . "' AND `declined`=0;"); while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { if (isset($INTERNAL[$row["user_id"]])) { $this->ChatRequestReceiptants[] = $row["user_id"]; $this->InternalUser = $INTERNAL[$row["user_id"]]; } } }
} else { if ($_GET[GET_EXTERN_TEMPLATE] == "lz_chat_frame.1.1") { $html = getFile(PATH_FRAMES . $_GET[GET_EXTERN_TEMPLATE] . ".tpl"); if (isset($_GET[GET_EXTERN_USER_HEADER]) && !empty($_GET[GET_EXTERN_USER_HEADER])) { $html = str_replace("<!--logo-->", "<img src=\"" . base64UrlDecode($_GET[GET_EXTERN_USER_HEADER]) . "\" border=\"0\"><br>", $html); } else { if (!empty($CONFIG["gl_cali"])) { $html = str_replace("<!--logo-->", "<img src=\"" . $CONFIG["gl_cali"] . "\" border=\"0\"><br>", $html); } } if (!empty($CONFIG["gl_cahi"])) { $html = str_replace("<!--background-->", "<img src=\"" . $CONFIG["gl_cahi"] . "\" border=\"0\"><br>", $html); } } else { if ($_GET[GET_EXTERN_TEMPLATE] == "lz_chat_frame.3.2.chat.0.0" && isset($_GET[GET_EXTERN_GROUP])) { initData(array("GROUPS")); $groupid = base64_decode($_GET[GET_EXTERN_GROUP]); if (!empty($groupid) && isset($GROUPS[$groupid])) { $html = getFile(PATH_FRAMES . $_GET[GET_EXTERN_TEMPLATE] . ".tpl"); $html = str_replace("<!--SM_HIDDEN-->", empty($GROUPS[$groupid]->ChatFunctions[0]) ? "none" : "", $html); $html = str_replace("<!--SO_HIDDEN-->", empty($GROUPS[$groupid]->ChatFunctions[1]) ? "none" : "", $html); $html = str_replace("<!--PR_HIDDEN-->", empty($GROUPS[$groupid]->ChatFunctions[2]) ? "none" : "", $html); $html = str_replace("<!--RA_HIDDEN-->", empty($GROUPS[$groupid]->ChatFunctions[3]) ? "none" : "", $html); $html = str_replace("<!--FV_HIDDEN-->", empty($GROUPS[$groupid]->ChatFunctions[4]) ? "none" : "", $html); $html = str_replace("<!--FU_HIDDEN-->", empty($GROUPS[$groupid]->ChatFunctions[5]) ? "none" : "", $html); $html = str_replace("<!--post_chat_html-->", $GROUPS[$groupid]->PostHTML, $html); } } else { if ($_GET[GET_EXTERN_TEMPLATE] == "lz_chat_frame.3.2.chat.1.0") { $html = getFile(PATH_FRAMES . $_GET[GET_EXTERN_TEMPLATE] . ".tpl"); if (isset($_POST[POST_EXTERN_USER_USERID])) {
$TRACKINGSCRIPT = str_replace("<!--user_email-->", $email, $TRACKINGSCRIPT); $TRACKINGSCRIPT = str_replace("<!--height-->", $CONFIG["wcl_window_height"], $TRACKINGSCRIPT); $TRACKINGSCRIPT = str_replace("<!--width-->", $CONFIG["wcl_window_width"], $TRACKINGSCRIPT); $TRACKINGSCRIPT = str_replace("<!--get_track_params-->", getParams("", array("ws" => true, "ecsgs" => true, "ecsge" => true, "ecsc" => true, "ecsy" => true, "ecsx" => true, "ecsb" => true, "ecsa" => true, "ecslw" => true, "echc" => true, "ecfs" => true, "ecfe" => true, "echt" => true, "echst" => true, "ecoht" => true, "ecohst" => true, "ovlto" => true, "ovlt" => true, "ovlp" => true, "ovlml" => true, "ovlmr" => true, "ovlmt" => true, "ovlmb" => true, "ovls" => true, "ovloo" => true, "ovlc" => true, "ovlapo" => true, "ovlct" => true, GET_EXTERN_GROUP => true, "intid" => true, "pref" => true, "cboo" => true, "hg" => true, "fbpos" => false, "fbw" => false, "fbh" => false, "fbshx" => false, "fbshy" => false, "fbshb" => false, "fbshc" => false, "fbmt" => false, "fbmr" => false, "fbmb" => false, "fbml" => false, "fboo" => false, "eca" => true, "ecw" => true, "ech" => true, "ecmb" => true, "ecml" => true, "cf0" => true, "cf1" => true, "cf2" => true, "cf3" => true, "cf4" => true, "cf5" => true, "cf6" => true, "cf7" => true, "cf8" => true, "cf9" => true)), $TRACKINGSCRIPT); $TRACKINGSCRIPT = str_replace("<!--server-->", LIVEZILLA_URL, $TRACKINGSCRIPT); } else { $TRACKINGSCRIPT = "lz_tracking_set_sessid(\"" . base64_encode(CALLER_USER_ID) . "\",\"" . base64_encode(CALLER_BROWSER_ID) . "\");"; if (BaseURL::IsInputURL() && strpos(BaseURL::GetInputURL(), GET_INTERN_COBROWSE) !== false) { abortTracking(1); } $BROWSER = VisitorBrowser::FromCache(CALLER_USER_ID, CALLER_BROWSER_ID); $EXTERNALUSER->AddBrowser($BROWSER); if ($EXTERNALUSER->FirstCall && !$BROWSER->GetFirstCall()) { $EXTERNALUSER->FirstCall = false; } initData(array("INTERNAL", "FILTERS", "EVENTS")); define("IS_FILTERED", $FILTERS->Match(getIP(), formLanguages(!empty($_SERVER["HTTP_ACCEPT_LANGUAGE"]) ? $_SERVER["HTTP_ACCEPT_LANGUAGE"] : ""), CALLER_USER_ID)); define("IS_FLOOD", $BROWSER->GetFirstCall() && Filter::IsFlood(getIP(), CALLER_USER_ID)); if (IS_FILTERED || IS_FLOOD || !empty($_GET["deactr"]) || getCookieValue(OO_TRACKING_FILTER_NAME) != null) { if (!IS_FILTERED) { Filter::Create($_SERVER["REMOTE_ADDR"], CALLER_USER_ID, OO_TRACKING_FILTER_NAME, isset($_GET["deactr"]) && is_int($_GET["deactr"]) ? $_GET["deactr"] : 365, true, true); } $monitoringActive = false; abortTracking(556); } $BROWSER->Customs = getCustomArray($BROWSER->Customs); if ($INPUTS[111]->IsServerInput()) { $BROWSER->Fullname = cutString($INPUTS[111]->GetServerInput(), 255); } else { if ($INPUTS[111]->Cookie) { $BROWSER->Fullname = getCookieValue("form_111");
function reloadGroups($_user, $_overlay = false, $_preSelect = true, $_declined = false) { global $CONFIG, $INTERNAL, $GROUPS; initData(array("INTERNAL", "FILTERS")); $grParam = UserGroup::ReadParams(); $opParam = Operator::ReadParams(); if (!empty($grParam) && empty($_user->Browsers[0]->DesiredChatGroup)) { $_user->Browsers[0]->DesiredChatGroup = $grParam; } if (!empty($opParam)) { $_user->Browsers[0]->DesiredChatPartner = Operator::GetSystemId($opParam); } $groupbuilder = new GroupBuilder($INTERNAL, $GROUPS, $CONFIG, $_user->Browsers[0]->DesiredChatGroup, $_user->Browsers[0]->DesiredChatPartner); $groupbuilder->Generate($_user); if (!empty($opParam)) { $_user->Browsers[0]->DesiredChatPartner = Operator::GetSystemId($opParam); } $groupsAvailable = parseBool($groupbuilder->GroupAvailable || isset($_POST[GET_EXTERN_RESET]) && strlen($groupbuilder->ErrorHTML) <= 2); $_preSelect = $_preSelect ? base64UrlEncode($_user->Browsers[0]->DesiredChatGroup) : ""; $_user->AddFunctionCall("lz_chat_set_groups(" . $groupsAvailable . ",\"" . $groupbuilder->Result . "\" ," . $groupbuilder->ErrorHTML . ",'" . $_preSelect . "');", false); if (!$_overlay) { $_user->AddFunctionCall("lz_chat_release(" . $groupsAvailable . "," . $groupbuilder->ErrorHTML . ");", false); } return $_user; }