Guten Morgen,
ich hab ein php script bekommen über das ich mal drüberschauen sollte, nur mein Problem ist, dass ich keine Ahnung von php habe.😳
Das Script löscht (wie im Titel schon erwähnt) ein komplettes Verzeichnis wenn man einen Ordner zum löschen auswählt und diesen löscht.
ich DENKE der Fehler wird zwischen den Zeilen 715-849 oder 857-919 liegen.
715-849:
857-919:
ich hab ein php script bekommen über das ich mal drüberschauen sollte, nur mein Problem ist, dass ich keine Ahnung von php habe.😳
Das Script löscht (wie im Titel schon erwähnt) ein komplettes Verzeichnis wenn man einen Ordner zum löschen auswählt und diesen löscht.
ich DENKE der Fehler wird zwischen den Zeilen 715-849 oder 857-919 liegen.
715-849:
PHP:
function bulk_submit($bulk_action,$d) {
global $_POST, $sqlpref, $d, $tbcolor1, $userdir, $tbcolor2;
if (!$bulk_action) $error .= "Bitte eine Aktion wählen.<br>\n";
if (!$_POST[filesel] && !$_POST[foldersel]) $error .= "Bitte mindesten eine Datei auswählen und diese Aktion durchzuführen.<br>\n";
if ($_POST[filesel] && $_POST[foldersel]) $delvar = "Dateien/Ordner und deren Inhalt";
elseif ($_POST[filesel] && count($_POST[filesel]) > 1) $delvar = "files";
elseif ($_POST[foldersel] && count($_POST[foldersel]) > 1) $delvar = "Ordner und deren Inhalt";
elseif ($_POST[filesel]) $delvar = "Datei";
elseif ($_POST[foldersel]) $delvar = "Ordner und deren Inhalt";
if (!$error && $bulk_action == "delete") {
page_header("Löschen");
opentitle("Löschen");
opentable("100%");
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=100%>\n"
."<form name=bulk_action action=\"?p=bulk_action\" method=post>\n"
."<tr><td><font class=error>Sind sie sich sicher dass die $delvar löchen wollen?</font><br>\n"
."<tr><td bgcolor=$tbcolor1>\n";
$a=0; $b=0;
if (is_array($_POST[filesel])) {
foreach ($_POST[filesel] as $file) {
echo "$file <input type=hidden name=filesel[$a] value=$file><br>\n";
$a++;
}
}
if (is_array($_POST[foldersel])) {
foreach ($_POST[foldersel] as $file) {
echo "$file<input type=hidden name=foldersel[$b] value=$file><br>\n";
$b++;
}
}
echo "<tr><td align=center><br><a href=\"javascript:document.bulk_action.submit();\">Ja</a> | \n"
."<a href=\"?p=home\"> Nein </a>\n"
."<input type=hidden name=bulk_action value=\"$bulk_action\">\n"
."<input type=hidden name=d value=\"$d\">\n"
."</td></tr></form></table>\n";
closetable();
page_footer();
} elseif (!$error && $bulk_action == "move") {
page_header("Verschieben");
opentitle("Verschieben");
opentable("100%");
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=100%>\n"
."<form name=bulk_action action=\"?p=bulk_action\" method=post>\n"
."<tr><td>Verschiebe $delvar:\n"
."<tr><td bgcolor=$tbcolor1>\n";
$a=0; $b=0;
if (is_array($_POST[filesel])) {
foreach ($_POST[filesel] as $file) {
echo "$file <input type=hidden name=filesel[$a] value=$file><br>\n";
$a++;
}
}
if (is_array($_POST[foldersel])) {
foreach ($_POST[foldersel] as $file) {
echo "$file<input type=hidden name=foldersel[$b] value=$file><br>\n";
$b++;
}
}
echo "<tr><td><select name=ndir size=1>\n"
."<option value=\"".substr($item,strlen($userdir.$d))."/\">".substr($item,strlen($userdir.$d))."/</option>";
$content = listdir($userdir);
asort($content);
foreach ($content as $item) echo "<option value=\"".substr($item,strlen($userdir))."/\">".substr($item,strlen($userdir))."/</option>\n";
echo "</select> "
."<input type=\"Submit\" value=\"Verschieben\" class=\"button\">\n"
."<input type=hidden name=bulk_action value=\"$bulk_action\">\n"
."<input type=hidden name=d value=\"$d\">\n"
."</td></tr></form></table>\n";
closetable();
page_footer();
} elseif (!$error && $bulk_action == "chmod") {
page_header("Berechtigung ändern");
opentitle("Berechtigung ändern");
opentable("100%");
echo "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=100%>\n"
."<form name=bulk_action action=\"?p=bulk_action\" method=post>\n"
."<tr><td>Von $delvar die >Berechtigungen ändern:\n"
."<tr><td bgcolor=$tbcolor1>\n";
$a=0; $b=0;
if (is_array($_POST[filesel])) {
foreach ($_POST[filesel] as $file) {
echo "$file <input type=hidden name=filesel[$a] value=$file><br>\n";
$a++;
}
}
if (is_array($_POST[foldersel])) {
foreach ($_POST[foldersel] as $file) {
echo "$file<input type=hidden name=foldersel[$b] value=$file><br>\n";
$b++;
}
}
if (is_array($_POST[filesel])) {
$keys = array_keys($_POST[filesel]);
$chval = substr(sprintf('%o', @fileperms($userdir.$d.$_POST[filesel][$keys{0}])), -4);
} else {
$keys = array_keys($_POST[foldersel]);
$chval = substr(sprintf('%o', @fileperms($userdir.$d.$_POST[foldersel][$keys{0}])), -4);
}
echo "<tr><td><br><table cellpadding=0 cellspacing=0>\n"
/* Work in Progess
."<tr><td><table cellpadding=0 cellspacing=0 width=120 bgcolor=$tbcolor1>\n"
."<tr><td colspan=2>Owner:<tr><td>Read<td><input type=checkbox name=perms00 onMouseUp=\"chmodmake(400);\">\n"
."<tr><td>Write<td><input type=checkbox name=perms01 onMouseUp=\"chmodmake(200);\">\n"
."<tr><td>Execute<td><input type=checkbox name=perms02 onMouseUp=\"chmodmake(100);\"></table>\n"
."<td width=20><img src=images/pixel.gif width=20 height=1>\n"
."<td><table cellpadding=0 cellspacing=0 width=120 bgcolor=$tbcolor1>\n"
."<tr><td colspan=2>Group:<tr><td>Read<td><input type=checkbox name=perms10 onMouseUp=\"chmodmake(40);\">\n"
."<tr><td>Write<td><input type=checkbox name=perms11 onMouseUp=\"chmodmake(20);\">\n"
."<tr><td>Execute<td><input type=checkbox name=perms12 onMouseUp=\"chmodmake(10);\"></table>\n"
."<td width=20><img src=images/pixel.gif width=20 height=1>\n"
."<td><table cellpadding=0 cellspacing=0 width=120 bgcolor=$tbcolor1>\n"
."<tr><td colspan=2>Pubic:<tr><td>Read<td><input type=checkbox name=perms20 onMouseUp=\"chmodmake(4);\">\n"
."<tr><td>Write<td><input type=checkbox name=perms21 onMouseUp=\"chmodmake(2);\">\n"
."<tr><td>Execute<td><input type=checkbox name=perms22 onMouseUp=\"chmodmake(1);\"></table>\n"
."</table>\n"
*/
."<tr><td><input type=text width=20 size=20 name=ndir value=\"$chval\">\n"
."<br><br><input type=\"Submit\" value=\"Ändern\" class=\"button\">\n"
."<input type=hidden name=bulk_action value=\"$bulk_action\">\n"
."<input type=hidden name=d value=\"$d\">\n"
."</td></tr></form></table></table>\n";
closetable();
page_footer();
} else {
page_header("Aktion");
opentitle("Aktion");
opentable("100%");
echo "<font class=error>$error</font>\n";
closetable();
page_footer();
}
}
PHP:
function bulk_action($bulk_action,$d,$ndir) {
global $_POST, $sqlpref, $tbcolor1, $contenta, $contentb, $userdir;
set_error_handler ('error_handler');
if (!$bulk_action) $error .= "Bitte eine Aktion wählen.<br>\n";
if (!$_POST[filesel] && !$_POST[foldersel]) $error .= "Bitte mindesten eine Datei auswählen und diese Aktion durchzuführen.<br>\n";
if (!$error && $bulk_action == "delete") {
page_header("Löschen");
opentitle("Löschen");
opentable("100%");
if (is_array($_POST[filesel])) {
foreach ($_POST[filesel] as $file) {
if(@unlink($userdir.$d.$file)) echo "<font class=ok>$file wurde erfolgreich gelöscht.<br>\n";
}
}
if (is_array($_POST[foldersel])) {
foreach ($_POST[foldersel] as $file) {
listdircontents($userdir.$d);
foreach ($contenta as $delitem) if(@unlink($userdir.$d.$delitem)) echo "<font class=ok>$delitem wurde erfolgreich gelöscht.<br>\n";
foreach ($contentb as $delitem) if(@rmdir($userdir.$d.$delitem)) echo "<font class=ok>$delitem wurde erfolgreich gelöscht.<br>\n";
}
}
if (!$parseerror) echo "<a href=\"?d=$d\">Zurück</a>\n";
closetable();
page_footer();
} elseif (!$error && $bulk_action == "move") {
page_header("Verschieben");
opentitle("Verschieben");
opentable("100%");
if (is_array($_POST[filesel])) {
foreach ($_POST[filesel] as $file) {
if(@rename($userdir.$d.$file, $userdir.$ndir.$file)) echo "<font class=ok>$file wurde erfolgreich verschoben.<br>\n";
}
}
if (is_array($_POST[foldersel])) {
foreach ($_POST[foldersel] as $file) {
if(@rename($userdir.$d.$file, $userdir.$ndir.$file)) echo "<font class=ok>$file wurde erfolgreich verschoben.<br>\n";
}
}
if (!$parseerror) echo "<a href=\"?d=$d\">Zurück</a>\n";
closetable();
page_footer();
} elseif (!$error && $bulk_action == "chmod") {
page_header("Berechtigung ändern");
opentitle("Berechtigung ändern");
opentable("100%");
if (is_array($_POST[filesel])) {
foreach ($_POST[filesel] as $file) {
if(@chmod($userdir.$d.$file, intval($ndir,8))) echo "<font class=ok>".$file."'s Berechtigungen wurden erfolgreich auf $ndir geändert.<br>\n";
}
}
if (is_array($_POST[foldersel])) {
foreach ($_POST[foldersel] as $file) {
if(@chmod($userdir.$d.$file, $ndir)) echo "<font class=ok>".$file."'s Berechtigungen wurden erfolgreich geändert.<br>\n";
}
}
if (!$parseerror) echo "<a href=\"?d=$d\">Zurück</a>\n";
closetable();
page_footer();
} else {
page_header("Action");
opentitle("Action");
opentable("100%");
echo "<font class=error>$error</font>\n";
closetable();
page_footer();
}
}
Zuletzt bearbeitet: