コード例 #1
0
ファイル: LocalFileImpl.php プロジェクト: stormlab/Stormlab
<?php

/**
 * LocalFileImpl.php
 *
 * @package MCFileManager.filesystems
 * @author Moxiecode
 * @copyright Copyright © 2005, Moxiecode Systems AB, All rights reserved.
 */
require_once getAbsPath("../classes/FileSystems/BaseFile.php");
require_once getAbsPath("../classes/FileSystems/FileFilter.php");
require_once getAbsPath("../classes/FileSystems/FileTreeHandler.php");
require_once getAbsPath("../classes/FileSystems/FileEventListener.php");
/**
 * This is the local file system implementation of BaseFile.
 *
 * @package MCFileManager.filesystems
 */
class LocalFileImpl extends BaseFile
{
    // Private fields
    var $_absPath = "";
    var $_fileFactory;
    var $_config;
    var $_type;
    var $_events = true;
    /**
     * Creates a new absolute file.
     *
     * @param FileFactory $file_factory File factory reference.
     * @param String $absolute_path Absolute path to local file.
コード例 #2
0
ファイル: class.file.php プロジェクト: rip-projects/judge
 /**
  * Copy a file, or recursively copy a folder and its contents
  * @author      Aidan Lister <*****@*****.**>
  * @author      Paul Scott
  * @version     1.0.1
  * @param       string   $source    Source path
  * @param       string   $dest      Destination path
  * @return      bool     Returns TRUE on success, FALSE on failure
  */
 function copyTo($source, $dest)
 {
     $source = removeTrailingSlash(backslashToSlash($source));
     $dest = removeTrailingSlash(backslashToSlash($dest));
     if (!file_exists($dest) || !is_dir($dest)) {
         if (!$this->mkdir($dest)) {
             $this->_debug('Unable to create folder (' . $dest . ")");
             return false;
         }
     }
     // Copy in to your self?
     if (getAbsPath($source) == getAbsPath($dest)) {
         $this->_debug('Unable to copy itself. source: ' . getAbsPath($source) . "; dest: " . getAbsPath($dest));
         return false;
     }
     // Simple copy for a file
     if (is_file($source)) {
         $dest = addTrailingSlash($dest) . basename($source);
         if (file_exists($dest)) {
             return false;
         } else {
             return copy($source, $dest);
         }
     } elseif (is_dir($source)) {
         // Loop through the folder
         if (file_exists(addTrailingSlash($dest) . basename($source))) {
             return false;
         } else {
             if (!file_exists(addTrailingSlash($dest) . basename($source)) || !is_dir(addTrailingSlash($dest) . basename($source))) {
                 if (!$this->mkdir(addTrailingSlash($dest) . basename($source))) {
                     $this->_debug('Unable to create folder (' . addTrailingSlash($dest) . basename($source) . ")");
                     return false;
                 }
             }
             $handle = opendir($source);
             while (false !== ($readdir = readdir($handle))) {
                 if ($readdir != '.' && $readdir != '..') {
                     $path = addTrailingSlash($source) . '/' . $readdir;
                     $this->copyTo($path, addTrailingSlash($dest) . basename($source));
                 }
             }
             closedir($handle);
             return true;
         }
     }
     return false;
 }
コード例 #3
0
ファイル: general.php プロジェクト: stormlab/Stormlab
}
// Switch error reporting level on debug
if ($mcImageManagerConfig['general.debug']) {
    error_reporting(E_ALL);
} else {
    error_reporting(E_ALL ^ E_NOTICE);
}
$mcImageManagerErrorHandler = new mcError($mcImageManagerConfig['general.error_log'] != "", addTrailingSlash(realpath(".")) . $mcImageManagerConfig['general.error_log']);
set_error_handler("mcErrorHandler");
// Include LocalFileSystem
if (isset($mcImageManagerConfig['filesystem']) && $mcImageManagerConfig['filesystem'] == "LocalFileImpl") {
    require_once getAbsPath("../classes/FileSystems/LocalFileImpl.php");
}
// Include authenticator
if (isset($mcImageManagerConfig['authenticator']) && $mcImageManagerConfig['authenticator'] == "SessionAuthenticatorImpl") {
    require_once getAbsPath("../classes/Authenticators/SessionAuthenticatorImpl.php");
}
/**
 * Redirects to the login page if the user isn't logged in.
 * This will also setup the path and rootpath config variables based on session and input parameters.
 *
 * @param Array $config Name/Value array of config items.
 */
function verifyAccess(&$config)
{
    // Store away rootpaths
    $rootPaths =& getRootPaths($config["filesystem.rootpath"], false);
    $hasVariables = strpos($config["filesystem.rootpath"], '${') !== false;
    $auth = null;
    // Setup custom data
    $customData = getRequestParam("custom_data");