/var/www/hkosl.com/demo_google/assets/libraries/elFinder-2.1.32/php/elFinderVolumeTrash.class.php


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
47
48
49
50
<?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);
    }
}