HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/360.naniguide.com/backend/ajax/get_rooms_menu_list.php
<?php
error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE & ~E_DEPRECATED);
ob_start();
session_start();
if($_SESSION['svt_si']!=session_id()) {
    die();
}
require_once("../../db/connection.php");
require_once("../functions.php");
$id_user = $_SESSION['id_user'];
session_write_close();
$id_virtualtour = (int)$_POST['id_virtualtour'];
$language = $_POST['language'];
if(get_user_role($id_user)=='administrator') {
    $where_user = "";
} else {
    $where_user = " AND v.id_user = $id_user ";
}
$array = array();
if(empty($language)) {
    $query = "SELECT r.id,r.name FROM svt_rooms as r 
                JOIN svt_virtualtours as v ON v.id = r.id_virtualtour
                WHERE v.id = $id_virtualtour $where_user
                GROUP BY r.id, r.priority
                ORDER BY r.priority ASC, r.id ASC";
    $result = $mysqli->query($query);
    if($result) {
        if($result->num_rows>0) {
            while($row=$result->fetch_array(MYSQLI_ASSOC)) {
                $array[$row['id']]=$row['name'];
            }
        }
    }
} else {
    $query = "SELECT r.id,COALESCE(rl.name,r.name) as name FROM svt_rooms as r 
                JOIN svt_virtualtours as v ON v.id = r.id_virtualtour
                LEFT JOIN svt_rooms_lang as rl ON rl.id_room=r.id AND rl.language='$language'
                WHERE v.id = $id_virtualtour $where_user
                GROUP BY r.id, r.priority
                ORDER BY r.priority ASC, r.id ASC";
    $result = $mysqli->query($query);
    if($result) {
        if($result->num_rows>0) {
            while($row=$result->fetch_array(MYSQLI_ASSOC)) {
                $array[$row['id']]=$row['name'];
            }
        }
    }
}

$array2 = array();
$array_id_rooms = array();
$query = "SELECT list_alt FROM svt_virtualtours WHERE id=$id_virtualtour LIMIT 1;";
$result = $mysqli->query($query);
if($result) {
    if($result->num_rows==1) {
        $row = $result->fetch_array(MYSQLI_ASSOC);
        $list_alt = $row['list_alt'];
        $list_alt_lang = '';
        if(!empty($language)) {
            $query_l = "SELECT list_alt FROM svt_virtualtours_lang WHERE id_virtualtour=$id_virtualtour AND language='$language' LIMIT 1;";
            $result_l = $mysqli->query($query_l);
            if($result_l) {
                if ($result_l->num_rows == 1) {
                    $row_l = $result_l->fetch_array(MYSQLI_ASSOC);
                    $list_alt_lang = $row_l['list_alt'];
                }
            }
        }
        if(!empty($list_alt_lang)) $list_alt=$list_alt_lang;
        if ($list_alt == '') {
            foreach ($array as $id=>$name) {
                array_push($array2,["id"=>$id,"type"=>"room","hide"=>"0","name"=>$name]);
            }
        } else {
            $list_alt_array = json_decode($list_alt, true);
            foreach ($list_alt_array as $item) {
                switch ($item['type']) {
                    case 'room':
                        if(array_key_exists($item['id'],$array)) {
                            array_push($array2, ["id" => $item['id'], "type" => "room", "hide"=>$item['hide'], "name" => $array[$item['id']]]);
                        }
                        array_push($array_id_rooms,$item['id']);
                        break;
                    case 'category':
                        $childrens = array();
                        foreach ($item['children'] as $children) {
                            if ($children['type'] == "room") {
                                if(array_key_exists($children['id'],$array)) {
                                    array_push($childrens, ["id" => $children['id'], "type" => "room", "hide" => $children['hide'], "name" => $array[$children['id']]]);
                                }
                                array_push($array_id_rooms, $children['id']);
                            }
                        }
                        array_push($array2, ["id" => $item['id'], "type" => "category", "name" => $item['cat'], "childrens" => $childrens]);
                        break;
                }
            }
            foreach ($array as $id=>$name) {
                if(!in_array($id,$array_id_rooms)) {
                    array_push($array2,["id"=>$id,"type"=>"room","hide"=>"0","name"=>$name]);
                }
            }
        }
    }
}
ob_end_clean();
echo json_encode($array2);