Leitgedanken/ftp_ansicht.php
2023-02-11 15:20:04 +01:00

235 lines
7.4 KiB
PHP

<?php
/*
# Fuer debugging
error_reporting(E_ALL);
ini_set('display_errors', 1);
#echo __LINE__."<br>";
*/
#error_reporting(E_ALL);
#ini_set('display_errors', 1);
require_once("config/ftpanbindung.php"); // f&uuml;gt die Datenbankanbindung ein
include_once 'classes/lg-on_Smarty.class.php';
$smarty = new lgon_Smarty();
require_once("config.inc.php");
require_once("func_rollenrechte.php");
$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html";
require_once "language/german.inc.php";
dbconnect();
if ($user_admin == ""){ require("index.php"); exit;} //Wenn man nicht angemeldet ist, darf man nicht auf die Seite
if(!rore($user_admin,'a_backup','RE')){require("lib/rechte.php");exit;}
// Rechteüberprüfung ende
$Verzeichnis = "./htdocs/leitgedanken_php8/backup/dump/save";
#$Verzeichnis2 = "/ali/";
$Verzeichnis2 = "/backup/lg-on";
#$Verzeichnis = ".";
if(isset($_GET['action'])){
$action = $_GET['action'];
}else{
$action = '';
}
if($action == ''){
#echo "1<br>";
$VerbindungsID = @ftp_connect($FTPServer);
$LoginErgebnis = @ftp_login($VerbindungsID, $FTPUser, $FTPPasswort);
$VerbindungsID_NAS = @ftp_connect($FTPServer2);
$LoginErgebnis2 = @ftp_login($VerbindungsID_NAS, $FTPUser2, $FTPPasswort2);
#$upload =ftp_put($VerbindungsID, "$destination_file", "$file_name", FTP_BINARY); // Zeile braucht er sonst zeigt er nichts an????
if($VerbindungsID && $LoginErgebnis)
{
#echo "2<br>";
$smarty->assign('ftp_ansicht_connect', "1");
$Dateiliste=ftp_nlist($VerbindungsID, $Verzeichnis);
sort($Dateiliste);
if($VerbindungsID_NAS && $LoginErgebnis2){
#echo "verbindung ok<br>";
$Dateiliste2=ftp_nlist($VerbindungsID_NAS, $Verzeichnis2);
sort($Dateiliste2);
#echo "<pre>Dateiliste:";
#print_r($Dateiliste2);
#echo "</pre>";
}
$table_data = array();
for($i=0; $i<count($Dateiliste); $i++){
if(basename($Dateiliste[$i]) != '.' AND basename($Dateiliste[$i]) != '..'){
$datei="./backup/dump/save/".basename($Dateiliste[$i]);
$Dateigroesse=filesize($datei);
$Dateien++;
$Verzeichnisgroesse+=$Dateigroesse;
$dateizeit = filemtime($datei);
if ($Dateigroesse <= 1024){
$einheit = "Byte";
$Dateigroesse = $Dateigroesse;
}
if ($Dateigroesse > 1024){
$einheit = "KB";
$Dateigroesse = $Dateigroesse/1024;
}
if ($Dateigroesse > 1024){
$einheit = "MB";
$Dateigroesse = $Dateigroesse/1024;
}
$dateiname = basename($Dateiliste[$i]);
$Dateigroesse = number_format($Dateigroesse, 2, ",", ".");
#$dateitag = date("d.m.Y H:i:s", $dateizeit);
$dateitag = date("d", $dateizeit);
$dateimon = date("m", $dateizeit);
$dateijahr = date("Y", $dateizeit);
$dateihr = date("H", $dateizeit);
$dateimi = date("i", $dateizeit);
$dateiss = date("s", $dateizeit);
$sommerzeit = date("I", mktime($dateihr, $dateimi, $dateiss, $dateimon, $dateitag, $dateijahr));
# Pear Package date: Wird hier zur Überprüfung der Sommerzeit verwendet
#require_once("Date/Date.php");
if ($sommerzeit == 1)
{
$faktor = "0";
}else{
$faktor = "1";
}
$dateitag = date("d.m.Y, H:i:s", mktime($dateihr+$faktor, $dateimi, $dateiss, $dateimon, $dateitag, $dateijahr));
if($VerbindungsID_NAS && $LoginErgebnis2){
for($j=0; $j<count($Dateiliste2); $j++){
$dateiname2 = basename($Dateiliste2[$j]);
if($dateiname == $dateiname2){
$status = "<img src='templates/$template/images/ok.gif' border=0>";
$j = count($Dateiliste2); # Wenn gefunden, dann aus der Schleife aussteigen
}
if($dateiname != $dateiname2){
$status = "<img src='templates/$template/images/cross.jpg' border=0>";
}
}
}else{
$status = "<img src='templates/$template/images/offline.gif' border=0>";
}
$unlink = "<a href=?action=unlink&datei=$dateiname><img src='templates/$template/images/deleteicon_enabled.gif' border=0></a>";
$table_data['dateiname'] = $dateiname;
$table_data['Dateigroesse'] = $Dateigroesse;
$table_data['einheit'] = $einheit;
$table_data['dateitag'] = $dateitag;
$table_data['status_button'] = $status;
$table_data['unlink_button'] = $unlink;
$value1[] = $table_data;
}
}
$smarty->assign('table_data', $value1);
if ($Verzeichnisgroesse > 1024){
$einheit = "KB";
$Verzeichnisgroesse = $Verzeichnisgroesse/1024;
}
if ($Verzeichnisgroesse > 1024){
$einheit = "MB";
$Verzeichnisgroesse = $Verzeichnisgroesse/1024;
}
$groesse = number_format($Verzeichnisgroesse, 2, ",", ".");
$smarty->assign('ftp_ansicht_anz_dateien', "$Dateien");
$smarty->assign('ftp_ansicht_dateigroesse', "$groesse");
$smarty->assign('ftp_ansicht_einheit', "$einheit");
}else{
$smarty->assign('ftp_ansicht_connect', "2");
}
}
if($action == 'download'){
$dateiname = $_GET['datei'];
$VerbindungsID = ftp_connect($FTPServer);
$LoginErgebnis = ftp_login($VerbindungsID, $FTPUser, $FTPPasswort);
if($VerbindungsID && $LoginErgebnis){
ftp_chdir($VerbindungsID, $Verzeichnis);
ftp_get($VerbindungsID, $dateiname, $dateiname, FTP_BINARY);
$size = filesize($dateiname);
header("HTTP/1.1 200 OK");
header("Content-type: \"application/octet-stream\"");
header ("Content-length: $size");
header("Content-Disposition: attachment; filename=\"".basename($dateiname)."\"");
readfile($dateiname);
@unlink($dateiname);
}else{
$smarty->assign('ftp_ansicht_connect', "2");
}
}
if($action == 'unlink'){
$dateiname = $_GET['datei'];
$VerbindungsID = ftp_connect($FTPServer);
$LoginErgebnis = ftp_login($VerbindungsID, $FTPUser, $FTPPasswort);
if($VerbindungsID && $LoginErgebnis){
@ftp_chdir($VerbindungsID, $Verzeichnis);
@ftp_delete($VerbindungsID, $dateiname);
}else{
$smarty->assign('ftp_ansicht_connect', "2");
}
ftp_quit($VerbindungsID);
$VerbindungsID = ftp_connect($FTPServer2);
$LoginErgebnis = ftp_login($VerbindungsID, $FTPUser2, $FTPPasswort2);
if($VerbindungsID && $LoginErgebnis){
@ftp_chdir($VerbindungsID, $Verzeichnis2);
@ftp_delete($VerbindungsID, $dateiname);
}else{
$smarty->assign('ftp_ansicht_connect', "2");
}
$VerbindungsID = ftp_connect($FTPServer2);
$LoginErgebnis = ftp_login($VerbindungsID, $FTPUser2, $FTPPasswort2);
if($VerbindungsID && $LoginErgebnis){
@ftp_chdir($VerbindungsID, $Verzeichnis2);
@ftp_delete($VerbindungsID, $dateiname);
}else{
$smarty->assign('ftp_ansicht_connect', "2");
}
ftp_quit($VerbindungsID);
echo "<meta http-equiv=\"refresh\" content=\"0; URL=$_SERVER[PHP_SELF] \">";
}
$smarty->assign('action', "$action");
$smarty->display("$template/$templatename");
?>