several log files can be delete in one go

This commit is contained in:
Uwe Steinmann 2013-04-11 08:38:47 +02:00
parent 43c084511c
commit a50964cb8f
5 changed files with 47 additions and 17 deletions

View File

@ -32,19 +32,27 @@ if (!$user->isAdmin()) {
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
}
if (!isset($_POST["logname"]) || !file_exists($settings->_contentDir.$_POST["logname"]) ) {
if (!isset($_POST["lognames"]) || !is_array($_POST["lognames"])) {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_id"));
}
if (@readlink($settings->_contentDir."current.log")==$settings->_contentDir.$_POST["logname"]){
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
}
$lognames = $_POST["lognames"];
foreach($lognames as $file) {
if(!file_exists($settings->_contentDir.$file)) {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_id"));
}
if (@readlink($settings->_contentDir."current.log")==$settings->_contentDir.$file){
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
}
if (!SeedDMS_Core_File::removeFile($settings->_contentDir.$_POST["logname"])) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
if (!SeedDMS_Core_File::removeFile($settings->_contentDir.$file)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
}
add_log_line("?logname=".$_POST["logname"]);
add_log_line("?logname=".implode(",", $_POST["lognames"]));
header("Location:../out/out.LogManagement.php");

View File

@ -26,14 +26,23 @@ if (!$user->isAdmin()) {
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
}
if (!isset($_GET["logname"]) || !file_exists($settings->_contentDir.$_GET["logname"]) ) {
if (!isset($_GET["logname"])) {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_id"));
}
$logname = sanitizeString($_GET["logname"]);
/* $_GET["logname"] can be a single file name or an array of file names */
if(!is_array($_GET["logname"]))
$lognames = array($_GET["logname"]);
else
$lognames = $_GET["logname"];
foreach($lognames as $file) {
if(!file_exists($settings->_contentDir.$file)) {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_id"));
}
}
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'logname'=>$logname));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'lognames'=>$lognames));
if($view) {
$view->show();
exit;

View File

@ -34,7 +34,7 @@ class SeedDMS_View_RemoveLog extends SeedDMS_Blue_Style {
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$logname = $this->params['logname'];
$lognames = $this->params['lognames'];
$this->htmlStartPage(getMLText("backup_tools"));
$this->globalNavigation();
@ -44,8 +44,13 @@ class SeedDMS_View_RemoveLog extends SeedDMS_Blue_Style {
?>
<form action="../op/op.RemoveLog.php" name="form1" method="post">
<?php echo createHiddenFieldWithKey('removelog'); ?>
<input type="hidden" name="logname" value="<?php echo $logname?>">
<p><?php printMLText("confirm_rm_log", array ("logname" => $logname));?></p>
<?php
foreach($lognames as $logname) {
echo "<input type=\"hidden\" name=\"lognames[]\" value=\"".$logname."\">\n";
}
?>
<p><?php printMLText("confirm_rm_log", array ("logname" => implode(', ', $lognames)));?></p>
<input type="submit" value="<?php printMLText("rm_file");?>">
</form>
<?php

View File

@ -36,8 +36,10 @@ class SeedDMS_View_LogManagement extends SeedDMS_Bootstrap_Style {
foreach ($entries as $entry){
if ($print_header){
print "<form action=\"out.RemoveLog.php\" method=\"get\">\n";
print "<table class=\"table-condensed\">\n";
print "<thead>\n<tr>\n";
print "<th></th>\n";
print "<th>".getMLText("name")."</th>\n";
print "<th>".getMLText("creation_date")."</th>\n";
print "<th>".getMLText("file_size")."</th>\n";
@ -47,6 +49,7 @@ class SeedDMS_View_LogManagement extends SeedDMS_Bootstrap_Style {
}
print "<tr>\n";
print "<td><input type=\"checkbox\" name=\"logname[]\" value=\"".$entry."\"/></td>\n";
print "<td><a href=\"out.LogManagement.php?logname=".$entry."\">".$entry."</a></td>\n";
print "\n";
print "<td>".getLongReadableDate(filectime($this->contentdir.$entry))."</td>\n";
@ -63,7 +66,7 @@ class SeedDMS_View_LogManagement extends SeedDMS_Bootstrap_Style {
}
if ($print_header) printMLText("empty_notify_list");
else print "</table>\n";
else print "<tr><td><i class=\"icon-arrow-up\"></i></td><td colspan=\"2\"><button type=\"submit\" class=\"btn\"><i class=\"icon-remove\"></i> ".getMLText('remove_marked_files')."</button></td></tr></table></form>\n";
} /* }}} */
function show() { /* {{{ */

View File

@ -34,7 +34,7 @@ class SeedDMS_View_RemoveLog extends SeedDMS_Bootstrap_Style {
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$logname = $this->params['logname'];
$lognames = $this->params['lognames'];
$this->htmlStartPage(getMLText("backup_tools"));
$this->globalNavigation();
@ -45,8 +45,13 @@ class SeedDMS_View_RemoveLog extends SeedDMS_Bootstrap_Style {
?>
<form action="../op/op.RemoveLog.php" name="form1" method="post">
<?php echo createHiddenFieldWithKey('removelog'); ?>
<input type="hidden" name="logname" value="<?php echo $logname?>">
<p><?php printMLText("confirm_rm_log", array ("logname" => $logname));?></p>
<?php
foreach($lognames as $logname) {
echo "<input type=\"hidden\" name=\"lognames[]\" value=\"".$logname."\">\n";
}
?>
<p><?php printMLText("confirm_rm_log", array ("logname" => implode(', ', $lognames)));?></p>
<p><button type="submit" class="btn"><i class="icon-remove"></i> <?php printMLText("rm_file");?></button></p>
</form>
<?php