PHP 8.1.33
Preview: FolderHandler.php Size: 7.38 KB
/home/jambtst2015/public_html/ckfinder/core/connector/php/php4/Core/FolderHandler.php

<?php

/*

 * CKFinder

 * ========

 * http://ckfinder.com

 * Copyright (C) 2007-2011, CKSource - Frederico Knabben. All rights reserved.

 *

 * The software, this file and its contents are subject to the CKFinder

 * License. Please read the license.txt file before using, installing, copying,

 * modifying or distribute this file or part of its contents. The contents of

 * this file is part of the Source Code of CKFinder.

 */

if (!defined('IN_CKFINDER')) exit;



/**

 * @package CKFinder

 * @subpackage Core

 * @copyright CKSource - Frederico Knabben

 */



/**

 * Include file system utils class

 */

require_once CKFINDER_CONNECTOR_LIB_DIR . "/Utils/FileSystem.php";



/**

 * @package CKFinder

 * @subpackage Core

 * @copyright CKSource - Frederico Knabben

 */

class CKFinder_Connector_Core_FolderHandler

{

    /**

     * CKFinder_Connector_Core_ResourceTypeConfig object

     *

     * @var CKFinder_Connector_Core_ResourceTypeConfig

     * @access private

     */

    var $_resourceTypeConfig;

    /**

     * ResourceType name

     *

     * @var string

     * @access private

     */

    var $_resourceTypeName = "";

    /**

     * Client path

     *

     * @var string

     * @access private

     */

    var $_clientPath = "/";

    /**

     * Url

     *

     * @var string

     * @access private

     */

    var $_url;

    /**

     * Server path

     *

     * @var string

     * @access private

     */

    var $_serverPath;

    /**

     * Thumbnails server path

     *

     * @var string

     * @access private

     */

    var $_thumbsServerPath;

    /**

     * ACL mask

     *

     * @var int

     * @access private

     */

    var $_aclMask;

    /**

     * Folder info

     *

     * @var mixed

     * @access private

     */

    var $_folderInfo;

    /**

     * Thumbnails folder info

     *

     * @var mized

     * @access private

     */

    var $_thumbsFolderInfo;



    function CKFinder_Connector_Core_FolderHandler()

    {

        if (isset($_GET["type"])) {

            $this->_resourceTypeName = (string)$_GET["type"];

        }



        if (isset($_GET["currentFolder"])) {

            $this->_clientPath = CKFinder_Connector_Utils_FileSystem::convertToFilesystemEncoding((string)$_GET["currentFolder"]);

        }



        if (!strlen($this->_clientPath)) {

            $this->_clientPath = "/";

        }

        else {

            if (substr($this->_clientPath, -1, 1) != "/") {

                $this->_clientPath .= "/";

            }

            if (substr($this->_clientPath, 0, 1) != "/") {

                $this->_clientPath = "/" . $this->_clientPath;

            }

        }



        $this->_aclMask = -1;

    }



    /**

     * Get resource type config

     *

     * @return CKFinder_Connector_Core_ResourceTypeConfig

     * @access public

     */

    function &getResourceTypeConfig()

    {

        if (!isset($this->_resourceTypeConfig)) {

            $_config =& CKFinder_Connector_Core_Factory::getInstance("Core_Config");

            $this->_resourceTypeConfig = $_config->getResourceTypeConfig($this->_resourceTypeName);

        }



        if (is_null($this->_resourceTypeConfig)) {

            $connector =& CKFinder_Connector_Core_Factory::getInstance("Core_Connector");

            $oErrorHandler =& $connector->getErrorHandler();

            $oErrorHandler->throwError(CKFINDER_CONNECTOR_ERROR_INVALID_TYPE);

        }



        return $this->_resourceTypeConfig;

    }



    /**

     * Get resource type name

     *

     * @return string

     * @access public

     */

    function getResourceTypeName()

    {

        return $this->_resourceTypeName;

    }



    /**

     * Get Client path

     *

     * @return string

     * @access public

     */

    function getClientPath()

    {

        return $this->_clientPath;

    }



    /**

     * Get Url

     *

     * @return string

     * @access public

     */

    function getUrl()

    {

        if (is_null($this->_url)) {

            $this->_resourceTypeConfig = $this->getResourceTypeConfig();

            if (is_null($this->_resourceTypeConfig)) {

                $connector =& CKFinder_Connector_Core_Factory::getInstance("Core_Connector");

                $oErrorHandler =& $connector->getErrorHandler();

                $oErrorHandler->throwError(CKFINDER_CONNECTOR_ERROR_INVALID_TYPE);

                $this->_url = "";

            }

            else {

                $this->_url = $this->_resourceTypeConfig->getUrl() . ltrim($this->getClientPath(), "/");

            }

        }



        return $this->_url;

    }



    /**

     * Get server path

     *

     * @return string

     * @access public

     */

    function getServerPath()

    {

        if (is_null($this->_serverPath)) {

            $this->_resourceTypeConfig = $this->getResourceTypeConfig();

            $this->_serverPath = CKFinder_Connector_Utils_FileSystem::combinePaths($this->_resourceTypeConfig->getDirectory(), ltrim($this->_clientPath, "/"));

        }



        return $this->_serverPath;

    }



    /**

     * Get server path to thumbnails directory

     *

     * @access public

     * @return string

     */

    function getThumbsServerPath()

    {

        if (is_null($this->_thumbsServerPath)) {

            $this->_resourceTypeConfig = $this->getResourceTypeConfig();



            $_config =& CKFinder_Connector_Core_Factory::getInstance("Core_Config");

            $_thumbnailsConfig = $_config->getThumbnailsConfig();



            // Get the resource type directory.

            $this->_thumbsServerPath = CKFinder_Connector_Utils_FileSystem::combinePaths($_thumbnailsConfig->getDirectory(), $this->_resourceTypeConfig->getName());



            // Return the resource type directory combined with the required path.

            $this->_thumbsServerPath = CKFinder_Connector_Utils_FileSystem::combinePaths($this->_thumbsServerPath, ltrim($this->_clientPath, '/'));



            if (!is_dir($this->_thumbsServerPath)) {

                if(!CKFinder_Connector_Utils_FileSystem::createDirectoryRecursively($this->_thumbsServerPath)) {

                    /**

                     * @todo  Ckfinder_Connector_Utils_Xml::raiseError(); perhaps we should return error

                     *

                     */

                }

            }

        }



        return $this->_thumbsServerPath;

    }



    /**

     * Get ACL Mask

     *

     * @return int

     * @access public

     */

    function getAclMask()

    {

        $_config =& CKFinder_Connector_Core_Factory::getInstance("Core_Config");

        $_aclConfig = $_config->getAccessControlConfig();



        if ($this->_aclMask == -1) {

            $this->_aclMask = $_aclConfig->getComputedMask($this->_resourceTypeName, $this->_clientPath);

        }



        return $this->_aclMask;

    }



    /**

     * Check ACL

     *

     * @access public

     * @param int $aclToCkeck

     * @return boolean

     */

    function checkAcl($aclToCkeck)

    {

        $aclToCkeck = intval($aclToCkeck);



        $maska = $this->getAclMask();

        return (($maska & $aclToCkeck) == $aclToCkeck);

    }

}

Directory Contents

Dirs: 0 × Files: 12

Name Size Perms Modified Actions
8.32 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
14.30 KB lrw-r--r-- 2024-11-22 17:53:10
Edit Download
3.57 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.59 KB lrw-r--r-- 2025-10-27 23:48:34
Edit Download
1.91 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
7.38 KB lrw-r--r-- 2024-11-22 17:53:10
Edit Download
6.15 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
2.52 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
1.63 KB lrw-r--r-- 2024-11-22 17:53:10
Edit Download
9.70 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
5.11 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download
3.48 KB lrw-r--r-- 2024-11-22 17:53:11
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).