action_backup_file.php
Upload User: feiyaoda
Upload Date: 2016-11-21
Package Size: 9556k
Code Size: 5k
Category:

WEB Mail

Development Platform:

PHP

  1. <?php
  2. if ($_POST['prepend_file'])
  3. {
  4.     // we must check that file doesn't exists
  5.     $warnings = 0;
  6.     
  7.     switch ($_POST['prepend_file'])
  8.     {
  9.         case 'none' :               $prepend_ext = ''; break;
  10.         case 'bak' :                $prepend_ext = '.bak'; break;
  11.         case 'bak-datetime' :       $prepend_ext = '.bak-'.date('Y-m-d_h-i'); break;
  12.         case 'bak-time' :           $prepend_ext = '.bak-'.date('h-i'); break;
  13.         case 'userdefined' :        $prepend_ext = $_POST['prepend_file_user']; break;
  14.         case 'userdefined-date' :   $prepend_ext = date($_POST['prepend_file_user']); break;
  15.         default : die($get_string->get('not_implemented').$_POST['prepend_file']);
  16.     }
  17.     
  18.     switch ($_POST['prepend_folder'])
  19.     {
  20.         case 'none' :               $prepend_folder = ''; break;
  21.         case 'backup' :             $prepend_folder = 'backup'; break;
  22.         case 'userdefined' :        $prepend_folder = $_POST['prepend_folder_user']; break;
  23.         case 'userdefined-date' :   $prepend_folder = date($_POST['prepend_folder_user']); break;
  24.         default : die($get_string->get('not_implemented').$_POST['prepend_folder']);
  25.     }
  26.     
  27.     // adding a trailling slash if used and create folder if needed
  28.     if ($prepend_folder != '')
  29.     {
  30.         $backup_folder = translate_path($target_folder.$prepend_folder,true);
  31.         
  32.         if (FALSE == is_dir($backup_folder))
  33.         {
  34.             if (!rmkdir($backup_folder))
  35.                 die($get_string->get('failed_create_folder').$backup_folder);
  36.         }
  37.     }
  38.     else
  39.         $backup_folder = translate_path($target_folder,true);
  40.     
  41.     foreach ($buffer_selection_files as $id => $path)
  42.     {
  43.         $path = translate_path($path);
  44.         
  45.         $path_infos = pathinfo($path);
  46.         
  47.         $basename_wo_ext = substr($path_infos['basename'],0,(strlen($path_infos['basename']) - strlen($path_infos['extension'])-1));
  48.         
  49.         $new_file = $backup_folder.$basename_wo_ext.$prepend_ext.'.'.$path_infos['extension'];
  50.         
  51.         if (is_file($new_file))
  52.         {
  53.             echo "<font color=red>".sprintf($get_string->get('file_already_exists'),$new_file)."</font><br>n";
  54.             $warnings++;
  55.         }
  56.         else
  57.         {
  58.             $copy_filelist[$path] = $new_file;
  59.         }
  60.     }
  61.     
  62.     if (0 == $warnings)
  63.     {
  64.         // we could safely rename files
  65.         foreach ($copy_filelist as $source => $dest)
  66.         {
  67.             if ($_INI['verbose']) echo $get_string->get('backup')." $source => $dest ";
  68.             if (copy($source,$dest))
  69.             {
  70.                 if ($_INI['verbose']) echo $get_string->get('success')."<br>n";
  71.             }
  72.             else
  73.             {
  74.                 if ($_INI['verbose']) echo $get_string->get('error')."<br>n";
  75.             }
  76.         }
  77.     }
  78. }
  79. else
  80. {
  81.     // we list files and purpose a new name
  82.     
  83.     echo "<form action=execute.php method=POST>n";
  84.     echo "<input type=hidden name=action value="".$_POST['action']."">n";
  85.     echo "<input type=hidden name=target_folder value="".$_POST['target_folder']."">n";
  86.     echo "<input type=hidden name=target_type value="".$_POST['target_type']."">n";
  87.     echo "<input type=hidden name=buffer_copy value="".$_POST['buffer_copy']."">n";
  88.     echo "<input type=hidden name=buffer_selection value="".$_POST['buffer_selection']."">n";    
  89.     
  90.     echo $get_string->get('select_prepending_ext')."<br>n";
  91.     echo "<input type=radio name="prepend_file" value="none"> ".$get_string->get('no_changes')."<br>n";
  92.     echo "<input type=radio name="prepend_file" value="bak" checked> ".$get_string->get('ext_bak')."<br>n";
  93.     echo "<input type=radio name="prepend_file" value="bak-datetime"> ".$get_string->get('ext_bak_datetime')."<br>n";
  94.     echo "<input type=radio name="prepend_file" value="bak-datetime"> ".$get_string->get('ext_bak_time')."<br>n";
  95.     echo "<input type=radio name="prepend_file" value="userdefined"><input type=text name="prepend_file_user" value=".bak"><br>n";
  96.     echo "<input type=radio name="prepend_file" value="userdefined-date"><input type=text name="prepend_file_user" value=".y-M-d"> ".$get_string->get('date_passed_to')."<br>n";
  97.     
  98.     echo "<br>n";
  99.     
  100.     echo $get_string->get('select_prepending_dir')." :<br>n";
  101.     echo "<input type=radio name="prepend_folder" value="none" checked>".$get_string->get('leave_in_current_dir')."<br>n";
  102.     echo "<input type=radio name="prepend_folder" value="backup"> backup/<br>n";
  103.     echo "<input type=radio name="prepend_folder" value="userdefined"><input type=text name="prepend_folder_user" value="backup"><br>n";
  104.     echo "<input type=radio name="prepend_folder" value="userdefined-date"><input type=text name="prepend_folder_user" value="y-M-d"> ".$get_string->get('date_passed_to')."<br>n";
  105.     
  106.     echo "<br>n";    
  107.     
  108.     echo "<input type=submit name=submit value="".$get_string->get('backup')."">n";
  109.     echo "</form>n";
  110. }