Blame view

app/mihaildev/elfinder/php/connector.php 1.93 KB
bf807468   Alex Savenko   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
  <?php
  
  error_reporting(0); // Set E_ALL for debuging
  
  include_once dirname(__FILE__).DIRECTORY_SEPARATOR.'elFinderConnector.class.php';
  include_once dirname(__FILE__).DIRECTORY_SEPARATOR.'elFinder.class.php';
  include_once dirname(__FILE__).DIRECTORY_SEPARATOR.'elFinderVolumeDriver.class.php';
  include_once dirname(__FILE__).DIRECTORY_SEPARATOR.'elFinderVolumeLocalFileSystem.class.php';
  // Required for MySQL storage connector
  // include_once dirname(__FILE__).DIRECTORY_SEPARATOR.'elFinderVolumeMySQL.class.php';
  // Required for FTP connector support
  // include_once dirname(__FILE__).DIRECTORY_SEPARATOR.'elFinderVolumeFTP.class.php';
  
  
  /**
   * Simple function to demonstrate how to control file access using "accessControl" callback.
   * This method will disable accessing files/folders starting from '.' (dot)
   *
   * @param  string  $attr  attribute name (read|write|locked|hidden)
   * @param  string  $path  file path relative to volume root directory started with directory separator
   * @return bool|null
   **/
  function access($attr, $path, $data, $volume) {
  	return strpos(basename($path), '.') === 0       // if file/folder begins with '.' (dot)
  		? !($attr == 'read' || $attr == 'write')    // set read+write to false, other (locked+hidden) set to true
  		:  null;                                    // else elFinder decide it itself
  }
  
  
  // Documentation for connector options:
  // https://github.com/Studio-42/elFinder/wiki/Connector-configuration-options
  $opts = array(
  	// 'debug' => true,
  	'roots' => array(
  		array(
  			'driver'        => 'LocalFileSystem',   // driver for accessing file system (REQUIRED)
  			'path'          => '../files/',         // path to files (REQUIRED)
  			'URL'           => dirname($_SERVER['PHP_SELF']) . '/../files/', // URL to files (REQUIRED)
  			'accessControl' => 'access'             // disable and hide dot starting files (OPTIONAL)
  		)
  	)
  );
  
  // run elFinder
  $connector = new elFinderConnector(new elFinder($opts));
  $connector->run();