Blame view

js/_tiny_mce/plugins/ajaxfilemanager/ajax_save_text.php 1.64 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
78
79
80
81
82
83
84
  <?php
  	/**
  	 * ajax save name
  	 * @author Logan Cai (cailongqun [at] yahoo [dot] com [dot] cn)
  	 * @link www.phpletter.com
  	 * @since 22/May/2007
  	 *
  	 */
  	require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . "inc" . DIRECTORY_SEPARATOR . "config.php");
  	$error = '';
  	$path = addTrailingSlash(backslashToSlash($_POST['folder'])) . $_POST['name'];
  	if(isset($_POST['save_as_request']))
  	{		
  		if(!preg_match('/^[a-zA-Z0-9_\-.]+$/', $_POST['name']))
  		{
  			$error = TXT_SAVE_AS_ERR_NAME_INVALID;
  		}elseif(array_search(strtolower(getFileExt($_POST['name'])), getValidTextEditorExts()) === false)
  		{
  			$error = TXT_DISALLOWED_EXT;
  		}elseif(!isUnderRoot($_POST['folder']))
  		{
  			$error = ERR_FOLDER_PATH_NOT_ALLOWED;
  		}
  		else
  		{
  			
  			if(!empty($_POST['save_as_request']))
  			{//save as request
  				if(file_exists($path))
  				{
  					$error = TXT_FILE_EXIST;
  				}else 
  				{
  					if(($fp = @fopen($path, 'w+')) !== false)
  					{
  						if(@fwrite($fp, $_POST['text']))
  						{
  							@fclose($fp);
  						}else 
  						{
  							$error = TXT_CONTENT_WRITE_FAILED;
  						}
  					}else 
  					{
  						$error = TXT_CREATE_FAILED;
  					}					
  				}
  
  				
  			}else 
  			{
  				if(!file_exists($path))
  				{
  					$error = TXT_FILE_NOT_EXIST;
  				}else 
  				{
  					if(($fp = @fopen($path, 'w')) !== false)
  					{
  						if(@fwrite($fp, $_POST['text']))
  						{
  							@fclose($fp);
  						}else 
  						{
  							$error = TXT_CONTENT_UPDATE_FAILED;
  						}
  					}else 
  					{
  						$error = TXT_FILE_OPEN_FAILED;
  					}						
  				}
  			}
  			
  		}
  
  	}else 
  	{
  		$error = TXT_UNKNOWN_REQUEST;
  	}
  		echo "{";
  		echo "error:'" . $error . "',\n";
  		echo  "path:'" . $path . "'";
  		echo "}";
  	
  ?>