Blame view

js/tiny_mce/plugins/ajaxfilemanager/ajax_delete_file.php 1.99 KB
42868d70   andryeyev   Создал GIT
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
  <?php
  	/**
  	 * delete selected files
  	 * @author Logan Cai (cailongqun [at] yahoo [dot] com [dot] cn)
  	 * @link www.phpletter.com
  	 * @since 22/April/2007
  	 *
  	 */
  	require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . "inc" . DIRECTORY_SEPARATOR . "config.php");
  	$error = "";
  	if(CONFIG_SYS_VIEW_ONLY || !CONFIG_OPTIONS_DELETE)
  	{
  		$error = SYS_DISABLED;
  	}
  	elseif(!empty($_GET['delete']))
  	{//delete the selected file from context menu
  		if(!file_exists($_GET['delete']))
  		{
  			$error = ERR_FILE_NOT_AVAILABLE;
  		}
  		elseif(!isUnderRoot($_GET['delete']))
  		{
  			$error = ERR_FOLDER_PATH_NOT_ALLOWED;
  		}else
  		{
  				include_once(CLASS_FILE);
  				$file = new file();
  				if(is_dir($_GET['delete'])
  					 &&  isValidPattern(CONFIG_SYS_INC_DIR_PATTERN, getBaseName($_GET['delete'])) 
  					 && !isInvalidPattern(CONFIG_SYS_EXC_DIR_PATTERN, getBaseName($_GET['delete'])))
  					{
  						$file->delete(addTrailingSlash(backslashToSlash($_GET['delete'])));
  					}elseif(is_file($_GET['delete']) 
  					&& isValidPattern(CONFIG_SYS_INC_FILE_PATTERN, getBaseName($_GET['delete']))
  					&& !isInvalidPattern(CONFIG_SYS_EXC_FILE_PATTERN, getBaseName($_GET['delete']))
  					)
  					{
  						$file->delete(($_GET['delete']));
  					}			
  		}
  	}else 
  	{
  		if(!isset($_POST['selectedDoc']) || !is_array($_POST['selectedDoc']) || sizeof($_POST['selectedDoc']) < 1)
  		{
  			$error = ERR_NOT_FILE_SELECTED;
  		}
  		else 
  		{
  
  			include_once(CLASS_FILE);
  			$file = new file();
  			
  			foreach($_POST['selectedDoc'] as $doc)
  			{
  				if(file_exists($doc) && isUnderRoot($doc))
  				{
  					if(is_dir($doc)
  					 &&  isValidPattern(CONFIG_SYS_INC_DIR_PATTERN, $doc) 
  					 && !isInvalidPattern(CONFIG_SYS_EXC_DIR_PATTERN, $doc))
  					{
  						$file->delete(addTrailingSlash(backslashToSlash($doc)));
  					}elseif(is_file($doc) 
  					&& isValidPattern(CONFIG_SYS_INC_FILE_PATTERN, $doc)
  					&& !isInvalidPattern(CONFIG_SYS_EXC_FILE_PATTERN, $doc)
  					)
  					{
  						$file->delete($doc);
  					}					
  				}
  
  				
  			}
  		}		
  	}
  
  	echo "{error:'" . $error . "'}";
  ?>