本文整理汇总了PHP中elFinder::instance方法的典型用法代码示例。如果您正苦于以下问题:PHP elFinder::instance方法的具体用法?PHP elFinder::instance怎么用?PHP elFinder::instance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类elFinder
的用法示例。
在下文中一共展示了elFinder::instance方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
/**
* Constructor
*
* @param array elFinder and roots configurations
* @author Dmitry (dio) Levashov
*/
public function __construct($opts)
{
// set error handler of WARNING, NOTICE
$errLevel = E_WARNING | E_NOTICE | E_USER_WARNING | E_USER_NOTICE | E_STRICT | E_RECOVERABLE_ERROR;
if (defined('E_DEPRECATED')) {
$errLevel |= E_DEPRECATED | E_USER_DEPRECATED;
}
set_error_handler('elFinder::phpErrorHandler', $errLevel);
// convert PATH_INFO to GET query
if (!empty($_SERVER['PATH_INFO'])) {
$_ps = explode('/', trim($_SERVER['PATH_INFO'], '/'));
if (!isset($_GET['cmd'])) {
$_cmd = $_ps[0];
if (isset($this->commands[$_cmd])) {
$_GET['cmd'] = $_cmd;
$_i = 1;
foreach (array_keys($this->commands[$_cmd]) as $_k) {
if (isset($_ps[$_i])) {
if (!isset($_GET[$_k])) {
$_GET[$_k] = $_ps[$_i];
}
} else {
break;
}
}
}
}
}
// set elFinder instance
elFinder::$instance = $this;
// setup debug mode
$this->debug = isset($opts['debug']) && $opts['debug'] ? true : false;
if ($this->debug) {
error_reporting(defined('ELFINDER_DEBUG_ERRORLEVEL') ? ELFINDER_DEBUG_ERRORLEVEL : -1);
ini_set('diaplay_errors', '1');
}
if (!interface_exists('elFinderSessionInterface')) {
include_once dirname(__FILE__) . '/elFinderSessionInterface.php';
}
// session handler
if (!empty($opts['session']) && $opts['session'] instanceof elFinderSessionInterface) {
$this->session = $opts['session'];
} else {
$sessionOpts = array('base64encode' => !empty($opts['base64encodeSessionData']), 'keys' => array('default' => !empty($opts['sessionCacheKey']) ? $opts['sessionCacheKey'] : 'elFinderCaches', 'netvolume' => !empty($opts['netVolumesSessionKey']) ? $opts['netVolumesSessionKey'] : 'elFinderNetVolumes'));
if (!class_exists('elFinderSession')) {
include_once dirname(__FILE__) . '/elFinderSession.php';
}
$this->session = new elFinderSession($sessionOpts);
}
// try session start | restart
$this->session->start();
$sessionUseCmds = array();
if (isset($opts['sessionUseCmds']) && is_array($opts['sessionUseCmds'])) {
$sessionUseCmds = $opts['sessionUseCmds'];
}
// set self::$volumesCnt by HTTP header "X-elFinder-VolumesCntStart"
if (isset($_SERVER['HTTP_X_ELFINDER_VOLUMESCNTSTART']) && ($volumesCntStart = intval($_SERVER['HTTP_X_ELFINDER_VOLUMESCNTSTART']))) {
self::$volumesCnt = $volumesCntStart;
}
$this->time = $this->utime();
$this->sessionCloseEarlier = isset($opts['sessionCloseEarlier']) ? (bool) $opts['sessionCloseEarlier'] : true;
$this->sessionUseCmds = array_flip($sessionUseCmds);
$this->timeout = isset($opts['timeout']) ? $opts['timeout'] : 0;
$this->uploadTempPath = isset($opts['uploadTempPath']) ? $opts['uploadTempPath'] : '';
$this->callbackWindowURL = isset($opts['callbackWindowURL']) ? $opts['callbackWindowURL'] : '';
$this->maxTargets = isset($opts['maxTargets']) ? intval($opts['maxTargets']) : $this->maxTargets;
elFinder::$commonTempPath = isset($opts['commonTempPath']) ? $opts['commonTempPath'] : './.tmp';
if (!is_writable(elFinder::$commonTempPath)) {
elFinder::$commonTempPath = '';
}
$this->maxArcFilesSize = isset($opts['maxArcFilesSize']) ? intval($opts['maxArcFilesSize']) : 0;
$this->optionsNetVolumes = isset($opts['optionsNetVolumes']) && is_array($opts['optionsNetVolumes']) ? $opts['optionsNetVolumes'] : array();
// deprecated settings
$this->netVolumesSessionKey = !empty($opts['netVolumesSessionKey']) ? $opts['netVolumesSessionKey'] : 'elFinderNetVolumes';
self::$sessionCacheKey = !empty($opts['sessionCacheKey']) ? $opts['sessionCacheKey'] : 'elFinderCaches';
// check session cache
$_optsMD5 = md5(json_encode($opts['roots']));
if ($this->session->get('_optsMD5') !== $_optsMD5) {
$this->session->set('_optsMD5', $_optsMD5);
}
// setlocale and global locale regists to elFinder::locale
self::$locale = !empty($opts['locale']) ? $opts['locale'] : 'en_US.UTF-8';
if (false === setlocale(LC_ALL, self::$locale)) {
self::$locale = setlocale(LC_ALL, '');
}
// set defaultMimefile
elFinder::$defaultMimefile = isset($opts['defaultMimefile']) ? $opts['defaultMimefile'] : '';
// bind events listeners
if (!empty($opts['bind']) && is_array($opts['bind'])) {
$_req = $_SERVER["REQUEST_METHOD"] == 'POST' ? $_POST : $_GET;
$_reqCmd = isset($_req['cmd']) ? $_req['cmd'] : '';
foreach ($opts['bind'] as $cmd => $handlers) {
$doRegist = strpos($cmd, '*') !== false;
if (!$doRegist) {
//.........这里部分代码省略.........