<?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_utf8/backup/dump/save";
$Verzeichnis2 = "/ali/";
$Verzeichnis3 = "/backup/lg-on";
#$Verzeichnis = ".";


if(isset($_GET['action'])){
  $action = $_GET['action'];
}else{
  $action = '';
}
if($action == ''){
   $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)
   {
     $smarty->assign('ftp_ansicht_connect', "1");
     $Dateiliste=ftp_nlist($VerbindungsID, $Verzeichnis);
     sort($Dateiliste);
     
     if($VerbindungsID_NAS && $LoginErgebnis2){
       $Dateiliste2=ftp_nlist($VerbindungsID_NAS, $Verzeichnis2);
       sort($Dateiliste2);
     }
     
     $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);
             $dateitag2 = date("Y.m.d 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);
     
             # Pear Package date: Wird hier zur Überprüfung der Sommerzeit verwendet
             require_once("Date/Date.php");
     
     
     
             $date=new Date($dateitag2);
             if (true==$date->inDaylightTime())
             {
                $faktor = "0";
             }else{
                $faktor = "0";
             }
     
             $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($FTPServer3);
  $LoginErgebnis = ftp_login($VerbindungsID, $FTPUser3, $FTPPasswort3);
  if($VerbindungsID && $LoginErgebnis){
  
   @ftp_chdir($VerbindungsID, $Verzeichnis3);
   @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");
?>