<?php
$GLOBALS["__65da1b1ec2d6653e8a0ab7848e536" . "215"] = (@$GLOBALS["__65da1b1ec2d6653e8a0ab78" . "48e536215"] ?: array()) + array("_ba88e10" . "a3b13be0" . "70866b09" . "bfbb6142" . "c" => base64_decode("Y2FsZW5k" . "YXJfZWRp" . "dA=="), "_be8ffbbf7ec" . "b1910c0f8639" . "476d66e7e" => base64_decode("VVBEQVRFIHJiX2NvbmZpcm0gU0VUIHVzZXJfaWQ9aW50Om5ld191a" . "WQgV0hFUkUgdXNlcl9pZD1pbnQ6b2xkX3VpZA=="), "_33f09d76394b074b7" . "79265f857d5ec8a" => base64_decode("Y291bnRfc2F" . "mZQ=="), "_c06c961f393742ec" . "fd52b72263ac9470" => base64_decode("aW" . "50" . "dm" . "Fs"), "_5b81cb6" . "cf0bfd99" . "0583fc12" . "ddd80cd3" . "2" => base64_decode("Z" . "m" . "F" . "j"), "_818943b6bc83a" . "a09db98f48e5c8" . "344cf" => base64_decode("cm9vbXMucmJ0b29" . "sa2l0LnNldF9kaW" . "FncmFtX2VkZ2VzX" . "2JlZm9yZV9jYWxs"), "_2436631adb30c933436" . "0c857c283655e" => base64_decode("VVBEQVRFIHJiX2xpbmtzIFNFVCB2YWw9aW50Om5ld191aWQgV0hFUkUgdHlwZT0nb3duZXInIEFORCB2" . "YWw9aW50Om9sZF91aWQ="), "_f945051f" . "9189ca77f" . "5b5ed8815" . "62f129" => base64_decode("Y2ZnX2RlZmF1bHRfcm9v" . "bV9ib29raW5nX3ZpZXc="), "_d594350" . "61a43acf" . "823638d7" . "5444f43f" . "9" => base64_decode("REVMRVRFIEZST00gcmJfZXZlbnRzIFdIRVJFIGlkIElOIChTRUxFQ1Qgb2JqX2lkIEZST00gcmJfbGlua3MgV0hFUkUgdHlwZT0nb3duZXInIEFORCB2" . "YWw9aW50OnVpZCBBTkQgYm9va2luZz0xKQ=="), "_524af00542d2a2eaf" . "8ced927e95b2be2" => base64_decode("REVMRVRFIEZST00gcmJfbGlua3MgV0hFUkUgdHlwZT0nb3duZXInIEFORCB2" . "YWw9aW50OnVpZA=="), "_7f628626dd1d5" . "5c71b1fc0932ff" . "d1d2c" => base64_decode("aXNf" . "YXJy" . "YXk="), "_4a384b4" . "ab32387a" . "db0f7879" . "9ddf7ca2" . "6" => base64_decode("cm9vbX" . "MuY29t" . "bW9uLm" . "ZhYw=="), "_7fa28d851687b042900d7b" . "67ad8dc6d0" => base64_decode("cm9vbXMuY29tbW9uLnJvb2" . "0="), "_0c817908e7" . "d93ce2001d5" . "32177b39567" => base64_decode("cmJfZGF0ZV9mb" . "3JtX2RpYWxvZ1" . "9zdHJpbmc="), "_17d741381bd4f45145c" . "85bb786c072b4" => base64_decode("cm9vbXMuYW" . "RtaW4ubWFp" . "bg=="), "_0c5123aa744" . "f69bbc0e8b3e" . "a2f6e847d" => base64_decode("bG1zZw" . "=="), "_66680e34e2cae6a0801bf9988ff68a8" . "2" => base64_decode("REVMRVRFIEZST00gcmJfY29uZmlybSBX" . "SEVSRSB1c2VyX2lkPWludDp1aWQ="), "_2acee84" . "48262945" . "1244aab9" . "6a01623c" . "d" => base64_decode("cm9vbQ=" . "="), "_fc6b6c947f57732843e2" . "e784470ad46f" => base64_decode("cmJf" . "dGlt" . "ZQ=="), "_4094d48ee4a4" . "6e946566af3fe" . "8337494" => base64_decode("ZGF0ZV9kYX" . "Rl"), "_6b63966ac430b54299bf53effb" . "373638" => base64_decode("cmJfaGVscF9z" . "dGF0dXM="), "_78b508c822621d7c4777ed7b8394c1" . "d1" => base64_decode("cmJfZWRpdF9ldmVud" . "A=="));
use Claromentis\Rooms\RoomsApplication;








class RBToolKit
{
    
    
    
    
    protected $calendar_mode = false;
    
    
    
    
    
    
    protected $diagram_length;
    
    
    
    
    protected $date_period_dialog;
    
    
    
    
    
    
    protected $checked_facilities = array();
    
    
    
    
    
    
    protected $checked_rooms = array();
    
    
    
    
    protected $rooms_and_facs_check_states;
    
    
    
    
    
    
    protected $diagram_edge_array;
    
    
    
    
    
    
    protected $date_point;
    
    
    
    
    
    
    protected $event_id = false;
    
    
    
    
    
    
    protected $vline_status = false;
    protected $message;
    
    
    
    
    
    public function __construct()
    {
        $this->date_point = new Date();
        $this->LoadDateDialogFromSession();
    }
    
    
    
    
    
    
    
    public function InitDateDialog($_bb89dde5b10b01db057b29b411397459)
    {
        $this->SetDatePeriodDialog(new RBDatePeriodDialog($_bb89dde5b10b01db057b29b411397459));
    }
    protected function LoadDateDialogFromSession()
    {
        $_74c89f1628eb5b0bca39b50e92340e2e = new RBDatePeriodDialog();
        if (isset($_SESSION[$GLOBALS["__65da1b1ec2d6653e8a0ab7848e53621" . "5"]["_0c81790" . "8e7d93ce" . "2001d532" . "177b3956" . "7"]])) {
            $_74c89f1628eb5b0bca39b50e92340e2e->LoadFromString($_SESSION[$GLOBALS["__65da1b1ec2d6653e8a0ab7848e5362" . "15"]["_0c817908e7d93" . "ce2001d532177b" . "39567"]]);
        }
        $this->SetDatePeriodDialog($_74c89f1628eb5b0bca39b50e92340e2e);
    }
    public function ResetStateToDefault()
    {
        unset($_SESSION[$GLOBALS["__65da1b1ec2d6653e8a0ab784" . "8e536215"]["_fc6b6c947f57732843e2e784" . "470ad46f"]]);
        unset($_SESSION[$GLOBALS["__65da1b1e" . "c2d6653e8a" . "0ab7848e53" . "6215"]["_6b63966ac430b54299bf" . "53effb373638"]]);
        unset($_SESSION[$GLOBALS["__65da1b1ec2d6653e8a0ab7848e53" . "6215"]["_ba88e10a3b13be070866b09bfbb6142" . "c"]]);
        unset($_SESSION[$GLOBALS["__65da1b1ec2d6653e8a0ab7848e5362" . "15"]["_78b508c822621d7c4777ed7b8394" . "c1d1"]]);
        $this->SetDatePeriodDialog(new RBDatePeriodDialog());
        $this->GetDatePeriodDialog()->InitDefaultDateForm();
        return true;
    }
    
    
    public function IsCalendarMode()
    {
        return (bool) $this->calendar_mode;
    }
    
    
    
    
    
    public function GetDatePeriodDialog()
    {
        return $this->date_period_dialog;
    }
    public function GetDiagramLength()
    {
        $config = RoomsApplication::getConfig();
        if (isset($this->diagram_length)) {
            return $this->diagram_length;
        }
        return $config->Get($GLOBALS["__65da1b1ec2d6653e8a0ab" . "7848e536215"]["_f945051f9189ca77f5b5ed8815" . "62f129"]);
    }
    public function GetCheckedFacilities()
    {
        return (array) $this->checked_facilities;
    }
    public function GetCheckedRooms()
    {
        return (array) $this->checked_rooms;
    }
    public function GetDiagramEdges()
    {
        if ($GLOBALS["__65da1b1ec2d6653e8a0ab7848e53" . "6215"]["_7f628626dd1" . "d55c71b1fc09" . "32ffd1d2c"]($this->diagram_edge_array)) {
            return $this->diagram_edge_array;
        }
        throw new Exception($GLOBALS["__65da1b1ec2d6653e8a0ab7848e5362" . "15"]["_0c5123aa744f69bbc" . "0e8b3ea2f6e847d"]($GLOBALS["__65da1b1ec2d6653e8a0ab78" . "48e536215"]["_818943b6bc83aa09db98f48e5c8" . "344cf"]));
    }
    
    
    
    
    public function GetDatePoint()
    {
        return $this->date_point;
    }
    public function GetMessage()
    {
        return $this->message;
    }
    public function GetEventId()
    {
        return (int) $this->event_id;
    }
    
    
    
    
    
    
    public function GetVlineStatus()
    {
        return $this->vline_status;
    }
    
    
    
    
    
    public function SetCalendarMode()
    {
        $this->calendar_mode = true;
    }
    public function SetEventId($_697c39cdce3e4154b716cdd3b4e80ff5)
    {
        $this->event_id = $GLOBALS["__65da1b1ec2d6653e" . "8a0ab7848e536215"]["_c06c961" . "f393742e" . "cfd52b72" . "263ac947" . "0"]($_697c39cdce3e4154b716cdd3b4e80ff5);
    }
    public function SetDatePeriodDialog($_7a88ba74ced2f19e964be742dd8dea0a)
    {
        $this->date_period_dialog = $_7a88ba74ced2f19e964be742dd8dea0a;
        $this->date_period_dialog->SetPrefix($GLOBALS["__65da1b1ec2d6653e8a0ab7848" . "e536215"]["_4094d48ee4a46e946566af3f" . "e8337494"]);
        $this->SaveStateInSession();
    }
    public function SetCheckedFacilities($_c69e64e4b9c0ecbfadfea584ad635db0)
    {
        foreach ((array) $_c69e64e4b9c0ecbfadfea584ad635db0 as $key => $_c96f552040dea8086bf8bdd70059542f) {
            $this->checked_facilities[$key] = 1;
        }
    }
    public function SetCheckedRooms($_48deb5995944b7c5927dfe5f7ddae452)
    {
        $this->checked_rooms = $_48deb5995944b7c5927dfe5f7ddae452;
    }
    public function SetDiagramLength($_1277d1ba63ac9b18f13125dc66368c02)
    {
        $this->diagram_length = $_1277d1ba63ac9b18f13125dc66368c02;
    }
    public function SetDiagramEdges(Date $_ccd9e402149a4aff4a20de187781aa41, Date $_ef3a72fcbe857b2afe45cb9d8cafb253)
    {
        $this->diagram_edge_array = array($_ccd9e402149a4aff4a20de187781aa41, $_ef3a72fcbe857b2afe45cb9d8cafb253);
    }
    public function SetDatePoint(Date $_67a0d624aebcceb0abd5ce56a53ff06f)
    {
        $this->date_point = $_67a0d624aebcceb0abd5ce56a53ff06f;
    }
    public function SetMessage($message)
    {
        $this->message = $message;
    }
    
    
    
    
    
    
    public function SetVlineStatus($status)
    {
        $this->vline_status = (bool) $status;
    }
    
    
    public function SaveStateInSession()
    {
        $_SESSION[$GLOBALS["__65da1b1ec2d6653e8a" . "0ab7848e536215"]["_0c817908e7d93c" . "e2001d532177b39" . "567"]] = $this->date_period_dialog->CreateSaveString();
    }
    
    
    
    
    
    
    
    public static function DeleteUser($user_id, $_2b54660b2595d6c73e7cccac2a759239)
    {
        global $db;
        if ($_2b54660b2595d6c73e7cccac2a759239) {
            $db->query($GLOBALS["__65da1b1ec2d6653e8a0ab7848e536" . "215"]["_2436631adb30c93" . "34360c857c283655" . "e"], $_2b54660b2595d6c73e7cccac2a759239, $user_id);
            $db->query($GLOBALS["__65da1b1ec2d6653e" . "8a0ab7848e536215"]["_be8ffbbf7ecb19" . "10c0f8639476d66" . "e7e"], $_2b54660b2595d6c73e7cccac2a759239, $user_id);
        } else {
            $db->query($GLOBALS["__65da1b1ec" . "2d6653e8a0a" . "b7848e53621" . "5"]["_d59435061a43acf82363" . "8d75444f43f9"], $user_id);
            $db->query($GLOBALS["__65da1b1ec2d6653e8a0ab7848e5362" . "15"]["_524af00542d2" . "a2eaf8ced927e" . "95b2be2"], $user_id);
            $db->query($GLOBALS["__65da1b1ec2" . "d6653e8a0ab7" . "848e536215"]["_66680e34e2cae6a0801bf9988ff68a8" . "2"], $user_id);
        }
    }
    
    
    
    
    
    
    
    public static function getBookingType(string $type) : string
    {
        if ($type === $GLOBALS["__65da1b1ec2d6653e8a0ab7" . "848e536215"]["_5b81cb6cf0bfd9905" . "83fc12ddd80cd32"]) {
            return $GLOBALS["__65da1b1e" . "c2d6653e8a" . "0ab7848e53" . "6215"]["_0c5123aa" . "744f69bbc" . "0e8b3ea2f" . "6e847d"]($GLOBALS["__65da1b1ec2d" . "6653e8a0ab784" . "8e536215"]["_4a384b4ab32387" . "adb0f78799ddf7c" . "a26"]);
        }
        return $GLOBALS["__65da1b1ec2d6653e8a0a" . "b7848e536215"]["_0c5123a" . "a744f69b" . "bc0e8b3e" . "a2f6e847" . "d"]($GLOBALS["__65da1b1ec2d6653e8a0a" . "b7848e536215"]["_7fa28d8" . "51687b04" . "2900d7b6" . "7ad8dc6d" . "0"]);
    }
    
    
    
    
    
    
    
    
    public static function getBookingsType(string $type, array $_a966c9aa4a80f731c55a0fa7bc924bb9 = []) : string
    {
        if ($type === $GLOBALS["__65da1b1ec2d66" . "53e8a0ab7848e53" . "6215"]["_2acee844" . "826294512" . "44aab96a0" . "1623cd"] && $GLOBALS["__65da1b1ec2d" . "6653e8a0ab784" . "8e536215"]["_33f09d76394b" . "074b779265f85" . "7d5ec8a"]($_a966c9aa4a80f731c55a0fa7bc924bb9) > 0) {
            return $GLOBALS["__65da1b1ec2d6653e8a" . "0ab7848e536215"]["_0c5123aa744f69bbc0e8b3ea2f" . "6e847d"]($GLOBALS["__65da1b1ec2d66" . "53e8a0ab7848e53" . "6215"]["_17d741381bd4f45145c85bb786c" . "072b4"]);
        }
        return self::getBookingType($type);
    }
}