One Hat Cyber Team
Your IP :
18.222.188.129
Server IP :
162.241.123.123
Server :
Linux sh016.hostgator.in 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
Server Software :
Apache
PHP Version :
8.2.25
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home1
/
saicsazq
/
portal.smhtechlabs.com
/
app
/
Models
/
View File Name :
General_files_model.php
<?php namespace App\Models; class General_files_model extends Crud_model { protected $table = null; function __construct() { $this->table = 'general_files'; parent::__construct($this->table); } function get_details($options = array()) { // File manager, existing: // Array ( [folder_id] => [context_type] => file_manager [client_id] => 0 [is_admin] => 1 [show_root_files] => 1 ) // Client details page, existing: // Array ( [folder_id] => [context_type] => client [client_id] => 4 [is_admin] => 1 [show_root_files] => 1 ) // Client portal, existing // Array ( [folder_id] => [context_type] => client_portal [client_id] => 4 [is_admin] => 0 [show_root_files] => 1 ) //in the users list, show only the user_id related files. //in the global file manager list // - in root, show the global_files (don't have any folder id and context = global_files) .. only admins can see // - in a folder show files related with the folder, //in the client details view // - in root (show the client files where don't have any folder id and context = client and client_id is the client_id) // - in a folder (show the client files with the folder id and context = client and client_id is the client_id) // - in the list view (show the client files where client_id is the client_id) //in the client portal // - in root (show the client files where don't have any folder id and context = client and context_id is the client_id) // - in a folder (show the client files with the folder id where context is client or global_files) // - in the list view (show the client files with context = client and context_id is the client_id) + (show global files where the client has permissions - find by folder) $general_files_table = $this->db->prefixTable('general_files'); $users_table = $this->db->prefixTable('users'); $where = ""; $id = $this->_get_clean_value($options, "id"); if ($id) { $where .= " AND $general_files_table.id=$id "; } $client_id = $this->_get_clean_value($options, "client_id"); if ($client_id) { $where .= " AND $general_files_table.client_id=$client_id "; } $user_id = $this->_get_clean_value($options, "user_id"); if ($user_id) { $where .= " AND $general_files_table.user_id = $user_id "; } $folder_id = $this->_get_clean_value($options, "folder_id"); $context_type = $this->_get_clean_value($options, "context_type"); $is_admin = $this->_get_clean_value($options, "is_admin"); if ($context_type == "file_manager") { // file manager view if ($folder_id) { //in a folder in the file manager $where = " AND $general_files_table.folder_id=$folder_id AND $general_files_table.context='global_files' "; } else { //root in the file manager if ($is_admin) { $where = " AND $general_files_table.folder_id<=0 AND $general_files_table.context='global_files' "; } else { $where = " AND $general_files_table.context='dont_show_global_files' "; //don't show any root files for non admin users. } } } else if ($context_type == "client") { // client details view if ($folder_id) { //in a folder in the client details page $where = " AND $general_files_table.folder_id=$folder_id AND $general_files_table.context='client' AND $general_files_table.client_id = $client_id "; } else { //root in the client details page $where = " AND $general_files_table.folder_id<=0 AND $general_files_table.context='client' AND $general_files_table.client_id = $client_id "; } } else if ($context_type == "client_portal") { // client_portal folder view if ($folder_id) { //in a folder in the client details page //$where = " AND $general_files_table.folder_id=$folder_id AND (($general_files_table.context='client' AND $general_files_table.client_id = $client_id) OR ($general_files_table.context='global_files')) "; $where = " AND $general_files_table.folder_id=$folder_id AND $general_files_table.context='client' AND $general_files_table.client_id = $client_id "; } else { //root in the client details page $where = " AND $general_files_table.folder_id<=0 AND $general_files_table.context='client' AND $general_files_table.client_id = $client_id "; } } else if ($context_type == "client_portal_list_view") { // client_portal list view //$where = " AND (($general_files_table.context='client' AND $general_files_table.client_id = $client_id) OR ($general_files_table.context='global_files' AND $general_files_table.folder_id=$folder_id)) "; $where = " AND $general_files_table.context='client' AND $general_files_table.client_id = $client_id "; } $sql = "SELECT $general_files_table.*, CONCAT($users_table.first_name, ' ', $users_table.last_name) AS uploaded_by_user_name, $users_table.image AS uploaded_by_user_image, $users_table.user_type AS uploaded_by_user_type FROM $general_files_table LEFT JOIN $users_table ON $users_table.id= $general_files_table.uploaded_by WHERE $general_files_table.deleted=0 $where"; return $this->db->query($sql); } }