ajax_save_name.php
2.14 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
<?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");
if(empty($_POST['value']))
{
echo "error:" . ERR_RENAME_EMPTY;
}elseif(!preg_match("/^[a-zA-Z0-9 _\-.]+$/", $_POST['value']))
{
echo "error:" . ERR_RENAME_FORMAT;
}
elseif(empty($_POST['id']) || !file_exists(removeTrailingSlash($_POST['id'])))
{
echo "error:" . ERR_RENAME_FILE_NOT_EXISTS ;
}elseif(substr(slashToBackslash(removeTrailingSlash($_POST['id'])), strrpos(slashToBackslash(removeTrailingSlash($_POST['id'])), "/") + 1) == $_POST['value'])
{
echo "error:" . ERR_NO_CHANGES_MADE;
}
elseif(file_exists(addTrailingSlash(getParentPath($_POST['id'])) . $_POST['value']))
{
echo "error:" . ERR_RENAME_EXISTS;
}elseif(is_file($_POST['id']) && !isValidExt($_POST['value'], explode(",", CONFIG_UPLOAD_VALID_EXTS), explode(",", CONFIG_UPLOAD_INVALID_EXTS)))
{
echo "error:" . ERR_RENAME_FILE_TYPE_NOT_PERMITED;
}
elseif(!rename(removeTrailingSlash($_POST['id']), addTrailingSlash(getParentPath($_POST['id'])) . $_POST['value']) )
{
echo "error:" . ERR_RENAME_FAILED;
}else
{
//update record of session if image exists in session for cut or copy
include_once(CLASS_SESSION_ACTION);
$sessionAction = new SessionAction();
$selectedDocuments = $sessionAction->get();
if(removeTrailingSlash($sessionAction->getFolder()) == getParentPath($_POST['id']) && sizeof($selectedDocuments))
{
if(($key = array_search(basename($_POST['id']), $selectedDocuments)) !== false)
{
$selectedDocuments[$key] = $_POST['value'];
$sessionAction->set($selectedDocuments);
}
echo basename($_POST['id']) . "\n";
displayArray($selectedDocuments);
}elseif(removeTrailingSlash($sessionAction->getFolder()) == removeTrailingSlash($_POST['id']))
{
$sessionAction->setFolder($_POST['id']);
}
echo "path:" . backslashToSlash(addTrailingSlash(getParentPath($_POST['id'])) . $_POST['value']) . "name:" . $_POST['value'] . "querystr:" . makeQueryString(array('path'));
}
?>