ajax_create_folder.php
3.61 KB
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
<?php
/**
* create a folder
* @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");
@ob_start();
displayArray($_POST);
writeInfo(@ob_get_clean());
echo "{";
$error = "";
$info = "";
/* $_POST['new_folder'] = substr(md5(time()), 1, 5);
$_POST['currentFolderPath'] = "../../uploaded/";*/
if(empty($_POST['new_folder']))
{
$error = ERR_FOLDER_NAME_EMPTY;
}elseif(!preg_match("/^[a-zA-Z0-9_\- ]+$/", $_POST['new_folder']))
{
$error = ERR_FOLDER_FORMAT;
}else if(empty($_POST['currentFolderPath']) || !isUnderRoot($_POST['currentFolderPath']))
{
$error = ERR_FOLDER_PATH_NOT_ALLOWED;
}
elseif(file_exists(addTrailingSlash($_POST['currentFolderPath']) . $_POST['new_folder']))
{
$error = ERR_FOLDER_EXISTS;
}else
{
include_once(CLASS_FILE);
$file = new file();
if($file->mkdir(addTrailingSlash($_POST['currentFolderPath']) . $_POST['new_folder'], 0777))
{
include_once(CLASS_MANAGER);
$manager = new manager(addTrailingSlash($_POST['currentFolderPath']) . $_POST['new_folder'], false);
$pathInfo = $manager->getFolderInfo(addTrailingSlash($_POST['currentFolderPath']) . $_POST['new_folder']);
foreach($pathInfo as $k=>$v)
{
switch ($k)
{
case "path";
$info .= sprintf(", %s:'%s'", 'realpath', $v);
$v = transformFilePath($v);
break;
case "ctime";
case "mtime":
case "atime":
$v = date(DATE_TIME_FORMAT, $v);
break;
}
$info .= sprintf(", %s:'%s'", $k, $v);
}
$info .= sprintf(", url:'%s'", appendQueryString(CONFIG_URL_HOME, "path=" . $pathInfo['path'] . "&" . makeQueryString(array('path'))));
$info .= sprintf(", tip:'%s'", $k, TIP_FOLDER_GO_DOWN);
$info .= sprintf(", tipedit:'%s'", $k, TIP_DOC_RENAME);
}else
{
$error = ERR_FOLDER_CREATION_FAILED;
}
//$error = "For security reason, folder creation function has been disabled.";
}
echo "error:'" . $error . "'";
echo $info;
echo "}";
?>