mirror of https://github.com/avecms/AVE.cms.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.5 KiB
51 lines
1.5 KiB
7 years ago
|
<?php
|
||
|
/**
|
||
|
* elFinder driver for trash bin at local filesystem.
|
||
|
*
|
||
|
* @author NaokiSawada
|
||
|
**/
|
||
|
class elFinderVolumeTrash extends elFinderVolumeLocalFileSystem
|
||
|
{
|
||
|
/**
|
||
|
* Driver id
|
||
|
* Must be started from letter and contains [a-z0-9]
|
||
|
* Used as part of volume id.
|
||
|
*
|
||
|
* @var string
|
||
|
**/
|
||
|
protected $driverId = 't';
|
||
|
|
||
|
public function __construct()
|
||
|
{
|
||
|
parent::__construct();
|
||
|
// original option of the Trash
|
||
|
$this->options['lockEverything'] = false; // Lock all items in the trash to disable delete, move, rename.
|
||
|
|
||
|
// common options as the volume driver
|
||
|
$this->options['alias'] = 'Trash';
|
||
|
$this->options['quarantine'] = '';
|
||
|
$this->options['rootCssClass'] = 'elfinder-navbar-root-trash';
|
||
|
$this->options['copyOverwrite'] = false;
|
||
|
$this->options['uiCmdMap'] = array('paste' => 'hidden', 'mkdir' => 'hidden', 'copy' => 'restore');
|
||
|
$this->options['disabled'] = array('archive', 'duplicate', 'edit', 'extract', 'mkfile', 'places', 'put', 'rename', 'resize', 'upload');
|
||
|
}
|
||
|
|
||
|
public function mount(array $opts)
|
||
|
{
|
||
|
if ($this->options['lockEverything']) {
|
||
|
if (!is_array($opts['attributes'])) {
|
||
|
$opts['attributes'] = array();
|
||
|
}
|
||
|
$attr = array(
|
||
|
'pattern' => '/./',
|
||
|
'locked' => true,
|
||
|
);
|
||
|
array_unshift($opts['attributes'], $attr);
|
||
|
}
|
||
|
// force set `copyJoin` to true
|
||
|
$opts['copyJoin'] = true;
|
||
|
|
||
|
return parent::mount($opts);
|
||
|
}
|
||
|
}
|