Esempio n. 1
0
 public static function BtnUpdateRecord()
 {
     if (Is::ValidRequest($form_name_id)) {
         if (Controller::ExecuteNonQuery($query_name_update, $params)) {
             Dialog::RequestRecordSaved();
         } else {
             Dialog::RequestError();
         }
     }
 }
function processStatus()
{
    if (isset($_POST[POST_INTERN_USER_STATUS])) {
        if (Is::Defined("LOGIN") && Server::$Operators[CALLER_SYSTEM_ID]->Status == USER_STATUS_OFFLINE) {
            return;
        }
        if (Server::$Operators[CALLER_SYSTEM_ID]->Status != $_POST[POST_INTERN_USER_STATUS] || !empty($_POST["p_groups_status"]) || isset($_POST[POST_GLOBAL_TYPING]) && Server::$Operators[CALLER_SYSTEM_ID]->Typing != $_POST[POST_GLOBAL_TYPING]) {
            if (isset($_POST[POST_GLOBAL_TYPING])) {
                Server::$Operators[CALLER_SYSTEM_ID]->Typing = $_POST[POST_GLOBAL_TYPING];
            }
            CacheManager::FlushKey(DATA_CACHE_KEY_OPERATORS);
            Server::$Operators[CALLER_SYSTEM_ID]->Status = $_POST[POST_INTERN_USER_STATUS];
            if (!empty($_POST["p_groups_status"])) {
                Server::$Operators[CALLER_SYSTEM_ID]->GroupsAway = array();
                $i = 0;
                while (isset($_POST["p_groups_status_" . $i])) {
                    Server::$Operators[CALLER_SYSTEM_ID]->GroupsAway[] = $_POST["p_groups_status_" . $i++];
                }
            }
        }
    }
}
 static function TriggerEvents()
 {
     if (count(Server::$Events) == 0) {
         return;
     }
     $actionData = "";
     $url = VisitorMonitoring::$Browser->History[count(VisitorMonitoring::$Browser->History) - 1];
     $previous = count(VisitorMonitoring::$Browser->History) > 1 ? VisitorMonitoring::$Browser->History[count(VisitorMonitoring::$Browser->History) - 2]->Url->GetAbsoluteUrl() : "";
     foreach (Server::$Events->Events as $event) {
         if (!$event->IsActive || empty($url)) {
             continue;
         }
         $urlor = count($event->FunnelUrls) == 0 && $event->MatchesURLCriterias($url->Url->GetAbsoluteUrl(), $url->Referrer->GetAbsoluteUrl(), $previous, time() - $url->Entrance);
         $urlfunnel = count($event->FunnelUrls) > 0 && $event->MatchesURLFunnelCriterias(VisitorMonitoring::$Browser->History);
         $global = $event->MatchesGlobalCriterias(count(VisitorMonitoring::$Browser->History), VisitorMonitoring::$Visitor->ExitTime - VisitorMonitoring::$Visitor->FirstActive, VisitorMonitoring::$Visitor->HasAcceptedChatRequest, VisitorMonitoring::$Visitor->HasDeclinedChatRequest, VisitorMonitoring::$Visitor->WasInChat(), VisitorMonitoring::$Browser->Query, VisitorMonitoring::$IsMobile || VisitorMonitoring::$IsTablet, VisitorMonitoring::$Visitor->GeoCountryISO2);
         if ($global && ($urlfunnel || $urlor)) {
             foreach (array($event->Goals, $event->Actions) as $elements) {
                 foreach ($elements as $action) {
                     $EventTrigger = new EventTrigger(CALLER_USER_ID, CALLER_BROWSER_ID, $action->Id, time(), 1);
                     $EventTrigger->Load();
                     $aexists = $action->Exists(CALLER_USER_ID, CALLER_BROWSER_ID);
                     if (!$EventTrigger->Exists || $EventTrigger->Exists && $event->MatchesTriggerCriterias($EventTrigger)) {
                         if (!$aexists) {
                             if ($event->SaveInCookie) {
                                 if (!Is::Null(Cookie::Get("ea_" . $action->Id))) {
                                     continue;
                                 } else {
                                     Cookie::Set("ea_" . $action->Id, time());
                                 }
                             }
                             $EventTrigger->Save($event->Id);
                             if ($action->Type < 2) {
                                 foreach ($action->GetInternalReceivers() as $user_id) {
                                     $intaction = new EventActionInternal($user_id, $EventTrigger->Id);
                                     $intaction->Save();
                                 }
                             } else {
                                 if ($action->Type == 2 && !defined("EVENT_INVITATION")) {
                                     $sender = getActionSender($action->Invitation->Senders, true);
                                     Server::InitDataBlock(array("GROUPS"));
                                     if (!empty($sender) && !empty(Server::$Groups[$sender->GroupId]) && Server::$Groups[$sender->GroupId]->IsHumanAvailable(false) && !(VisitorMonitoring::$Browser->ChatRequest != null && !VisitorMonitoring::$Browser->ChatRequest->Closed) && !VisitorMonitoring::$Visitor->IsInChat(false, null, true)) {
                                         define("EVENT_INVITATION", true);
                                         $chatrequest = new ChatRequest($sender->UserSystemId, $sender->GroupId, CALLER_USER_ID, CALLER_BROWSER_ID, getActionText($sender, $action));
                                         $chatrequest->EventActionId = $action->Id;
                                         $chatrequest->Save();
                                         if (!$chatrequest->Displayed) {
                                             VisitorMonitoring::$Browser->ForceUpdate();
                                         }
                                         VisitorMonitoring::$Browser->ChatRequest = $chatrequest;
                                     }
                                 } else {
                                     if ($action->Type == 3 && !defined("EVENT_ALERT")) {
                                         define("EVENT_ALERT", true);
                                         $alert = new Alert(CALLER_USER_ID, CALLER_BROWSER_ID, $action->Value);
                                         $alert->EventActionId = $action->Id;
                                         $alert->Save();
                                         VisitorMonitoring::$Browser->LoadAlerts();
                                     } else {
                                         if ($action->Type == 4 && !defined("EVENT_WEBSITE_PUSH")) {
                                             define("EVENT_WEBSITE_PUSH", true);
                                             $sender = getActionSender($action->WebsitePush->Senders, false);
                                             $websitepush = new WebsitePush($sender->UserSystemId, $sender->GroupId, CALLER_USER_ID, CALLER_BROWSER_ID, getActionText($sender, $action), $action->WebsitePush->Ask, $action->WebsitePush->TargetURL);
                                             $websitepush->EventActionId = $action->Id;
                                             $websitepush->Save();
                                             VisitorMonitoring::$Browser->LoadWebsitePush();
                                         } else {
                                             if ($action->Type == 5 && !defined("EVENT_OVERLAY_BOX")) {
                                                 define("EVENT_OVERLAY_BOX", true);
                                                 $overlaybox = new OverlayBox(CALLER_USER_ID, CALLER_BROWSER_ID, $action->Value);
                                                 $overlaybox->EventActionId = $action->Id;
                                                 $overlaybox->Save();
                                                 VisitorMonitoring::$Browser->LoadOverlayBoxes();
                                             } else {
                                                 if ($action->Type == 9 && STATS_ACTIVE) {
                                                     Server::$Statistic->ProcessAction(ST_ACTION_GOAL, array(CALLER_USER_ID, $action->Id, VisitorMonitoring::$Visitor->Visits == 1 ? 1 : 0, VisitorMonitoring::$Browser->GetQueryId(Cookie::Get("sp"), null, 255, true)));
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                     if ($EventTrigger->Exists && $aexists) {
                         $EventTrigger->Update();
                     }
                 }
             }
         }
     }
     return $actionData;
 }
Esempio n. 4
0
<?php

namespace Core;

if (!Is::app('PHPfox_FeaturedUsers')) {
    return false;
}
new Payment\Event('featured-users', function (\Core\Payment\Object $payment) {
    $payment->log('Event touchdown...');
    if ($payment->success()) {
        $payment->log('Setting user "' . $payment->item_number . '" to be featured.');
        $db = new Db();
        $cache = new Cache();
        try {
            $user = (new \Api\User())->get($payment->item_number);
            $total = (int) $db->select('*')->from(':user_featured')->count();
            $total++;
            $db->delete(':user_featured', ['user_id' => $user->id]);
            $db->insert(':user_featured', ['user_id' => $user->id, 'ordering' => $total]);
            $cache->del('featured_users');
        } catch (\Exception $e) {
            $payment->log($e->getMessage());
        }
    }
});
new Route('/featured-users/thanks', function (Controller $controller) {
    return $controller->render('thanks.html');
});
new Route('/featured-users/pay', function (Controller $controller) {
    $auth = new Auth\User();
    $auth->membersOnly();
 function LoadTopTable($_id, $_maxlength, $_tables, $_fields, $_blanks, $_relSource, $_isURL = false, $_countField = "amount", $_orderField = "amount", $_direction = "DESC")
 {
     $counter = 0;
     if ($_relSource > 0) {
         if (count($_tables) == 2) {
             $_blanks = $_blanks ? "" : " AND `" . DB_PREFIX . DBManager::RealEscape($_tables[1]) . "`.`" . DBManager::RealEscape($_fields[0]) . "`!=''";
             $result = DBManager::Execute(true, "SELECT `" . DB_PREFIX . DBManager::RealEscape($_tables[1]) . "`.`" . DBManager::RealEscape($_fields[0]) . "`,`" . $_countField . "` FROM `" . DB_PREFIX . DBManager::RealEscape($_tables[0]) . "` INNER JOIN `" . DB_PREFIX . DBManager::RealEscape($_tables[1]) . "` ON `" . DB_PREFIX . DBManager::RealEscape($_tables[0]) . "`.`" . DBManager::RealEscape($_fields[1]) . "`=`" . DB_PREFIX . DBManager::RealEscape($_tables[1]) . "`.`id` WHERE " . $this->GetDateMatch() . $_blanks . "  ORDER BY `" . $_orderField . "` " . $_direction . "  LIMIT " . DBManager::RealEscape(StatisticProvider::$DayItemAmount) . ";");
         } else {
             $result = DBManager::Execute(true, "SELECT `" . DB_PREFIX . DBManager::RealEscape($_tables[0]) . "`.`" . DBManager::RealEscape($_fields[0]) . "`,`" . $_countField . "` FROM `" . DB_PREFIX . DBManager::RealEscape($_tables[0]) . "` WHERE " . $this->GetDateMatch() . " ORDER BY `" . $_orderField . "` " . $_direction . "  LIMIT " . DBManager::RealEscape(StatisticProvider::$DayItemAmount) . ";");
         }
         $values = array();
         while ($row = DBManager::FetchArray($result)) {
             if (!Is::Null(trim($row[$_fields[0]]))) {
                 if ($_id != 6) {
                     $row[$_fields[0]] = $_isURL ? "<a href=\"" . @htmlentities(StatisticProvider::$Dereferrer . $row[$_fields[0]], ENT_QUOTES, 'UTF-8') . "\" target=\"_blank\">" . @htmlentities(substr($row[$_fields[0]], 0, $_maxlength), ENT_QUOTES, 'UTF-8') . "</a>" : @htmlentities(substr($row[$_fields[0]], 0, $_maxlength), ENT_QUOTES, 'UTF-8');
                 } else {
                     $row[$_fields[0]] = $row[$_fields[0]];
                 }
                 $title = $row[$_fields[0]];
             } else {
                 $title = "<!--lang_stats_unknown-->";
             }
             if (!isset($values[$title])) {
                 $values[$title] = 0;
             }
             $values[$title] += $row[$_countField];
         }
         foreach ($values as $title => $amount) {
             $this->Tops[$_id][++$counter] = array($title, @round(100 * $amount / $_relSource, StatisticProvider::$RoundPrecision), 100 - 100 * $amount / $_relSource, $amount);
         }
     }
     if ($counter == 0) {
         $this->Tops[$_id][++$counter] = array("<!--lang_stats_none-->", 0, 100, 0);
     }
 }
Esempio n. 6
0
<?php

namespace Sized140;

include __DIR__ . '/../Sized140.php';
$userMapping = ['name' => ['string', '/^[\\S]{3,}$/'], 'email' => ['email']];
class User
{
    public $name;
    public $email;
}
$alice = new User();
$alice->name = 'Alice';
$alice->email = '*****@*****.**';
$is = new Is();
$is->r = ['string' => '/^[\\S]+$/', 'email' => '/^\\S+@\\S+\\.\\S+$/'];
$errors = $is->ok($alice, $userMapping);
if (count($errors) == 0) {
    echo "\ntests pass Yes\n";
    exit(0);
}
var_dump($errors);
echo "\ntests Fail\n";
exit(1);
            $response = utf8_encode("<?xml version=\"1.0\" encoding=\"UTF-8\" ?><livezilla_js>" . base64_encode(isset($EXTERNSCRIPT) ? $EXTERNSCRIPT : "") . "</livezilla_js>");
        } else {
            if (isset($_POST[POST_INTERN_REQUEST]) && $_POST[POST_INTERN_REQUEST] == CALLER_TYPE_INTERNAL) {
                define("CALLER_TYPE", CALLER_TYPE_INTERNAL);
                define("CALLER_TIMEOUT", Server::$Configuration->File["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 ($getRequest == "cronjob" && !empty($_GET["cjid"]) && $_GET["cjid"] == Server::$Configuration->File["gl_cjid"]) {
                    define("CALLER_TYPE", "cronjob");
                    define("CALLER_TIMEOUT", 360);
                    Server::InitDataBlock(array("INTERNAL", "GROUPS"));
                    $response = DB_CONNECTION ? "Success" : "No database connection";
                }
            }
        }
    }
    //if(DB_CONNECTION && Is::Defined("CALLER_TYPE") && (!empty(Server::$Configuration->File["gl_cjfs"])||CALLER_TYPE=="cronjob") && !Is::Defined("SERVERSETUP") && !Is::Defined("LOGIN"))
    if (DB_CONNECTION && Is::Defined("CALLER_TYPE") && !Is::Defined("SERVERSETUP") && !Is::Defined("LOGIN")) {
        Server::RunCronJobs(false);
    }
}
if (!isset($response)) {
    exit(IOStruct::GetFile(TEMPLATE_HTML_SUPPORT));
}
Communication::SendPushMessages();
Server::UnloadDataProvider();
exit($response);
function getChatVoucherTemplate($html = "")
{
    Server::InitDataBlock(array("DBCONFIG"));
    if (!Is::Defined("DB_CONNECTION") || !empty(Server::$Configuration->Database["ccpp"]["Custom"])) {
        return "";
    }
    if (!empty(Server::$Configuration->File["gl_ccac"])) {
        foreach (Server::$Configuration->Database["cct"] as $type) {
            $html .= $type->GetTemplate();
        }
    }
    $cchtml = IOStruct::GetFile(PATH_TEMPLATES . "chat_voucher_checkout.tpl");
    $mycountry = "";
    $replacements = array("<!--lp_company-->" => "", "<!--lp_firstname-->" => "", "<!--lp_email-->" => "", "<!--lp_lastname-->" => "", "<!--lp_taxid-->" => "", "<!--lp_business_type-->" => "", "<!--lp_address_1-->" => "", "<!--lp_address_2-->" => "", "<!--lp_city-->" => "", "<!--lp_state-->" => "", "<!--lp_country-->" => "", "<!--lp_phone-->" => "", "<!--lp_zip-->" => "");
    $prefillco = !empty($_GET["co"]) ? " OR id='" . DBManager::RealEscape(Encoding::Base64UrlDecode($_GET["co"])) . "'" : "";
    if (!Is::Null(Cookie::Get("userid")) || !empty($prefillco)) {
        $result = DBManager::Execute(true, "SELECT * FROM `" . DB_PREFIX . DATABASE_COMMERCIAL_CHAT_VOUCHERS . "` WHERE `visitor_id`='" . DBManager::RealEscape(Cookie::Get("userid")) . "'" . $prefillco . " ORDER BY `created` DESC LIMIT 1;");
        if ($result) {
            if ($row = DBManager::FetchArray($result)) {
                $replacements = array("<!--lp_company-->" => $row["company"], "<!--lp_firstname-->" => $row["firstname"], "<!--lp_lastname-->" => $row["lastname"], "<!--lp_taxid-->" => $row["tax_id"], "<!--lp_email-->" => $row["email"], "<!--lp_business_type-->" => $row["business_type"], "<!--lp_address_1-->" => $row["address_1"], "<!--lp_address_2-->" => $row["address_2"], "<!--lp_city-->" => $row["city"], "<!--lp_state-->" => $row["state"], "<!--lp_country-->" => $row["country"], "<!--lp_phone-->" => $row["phone"], "<!--lp_zip-->" => $row["zip"]);
                $mycountry = $row["country"];
            }
        }
    }
    $clist = Server::$Countries;
    asort($clist);
    $countrieshtml = "";
    foreach ($clist as $isokey => $value) {
        if (!empty($isokey)) {
            $countrieshtml .= $isokey == $mycountry ? "<option value=\"" . $isokey . "\" SELECTED>" . utf8_encode($value) . "</option>" : "<option value=\"" . $isokey . "\">" . utf8_encode($value) . "</option>";
        }
    }
    $cchtml = str_replace("<!--countries-->", $countrieshtml, $cchtml);
    foreach ($replacements as $key => $value) {
        $cchtml = str_replace($key, $value, $cchtml);
    }
    $cchtml = str_replace("<!--show_VAT-->", !empty(Server::$Configuration->File["gl_ccsv"]) ? "''" : "none", $cchtml);
    $cchtml = str_replace("<!--voucher_form-->", $html, $cchtml);
    if (!empty(Server::$Configuration->Database["ccpp"]["PayPal"]->LogoURL)) {
        $cchtml = str_replace("<!--pp_logo_url-->", " src=\"" . Server::$Configuration->Database["ccpp"]["PayPal"]->LogoURL . "\"", $cchtml);
    } else {
        $cchtml = str_replace("<!--pp_logo_url-->", "", $cchtml);
    }
    $cchtml = str_replace("<!--extends_voucher-->", !empty($_GET["co"]) && strlen(Encoding::Base64UrlDecode($_GET["co"])) == 16 ? Encoding::Base64UrlDecode($_GET["co"]) : "", $cchtml);
    $cchtml = str_replace("<!--ofc-->", !empty($_GET["ofc"]) ? "MQ__" : "", $cchtml);
    $cchtml = str_replace("<!--VAT-->", str_replace("<!--VAT-->", Server::$Configuration->File["gl_ccva"], LocalizationManager::$TranslationStrings["client_voucher_include_vat"]), $cchtml);
    return $cchtml;
}
 private function SEND_PHP_MAIL($_receiver = "", $result = "", $_html = false)
 {
     if (strpos($_receiver, ",") !== false) {
         $emails = explode(",", $_receiver);
         foreach ($emails as $mail) {
             if (!empty($mail) && !Is::Null(strpos($mail, "@"))) {
                 $result = $this->SEND_PHP_MAIL(trim($mail), $result);
             }
         }
         return $result;
     }
     $mailtext = $this->MailBodyText;
     $ehash = md5(date('r', time()));
     $EOL = "\r\n";
     if (empty($this->FakeSender)) {
         $headers = "From: " . $this->Mailbox->Email . $EOL;
     } else {
         $headers = "From: " . $this->FakeSender . $EOL;
     }
     $headers .= "Reply-To: " . $this->ReplyTo . $EOL;
     $headers .= "Date: " . date("r") . $EOL;
     $headers .= "MIME-Version: 1.0" . $EOL;
     $headers .= "X-Mailer: LiveZilla.net/" . VERSION . $EOL;
     if ($this->Attachments != null) {
         $headers .= "Content-Type: multipart/mixed; boundary=\"" . $ehash . "\"" . $EOL . $EOL;
         $headers .= "--" . $ehash . $EOL;
         $headers .= "Content-Type: text/plain; charset=UTF-8; format=flowed" . $EOL;
         $headers .= "Content-Transfer-Encoding: 8bit" . $EOL . $EOL;
         $headers .= $mailtext . $EOL . $EOL;
         $headers .= "--" . $ehash . $EOL;
         foreach ($this->Attachments as $resId) {
             $res = KnowledgeBaseEntry::GetById($resId);
             if ($res == null) {
                 continue;
             }
             $content = chunk_split(base64_encode(file_get_contents("./uploads/" . $res["value"])));
             $headers .= "Content-Type: application/octet-stream; name=\"" . $res["title"] . "\"" . $EOL;
             $headers .= "Content-Transfer-Encoding: base64" . $EOL;
             $headers .= "Content-Disposition: attachment; filename=\"" . $res["title"] . "\"" . $EOL . $EOL;
             $headers .= $content . $EOL . $EOL;
             $headers .= "--" . $ehash . $EOL;
         }
         $mailtext = "";
         $headers .= "--" . $ehash . "--" . $EOL;
     } else {
         $headers .= "Content-Type: text/plain; charset=UTF-8; format=flowed" . $EOL;
         $headers .= "Content-Transfer-Encoding: 8bit" . $EOL . $EOL;
     }
     if (@mail($_receiver, $this->Subject, $mailtext, $headers)) {
         return 1;
     } else {
         return "The email could not be sent using PHP mail(). Please try another Return Email Address or use SMTP.";
     }
 }
 function GetPredefinedOperator($_user, &$direct_target, $_allowBots, $_requireBot, $desired = "")
 {
     if (!empty($this->TargetOperatorSystemId) && isset(Server::$Operators[$this->TargetOperatorSystemId]) && Server::$Operators[$this->TargetOperatorSystemId]->Status < USER_STATUS_OFFLINE) {
         if (!(!empty($this->TargetGroupId) && !in_array($this->TargetGroupId, Server::$Operators[$this->TargetOperatorSystemId]->GetGroupList(true)))) {
             $desired = $this->TargetOperatorSystemId;
         }
     } else {
         $this->TargetOperatorSystemId = null;
         $opParam = Operator::ReadParams();
         if (!empty($opParam)) {
             $desired = $direct_target = Operator::GetSystemId($opParam);
         } else {
             if (!Is::Null(Cookie::Get("internal_user")) && !empty(Server::$Configuration->File["gl_save_op"])) {
                 $desired = Operator::GetSystemId(Cookie::Get("internal_user"));
                 if (!empty(Server::$Operators[$desired]) && !(!empty($this->TargetGroupId) && !in_array($this->TargetGroupId, Server::$Operators[$desired]->GetGroupList(true)))) {
                     $direct_target = $desired;
                 } else {
                     $desired = "";
                 }
             } else {
                 if (empty($desired) && !empty(Server::$Configuration->File["gl_save_op"])) {
                     $desired = $_user->GetLastChatOperator(true);
                 }
             }
         }
     }
     if (!empty($desired) && Server::$Operators[$desired]->MobileSleep($_user->Browsers[0])) {
         $this->TargetOperatorSystemId = $desired = "";
     } else {
         if (!empty($desired) && !$_allowBots && Server::$Operators[$desired]->IsBot) {
             $this->TargetOperatorSystemId = $desired = "";
         } else {
             if (!empty($desired) && $_requireBot && !Server::$Operators[$desired]->IsBot) {
                 $this->TargetOperatorSystemId = $desired = "";
             }
         }
     }
     return $desired;
 }
Esempio n. 11
0
/****************************************************************************************
* LiveZilla getfile.php
* 
* 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 . "_definitions/definitions.protocol.inc.php";
require LIVEZILLA_PATH . "_lib/functions.global.inc.php";
require LIVEZILLA_PATH . "_definitions/definitions.dynamic.inc.php";
if (isset($_GET["id"]) && Server::InitDataProvider()) {
    $id = $_GET["id"];
    if (strpos($id, ".") === false && !Is::Null($res = KnowledgeBaseEntry::GetById($id))) {
        if (file_exists("./uploads/" . $res["value"]) && strpos($res["value"], "..") === false) {
            header('Content-Description: File Transfer');
            header('Content-Type: application/octet-stream');
            header('Content-Length: ' . filesize("./uploads/" . $res["value"]));
            header('Content-Disposition: attachment; filename=' . urlencode($res["title"]));
            exit(file_get_contents("./uploads/" . $res["value"]));
        }
    }
}
header("HTTP/1.0 404 Not Found");
 static function GetTranslationData($translation = "")
 {
     global $LZLANG;
     if (OperatorRequest::IsValidated() && Is::Defined("VALIDATED_FULL_LOGIN") && OperatorRequest::IsAdministrator(true)) {
         Logging::SecurityLog("ServerManager::GetTranslationData", serialize($_POST), CALLER_SYSTEM_ID);
         $langid = $_POST["p_int_trans_iso"];
         if (strpos($langid, "..") === false && strlen($langid) <= 6) {
             $mobile = !empty($_POST["p_int_trans_m"]);
             $mobileOriginal = !empty($_POST["p_int_trans_mo"]);
             $path = !$mobileOriginal ? "_language/" : "mobile/php/translation/";
             IOStruct::RequireDynamic(LocalizationManager::GetLocalizationFileString($langid, true, $mobile, $mobileOriginal), LIVEZILLA_PATH . $path);
             $translation .= "<language key=\"" . base64_encode($langid) . "\">\r\n";
             foreach ($LZLANG as $key => $value) {
                 $translation .= "<val key=\"" . base64_encode($key) . "\">" . base64_encode($value) . "</val>\r\n";
             }
             $translation .= "</language>\r\n";
             Server::$Response->SetStandardResponse(1, $translation);
         } else {
             Server::$Response->SetStandardResponse(0, $translation);
         }
     }
 }
Esempio n. 13
0
@set_time_limit(30);
require LIVEZILLA_PATH . "_definitions/definitions.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/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");
Server::DefineURL("api.php");
Server::InitDataProvider();
Server::InitDataBlock(array("INTERNAL", "INPUTS", "DBCONFIG"));
OperatorRequest::Validate(true);
if (OperatorRequest::IsValidated() && Is::Defined("CALLER_SYSTEM_ID")) {
    if (Server::$Operators[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 {
            APIErrorExit($apiv2->GetErrorCodes());
        }
    } else {
        APIErrorExit("LZAV20002");
    }
} else {
    APIErrorExit("LZAV20001");
}
APIErrorExit("LZAV20000");
 function RemoteActivate($_internalUser)
 {
     if (!Is::Defined("CALLER_SYSTEM_ID")) {
         define("CALLER_SYSTEM_ID", $_internalUser->SystemId);
         $this->InternalActivate();
         if ($_internalUser->IsBot) {
             $this->ExternalActivate();
         } else {
             $this->ExternalWindowActivate();
         }
         $this->SetStatus(CHAT_STATUS_ACTIVE);
     }
 }
 function DetectBrowser($_host = "")
 {
     $BROWSERS = array("msie%" => "Internet Explorer %", "edge%" => "Edge %", "firefox%" => "FireFox %", "opera%" => "Opera %", "chrome%" => "Chrome %", "safari%" => "Safari %", "applewebkit%" => "Safari %", "netscape%" => "Netscape %", "seamonkey%" => "SeaMonkey %", "konqueror%" => "Konqueror %", "iceweasel%" => "Iceweasel %", "nokia" => "Nokia Mini Map", "granparadiso" => "Mozilla Gran Paradiso", "bolt%" => "Bolt %", "lynx%" => "Lynx %", "netfront%" => "Netfront %", "ucbrowser%" => "UC Browser %", "isilox%" => "iSilo %", "amaya" => "Amaya", "flock" => "Flock", "novarravision%" => "Novarra-Vision %", "galeon" => "Galeon", "aol" => "AOL Explorer", "omniweb" => "OmniWeb", "icab" => "iCab", "avant" => "Avant", "kmeleon" => "K-Meleon", "camino" => "Camino", "maxthon" => "Maxthon", "ucweb" => "UCWEB Mobile", "polaris%" => "Polaris %", "netpositive" => "NetPositive", "lynx" => "Lynx", "elinks" => "eLinks", "dillo" => "Dillo", "ibrowse" => "iBrowse", "klondike" => "Klondike WAP", "crazybrowser" => "Crazy Browser", "mauiwapbrowser" => "Maui WAP", "operamini" => "Opera Mini", "thunderbrowse" => "ThunderBrowse", "thunderbird" => "Thunderbird", "shiretoko" => "FireFox 3", "namoroka" => "FireFox 3", "minefield" => "FireFox 4 (Minefield)", "bonecho" => "FireFox 2 (BonEcho)", "blackberry" => "BlackBerry Mobile", "jasmine%" => "Jasmine Mobile V%", "waterfox%" => "Waterfox %", "upbrowser%" => "UP.Browser %", "teleca" => "Teleca", "dolfin%" => "Dolfin %", "obigo" => "Obigo", "midori" => "Midori", "playstation%" => "playstation%", "trident7" => "Internet Explorer 11");
     $BOTS = array("googlebot" => "Google", "amazonaws" => "Amazon AWS", "mediapartners-google" => "Google adsense", "yahoo-verticalcrawler" => "Yahoo", "yahoo!slurp" => "Yahoo", "yahoo-mm" => "Yahoo-MMCrawler / Yahoo-MMAudVid", "inktomi" => "inktomi", "tfbnw" => "Facebook", "facebook" => "Facebook", "slurp" => "inktomi", "fast-webcrawler" => "Fast AllTheWeb", "msnbot" => "MSN / Bing", "askjeeves" => "Ask Jeeves", "teoma" => "Ask Jeeves", "scooter" => "Altavista", "openbot" => "Openbot", "iaarchiver" => "Alexa Crawler", "zyborg" => "Looksmart", "almaden" => "IBM", "baiduspider" => "Baidu", "psbot" => "PSBot", "gigabot" => "Gigabot", "naverbot" => "Naverbot", "surveybot" => "Surveybot", "boithocom-dc" => "Boitho", "answerbus" => "answerbus.com", "sohu-search" => "Sohu", "postrank" => "Postrank", "mailru" => "Mail.ru", "yandex" => "Yandex", "alexacom" => "Alexa.com", "twiceler" => "Twiceler", "jakartacommons" => "Jakarta Commons HttpClient Component", "youdaobot" => "YoudaoBot", "comodo" => "Comodo", "sogouwebspider" => "Sogou", "sosospider" => "Soso", "tineye" => "Tineye", "jobsde" => "Jobs.de", "kscrawler" => "Kindsight", "twengabot" => "Twenga", "zschobot" => "Zscho", "sheenbot" => "SheenBot", "speedyspider" => "Entireweb", "spinn3r" => "spinn3r News Crawler", "exabot" => "Exalead", "nigmaru" => "Nigma.ru", "isrccrawler" => "Microsoft Research (MSR)", "heritrix" => "Archive.org", "www80legscom" => "80legs.com Web Crawler", "mj12bot" => "Majestic-12", "thumbshotsbot" => "ThumbShots", "jobkereso" => "JobKereso", "ayna" => "Ayna.com", "jobroboterspider" => "Job Roboter");
     $MISC = array("w3ccssvalidator" => "W3C CSS Validator", "w3cvalidator" => "W3C (X)HTML Validator", "wdgvalidator" => "WDG Validator", "libwwwperl" => "libwww-perl", "pythonurllib" => "python-urllib", "pycurl" => "Python PycURL", "nessus" => "Nessus Client", "xenulinksleuth" => "Xenu Link Sleuth", "livezilla" => "LiveZilla", "httrack" => "HTTrack", "webcopier" => "WebCopier", "wget" => "WGet", "teleportpro" => "Teleport Pro");
     $ident = isset($_SERVER["HTTP_USER_AGENT"]) ? $_host . $_SERVER["HTTP_USER_AGENT"] : $_host;
     $browser = !empty($ident) ? str_replace(array(' ', '/', '_', '-', '['), array('', '', '', '', ''), strtolower($ident)) : "";
     $lists = array($BOTS, $BROWSERS, $MISC);
     foreach ($lists as $index => $list) {
         foreach ($list as $brkey => $brname) {
             $fixkey = str_replace("%", "", $brkey);
             if (strpos($browser, $fixkey) !== false) {
                 $this->BrowserName = trim(str_replace("%", "", $brname));
                 if ($index == 1) {
                     $this->BrowserVersion = @substr($browser, strpos($browser, $fixkey) + strlen($fixkey), 2);
                     if (!Is::Int($this->BrowserVersion) || Is::Int(@substr($browser, strpos($browser, $fixkey) + strlen($fixkey), 3))) {
                         $this->BrowserVersion = @substr($browser, strpos($browser, $fixkey) + strlen($fixkey), 1);
                     }
                     if (Is::Int($this->BrowserVersion) && $this->BrowserVersion > 0) {
                         $this->Browser = str_replace("%", $this->BrowserVersion, $brname);
                     } else {
                         $this->Browser = str_replace(" %", "", $brname);
                         $this->BrowserVersionUnknown = true;
                     }
                 } else {
                     $this->Browser = $brname;
                     $this->BrowserVersionUnknown = true;
                 }
                 $this->AgentType = $index;
                 return;
             }
         }
     }
 }
 static function Maintain($_randStandard, $_timeouts)
 {
     if (!Is::Defined("NO_DB_LOG")) {
         define("NO_DB_LOG", true);
     }
     if ($_randStandard == 1) {
         if (!STATS_ACTIVE) {
             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_VISITORS . "` WHERE `last_active`<" . DBManager::RealEscape(time() - Server::$Configuration->File["gl_dvhd"] * 86400) . ";");
             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_OPERATOR_STATUS . "` WHERE `" . DB_PREFIX . DATABASE_OPERATOR_STATUS . "`.`confirmed`<" . DBManager::RealEscape(time() - Server::$Configuration->File["gl_dvhd"] * 86400) . ";");
         } else {
             StatisticProvider::DeleteHTMLReports();
         }
         DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_EVENT_TRIGGERS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_VISITORS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_EVENT_TRIGGERS . "`.`receiver_user_id`)");
         DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_CHAT_ARCHIVE . "` WHERE (`html` = '0' OR `html` = '') AND `time` < " . DBManager::RealEscape(time() - $_timeouts[3]));
         DBManager::Execute(true, "UPDATE `" . DB_PREFIX . DATABASE_CHAT_ARCHIVE . "` SET `closed`='" . time() . "' WHERE `chat_type`<>1 AND `closed`<`endtime` AND `endtime`<" . (time() - 1800) . ";");
         DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_CHAT_ARCHIVE . "` WHERE `closed`=0 AND `chat_type`=1 AND NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_VISITOR_CHATS . "` WHERE `chat_id` = `" . DB_PREFIX . DATABASE_CHAT_ARCHIVE . "`.`chat_id`)");
         DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_POSTS . "` WHERE `time` < " . DBManager::RealEscape(time() - $_timeouts[3]));
         DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_POSTS . "` WHERE `persistent` = '0' AND `time` < " . DBManager::RealEscape(time() - $_timeouts[1]));
         DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_POSTS . "` WHERE `repost` = '1' AND `time` < " . DBManager::RealEscape(time() - $_timeouts[0]));
         DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_OPERATOR_LOGINS . "` WHERE `time` < " . DBManager::RealEscape(time() - $_timeouts[1]));
         DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_EVENT_ACTION_INTERNALS . "` WHERE `created` < " . DBManager::RealEscape(time() - $_timeouts[0]));
         DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_PROFILE_PICTURES . "` WHERE `webcam`=1 AND `time` < " . DBManager::RealEscape(time() - $_timeouts[0]));
         $clr = "";
         if (!empty(Server::$Configuration->File["gl_colt"])) {
             $clr = "`create` < " . intval(time() - Server::$Configuration->File["gl_colt"] * 86400) . " AND ";
         }
         DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_USER_DATA . "` WHERE " . $clr . "NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_VISITOR_BROWSERS . "` WHERE `data_id` = `" . DB_PREFIX . DATABASE_USER_DATA . "`.`id`) AND NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_FEEDBACKS . "` WHERE `data_id` = `" . DB_PREFIX . DATABASE_USER_DATA . "`.`id`);");
         DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_FEEDBACKS . "` WHERE `resource_id` != '' AND NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_RESOURCES . "` WHERE `id` = `" . DB_PREFIX . DATABASE_FEEDBACKS . "`.`resource_id`);");
     } else {
         if ($_randStandard == 2) {
             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_ALERTS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_VISITORS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_ALERTS . "`.`receiver_user_id`)");
             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_CHAT_FILES . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_VISITORS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_CHAT_FILES . "`.`visitor_id`)");
             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_CHAT_FORWARDS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_VISITOR_CHATS . "` WHERE `chat_id` = `" . DB_PREFIX . DATABASE_CHAT_FORWARDS . "`.`chat_id`)");
             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_CHAT_REQUESTS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_VISITOR_BROWSERS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_CHAT_REQUESTS . "`.`receiver_browser_id`)");
             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_STATS_AGGS_GOALS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_GOALS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_STATS_AGGS_GOALS . "`.`goal`)");
             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_STATS_AGGS_PAGES . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_VISITOR_DATA_PAGES . "` WHERE `id` = `" . DB_PREFIX . DATABASE_STATS_AGGS_PAGES . "`.`url`)");
             DBManager::Execute(true, "DELETE `" . DB_PREFIX . DATABASE_TICKETS . "` 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 `deleted`=1 AND `time` < " . DBManager::RealEscape(time() - $_timeouts[3]) . ";");
             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_TICKET_CUSTOMS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_TICKETS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_TICKET_CUSTOMS . "`.`ticket_id`)");
             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_TICKET_EDITORS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_TICKETS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_TICKET_EDITORS . "`.`ticket_id`)");
             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_TICKET_LOGS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_TICKETS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_TICKET_LOGS . "`.`ticket_id`)");
             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_TICKET_COMMENTS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_TICKETS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_TICKET_COMMENTS . "`.`ticket_id`)");
             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_TICKET_MESSAGES . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_TICKETS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_TICKET_MESSAGES . "`.`ticket_id`)");
             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_TICKETS . "` WHERE `last_update` < " . DBManager::RealEscape(time() - $_timeouts[1]) . " AND NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_TICKET_MESSAGES . "` WHERE `ticket_id` = `" . DB_PREFIX . DATABASE_TICKETS . "`.`id`)");
             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_TICKET_ATTACHMENTS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_TICKET_MESSAGES . "` WHERE `id` = `" . DB_PREFIX . DATABASE_TICKET_ATTACHMENTS . "`.`parent_id`) AND NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_TICKET_EMAILS . "` WHERE `email_id` = `" . DB_PREFIX . DATABASE_TICKET_ATTACHMENTS . "`.`parent_id`)");
         } else {
             if ($_randStandard == 3) {
                 if (empty(Server::$Configuration->File["gl_vmac"]) && !Is::Defined("STATS_ACTIVE")) {
                     DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_VISITORS . "` WHERE `last_active`<" . (time() - Server::$Configuration->File["timeout_track"]) . " LIMIT 250;");
                 }
                 DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_VISITOR_BROWSERS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_VISITORS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_VISITOR_BROWSERS . "`.`visitor_id`)");
                 DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_VISITOR_BROWSER_URLS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_VISITOR_BROWSERS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_VISITOR_BROWSER_URLS . "`.`browser_id`)");
                 DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_VISITOR_CHATS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_VISITORS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_VISITOR_CHATS . "`.`visitor_id`)");
                 DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_VISITOR_CHAT_OPERATORS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_VISITOR_CHATS . "` WHERE `chat_id` = `" . DB_PREFIX . DATABASE_VISITOR_CHAT_OPERATORS . "`.`chat_id`)");
                 DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_VISITOR_GOALS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_VISITORS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_VISITOR_GOALS . "`.`visitor_id`)");
                 DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_WEBSITE_PUSHS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_VISITOR_BROWSERS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_WEBSITE_PUSHS . "`.`receiver_browser_id`)");
                 DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_OVERLAY_BOXES . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_VISITOR_BROWSERS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_OVERLAY_BOXES . "`.`receiver_browser_id`)");
                 DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_GROUP_MEMBERS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_GROUPS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_GROUP_MEMBERS . "`.`group_id`)");
                 DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_COMMERCIAL_CHAT_LOCALIZATIONS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_COMMERCIAL_CHAT_TYPES . "` WHERE `id` = `" . DB_PREFIX . DATABASE_COMMERCIAL_CHAT_LOCALIZATIONS . "`.`tid`)");
                 DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_COMMERCIAL_CHAT_VOUCHERS . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_COMMERCIAL_CHAT_TYPES . "` WHERE `id` = `" . DB_PREFIX . DATABASE_COMMERCIAL_CHAT_VOUCHERS . "`.`tid`)");
                 DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_TICKET_EMAILS . "` WHERE `deleted`=1 AND `edited` < " . DBManager::RealEscape(time() - $_timeouts[3]));
                 DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_VISITOR_COMMENTS . "` WHERE `created` < " . DBManager::RealEscape(time() - max(1, Server::$Configuration->File["gl_colt"]) * 86400));
             } else {
                 if ($_randStandard == 4) {
                     DBManager::Execute(true, "UPDATE `" . DB_PREFIX . DATABASE_RESOURCES . "` SET `discarded`=1,`edited`=UNIX_TIMESTAMP() WHERE NOT EXISTS(SELECT * FROM `" . DB_PREFIX . DATABASE_TICKET_ATTACHMENTS . "` WHERE `res_id` = `" . DB_PREFIX . DATABASE_RESOURCES . "`.`id`) AND `created` < " . intval(time() - 7 * 86400) . " AND `discarded`=0 AND `type`=3 AND `parentid`=100 LIMIT 10;");
                     if (Server::$Configuration->File["gl_adct"] != 1) {
                         if (!empty(Server::$Configuration->File["gl_rm_chats"])) {
                             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_CHAT_ARCHIVE . "` WHERE `chat_type`=1 AND `time` < " . intval(time() - Server::$Configuration->File["gl_rm_chats_time"]));
                         }
                         if (!empty(Server::$Configuration->File["gl_rm_oc"])) {
                             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_CHAT_ARCHIVE . "` WHERE `chat_type`=0 AND `time` < " . intval(time() - Server::$Configuration->File["gl_rm_oc_time"]));
                         }
                         if (!empty(Server::$Configuration->File["gl_rm_gc"])) {
                             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_CHAT_ARCHIVE . "` WHERE `chat_type`=2 AND `time` < " . intval(time() - Server::$Configuration->File["gl_rm_gc_time"]));
                         }
                         if (!empty(Server::$Configuration->File["gl_rm_rt"])) {
                             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_FEEDBACKS . "` WHERE `created` < " . intval(time() - Server::$Configuration->File["gl_rm_rt_time"]));
                             DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_FEEDBACK_CRITERIA . "` WHERE NOT EXISTS (SELECT * FROM `" . DB_PREFIX . DATABASE_FEEDBACKS . "` WHERE `id` = `" . DB_PREFIX . DATABASE_FEEDBACK_CRITERIA . "`.`fid`)");
                         }
                         if (!empty(Server::$Configuration->File["gl_rm_cf"])) {
                             DBManager::Execute(true, "UPDATE `" . DB_PREFIX . DATABASE_RESOURCES . "` SET `discarded`=1,`edited`=UNIX_TIMESTAMP() WHERE `discarded`=0 AND `type`=4 AND `created` < " . intval(time() - Server::$Configuration->File["gl_rm_cf_time"]) . " ORDER BY `created` ASC LIMIT 5;");
                             if (!empty(Server::$Operators)) {
                                 foreach (Server::$Operators as $sid => $operator) {
                                     if (!$operator->IsBot) {
                                         DBManager::Execute(true, "UPDATE `" . DB_PREFIX . DATABASE_RESOURCES . "` SET `discarded`=1,`edited`=UNIX_TIMESTAMP() WHERE `discarded`=0 AND `type`=3 AND `parentid`='" . DBManager::RealEscape($sid) . "' AND `created` < " . intval(time() - Server::$Configuration->File["gl_rm_cf_time"]) . " ORDER BY `created` ASC LIMIT 5;");
                                     }
                                 }
                             }
                             DBManager::Execute(true, "UPDATE `" . DB_PREFIX . DATABASE_RESOURCES . "` SET `discarded`=1,`edited`=UNIX_TIMESTAMP() WHERE `discarded`=0 AND `type`=0 AND `parentid`=5 AND `created` < " . intval(time() - Server::$Configuration->File["gl_rm_cf_time"]) . " ORDER BY `created` ASC LIMIT 5;");
                         }
                         if (!empty(Server::$Configuration->File["gl_rm_tf"])) {
                             DBManager::Execute(true, "UPDATE `" . DB_PREFIX . DATABASE_RESOURCES . "` SET `discarded`=1,`edited`=UNIX_TIMESTAMP() WHERE `discarded`=0 AND `type`=3 AND `created` < " . intval(time() - Server::$Configuration->File["gl_rm_tf_time"]) . " ORDER BY `created` ASC LIMIT 5;");
                         }
                         if (!empty(Server::$Configuration->File["gl_rm_om"])) {
                             DBManager::Execute(true, "DELETE `" . DB_PREFIX . DATABASE_TICKETS . "` 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 `" . DB_PREFIX . DATABASE_TICKET_MESSAGES . "`.`time` < " . DBManager::RealEscape(time() - Server::$Configuration->File["gl_rm_om_time"]));
                         }
                         if (!empty(Server::$Configuration->File["gl_rm_tid"])) {
                             DBManager::Execute(true, "DELETE `" . DB_PREFIX . DATABASE_TICKETS . "` 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` INNER JOIN `" . DB_PREFIX . DATABASE_TICKET_EDITORS . "` ON `" . DB_PREFIX . DATABASE_TICKETS . "`.`id`=`" . DB_PREFIX . DATABASE_TICKET_EDITORS . "`.`ticket_id` WHERE `" . DB_PREFIX . DATABASE_TICKET_EDITORS . "`.`status`=3 AND `" . DB_PREFIX . DATABASE_TICKET_MESSAGES . "`.`time` < " . DBManager::RealEscape(time() - Server::$Configuration->File["gl_rm_tid_time"]));
                         }
                         if (!empty(Server::$Operators) && !empty(Server::$Configuration->File["gl_rm_bc"])) {
                             foreach (Server::$Operators as $sid => $operator) {
                                 if ($operator->IsBot) {
                                     DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_CHAT_ARCHIVE . "` WHERE `chat_type`=1 AND `internal_id`='" . DBManager::RealEscape($sid) . "' AND `time` < " . DBManager::RealEscape(time() - Server::$Configuration->File["gl_rm_bc_time"]));
                                 }
                             }
                         }
                     }
                     if ($result = DBManager::Execute(true, "SELECT * FROM `" . DB_PREFIX . DATABASE_RESOURCES . "` WHERE `discarded`=1 AND `type` > 2")) {
                         while ($result && ($row = DBManager::FetchArray($result))) {
                             $resultb = DBManager::Execute(true, "SELECT count(value) as `linked` FROM `" . DB_PREFIX . DATABASE_RESOURCES . "` WHERE `value`='" . DBManager::RealEscape($row["value"]) . "';");
                             $rowb = DBManager::FetchArray($resultb);
                             if ($rowb["linked"] == 1) {
                                 @unlink(PATH_UPLOADS . $row["value"]);
                             }
                         }
                     }
                     DBManager::Execute(true, "DELETE FROM `" . DB_PREFIX . DATABASE_RESOURCES . "` WHERE `discarded`='1' AND `edited` < " . DBManager::RealEscape(time() - $_timeouts[3]));
                 }
             }
         }
     }
 }
 static function Replace($_toReplace, $jsa = "")
 {
     $_toReplace = str_replace("<!--geo_url-->", GeoTracking::GetURL() . "?aid=" . Server::$Configuration->File["wcl_geo_tracking"] . "&sid=" . base64_encode(Server::$Configuration->File["gl_lzid"]) . "&dbp=" . Server::$Configuration->File["gl_gtdb"], $_toReplace);
     if (!empty(Server::$Configuration->File["gl_use_ngl"])) {
         if (!Is::Null(trim(Server::$Configuration->File["gl_pr_ngl"]))) {
             $gkey = Server::$Configuration->File["gl_pr_ngl"];
         }
         if (!empty($gkey)) {
             $jsc = "var chars = new Array(";
             $jso = "var order = new Array(";
             $chars = str_split(sha1($gkey . date("d"), false));
             $keys = array_keys($chars);
             shuffle($keys);
             foreach ($keys as $key) {
                 $jsc .= "'" . $chars[$key] . "',";
                 $jso .= $key . ",";
             }
             $jsa .= $jsc . "0);\r\n";
             $jsa .= $jso . "0);\r\n";
             $jsa .= "while(lz_oak.length < (chars.length-1))for(var f in order)if(order[f] == lz_oak.length)lz_oak += chars[f];\r\n";
         }
     }
     $_toReplace = str_replace("<!--calcoak-->", $jsa, $_toReplace);
     $_toReplace = str_replace("<!--mip-->", Communication::GetIP(false, true), $_toReplace);
     return $_toReplace;
 }
Esempio n. 18
0
 } else {
     if (isset($_GET["clch"])) {
         $chat = VisitorChat::FromCache(VisitorMonitoring::$Visitor->UserId, Communication::ReadParameter("clch", ""));
         $chat->ExternalClose();
         $chat->Destroy();
     }
     VisitorMonitoring::$Browser->LastActive = time();
     VisitorMonitoring::$Browser->VisitId = VisitorMonitoring::$Visitor->VisitId;
     $parameters = Communication::GetTargetParameters(false);
     $conline = operatorsAvailable(0, $parameters["exclude"], $parameters["include_group"], $parameters["include_user"], false) > 0;
     VisitorMonitoring::$Browser->OverlayContainer = !empty($_GET["ovlc"]);
     if (VisitorMonitoring::$IsActive) {
         VisitorMonitoring::$Browser->Save();
         if (!empty($currentURL) && (count(VisitorMonitoring::$Browser->History) == 0 || count(VisitorMonitoring::$Browser->History) > 0 && VisitorMonitoring::$Browser->History[count(VisitorMonitoring::$Browser->History) - 1]->Url->GetAbsoluteUrl() != $currentURL->Url->GetAbsoluteUrl())) {
             VisitorMonitoring::$Browser->History[] = $currentURL;
             if (!Is::Null(VisitorMonitoring::$Browser->History[count(VisitorMonitoring::$Browser->History) - 1]->Referrer->GetAbsoluteUrl())) {
                 if (VisitorMonitoring::$Browser->SetQuery(VisitorMonitoring::$Browser->History[count(VisitorMonitoring::$Browser->History) - 1]->Referrer->GetAbsoluteUrl())) {
                     VisitorMonitoring::$Browser->History[count(VisitorMonitoring::$Browser->History) - 1]->Referrer->MarkSearchEngine();
                 }
             }
             VisitorMonitoring::$Browser->History[count(VisitorMonitoring::$Browser->History) - 1]->Save(CALLER_BROWSER_ID, count(VisitorMonitoring::$Browser->History) == 1);
             VisitorMonitoring::$Browser->ForceUpdate();
         } else {
             if (count(VisitorMonitoring::$Browser->History) == 0) {
                 VisitorMonitoring::Abort(11);
             }
         }
         VisitorMonitoring::$Browser->LoadWebsitePush();
         VisitorMonitoring::$Visitor->LoadChatRequests();
         VisitorMonitoring::$Browser->LoadAlerts();
         VisitorMonitoring::$Response .= VisitorMonitoring::TriggerEvents();
Esempio n. 19
0
function is($var)
{
    return Is::_Test($var);
}
 static function GetConfig($xml = "")
 {
     global $_CONFIG;
     $skeys = array("gl_db_host", "gl_db_user", "gl_db_pass", "gl_db_name");
     $hashfile = FILE_CONFIG;
     $cindex = 0;
     foreach ($_CONFIG as $index => $server_val) {
         if (is_array($server_val)) {
             $xml .= "<conf key=\"" . base64_encode($index) . "\">\r\n";
             foreach ($server_val as $skey => $sval) {
                 if (!is_array($sval)) {
                     $xml .= "<sub key=\"" . base64_encode($skey) . "\">" . $sval . "</sub>\r\n";
                 }
             }
             $xml .= "</conf>\r\n";
         } else {
             if (!(is_int($index) && is_array($server_val))) {
                 $xml .= "<conf value=\"" . $server_val . "\" key=\"" . base64_encode($index) . "\" />\r\n";
             }
         }
     }
     $sxml = "";
     foreach ($_CONFIG as $index => $server_val) {
         if (is_int($index) && is_array($server_val)) {
             $sxml .= "<site index=\"" . base64_encode($cindex) . "\">\r\n";
             foreach ($server_val as $key => $site_val) {
                 if (is_array($site_val)) {
                     $sxml .= "<conf key=\"" . base64_encode($key) . "\">\r\n";
                     foreach ($site_val as $skey => $sval) {
                         $sxml .= "<sub key=\"" . base64_encode($skey) . "\">" . $sval . "</sub>\r\n";
                     }
                     $sxml .= "</conf>\r\n";
                 } else {
                     if (!in_array($key, $skeys) || SERVERSETUP) {
                         $sxml .= "<conf value=\"" . $site_val . "\" key=\"" . base64_encode($key) . "\" />\r\n";
                     } else {
                         $sxml .= "<conf value=\"" . base64_encode("") . "\" key=\"" . base64_encode($key) . "\" />\r\n";
                     }
                 }
             }
             $cindex++;
             if (Server::$Configuration->File["gl_host"] == base64_decode($server_val["gl_host"])) {
                 $sxml .= "<db_conf>\r\n";
                 if (!empty(Server::$Configuration->Database["cct"])) {
                     $sxml .= "<cct>\r\n";
                     foreach (Server::$Configuration->Database["cct"] as $cct) {
                         $sxml .= $cct->GetXML();
                     }
                     $sxml .= "</cct>\r\n";
                 }
                 if (!empty(Server::$Configuration->Database["ccpp"])) {
                     $sxml .= "<ccpp>\r\n";
                     foreach (Server::$Configuration->Database["ccpp"] as $ccpp) {
                         $sxml .= $ccpp->GetXML();
                     }
                     $sxml .= "</ccpp>\r\n";
                 }
                 if (!empty(Server::$Configuration->Database["gl_email"])) {
                     $sxml .= "<gl_email>\r\n";
                     foreach (Server::$Configuration->Database["gl_email"] as $mb) {
                         $sxml .= $mb->GetXML();
                     }
                     $sxml .= "</gl_email>\r\n";
                 }
                 if (!empty(Server::$Configuration->Database["gl_fb"])) {
                     $sxml .= "<gl_fbc>\r\n";
                     foreach (Server::$Configuration->Database["gl_fb"] as $fbc) {
                         $sxml .= $fbc->GetXML();
                     }
                     $sxml .= "</gl_fbc>\r\n";
                 }
                 if (!empty(Server::$Configuration->Database["gl_go"])) {
                     $sxml .= "<gl_go>\r\n";
                     foreach (Server::$Configuration->Database["gl_go"] as $goal) {
                         $sxml .= $goal->GetXML();
                     }
                     $sxml .= "</gl_go>\r\n";
                 }
                 $sxml .= "</db_conf>\r\n";
             }
             $sxml .= "</site>\r\n";
         }
     }
     $xml .= $sxml;
     $xml .= "<translations>\r\n";
     $files = IOStruct::ReadDirectory("./_language", "index", true);
     foreach ($files as $translation) {
         if (strpos($translation, ".bak.") === false && endsWith($translation, ".php")) {
             $lang = substr($translation, 4, strlen($translation) - 1);
             $mobile = false;
             if (strpos($lang, "mobile") === 0) {
                 $lang = substr($lang, 6, strlen($lang) - 6);
                 $mobile = true;
             }
             $parts = explode(".", $lang);
             if (ISSUBSITE && strpos($translation, $parts[0] . "." . SUBSITEHOST) !== false || !ISSUBSITE && substr_count($translation, ".") == 1) {
                 $xml .= "<language m=\"" . base64_encode($mobile ? "1" : "0") . "\" key=\"" . base64_encode($parts[0]) . "\" blocked=\"" . base64_encode(@filesize("./_language/" . $translation) == 0 ? 1 : "0") . "\" />\r\n";
             } else {
                 if (ISSUBSITE && strpos($translation, $parts[0] . "." . SUBSITEHOST) === false && !@file_exists(LocalizationManager::GetLocalizationFileString($parts[0], false)) && substr_count($translation, ".") == 1) {
                     $xml .= "<language m=\"" . base64_encode($mobile ? "1" : "0") . "\" key=\"" . base64_encode($parts[0]) . "\" derived=\"" . base64_encode(1) . "\" />\r\n";
                 }
             }
         }
     }
     $xml .= "</translations>\r\n";
     $xml .= "<php_cfg_vars post_max_size=\"" . base64_encode(IOStruct::ToBytes(!Is::Null(@get_cfg_var("post_max_size")) ? get_cfg_var("post_max_size") : MAX_POST_SIZE_SAFE_MODE)) . "\" upload_max_filesize=\"" . base64_encode(IOStruct::ToBytes(!Is::Null(@get_cfg_var("upload_max_filesize")) ? get_cfg_var("upload_max_filesize") : MAX_UPLOAD_SIZE_SAFE_MODE)) . "\" />\r\n";
     $xml .= "</gl_c>\r\n";
     return "<gl_c h=\"" . base64_encode(substr(IOStruct::HashMD5($hashfile), 0, 5)) . "\">\r\n" . $xml;
 }