bebeboutik/adm/ajaxfilemanager/ajax_delete_file.php

79 lines
2.1 KiB
PHP
Raw Normal View History

2016-01-04 12:48:08 +01:00
<?php
/**
* delete selected files
* @author Logan Cai (cailongqun [at] yahoo [dot] com [dot] cn)
* @link www.phpletter.com
* @since 22/April/2007
*
*/
require_once('../../config/config.inc.php');
require_once('../init.php');
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 . "'}";
?>