Exemplo n.º 1
0
 function doBackup()
 {
     $config = $this->config;
     $workingDir = FileSystemHelper::tmpDir(null, 'ja', 0777);
     $workingDir .= $this->extKey . DS;
     if (mkdir($workingDir, 0777) === false) {
         return false;
     }
     $backupDir = $this->getBackupPath();
     if ($backupDir === false) {
         return false;
     }
     $locations = $this->getLocation();
     $cnt = count($locations);
     foreach ($locations as $name => $path) {
         if ($name != 'location') {
             FileSystemHelper::cp($path, $workingDir . $name, true, 0777);
         } else {
             FileSystemHelper::cp($path, $workingDir, true, 0777);
         }
     }
     $this->_backupDatabase($workingDir);
     //save all to backup file
     $createDate = date("Y-m-d H:i:s");
     $fileName = $this->extKey . "_" . date("dMY_His", strtotime($createDate));
     $fileNameBak = $fileName . ".zip";
     $fileBak = $backupDir . $fileNameBak;
     ArchiveHelper::zip($fileBak, $workingDir, true);
     //
     $comment = (string) (isset($this->message) ? $this->message : "");
     $info = "extKey={$this->extKey}" . "\r\n";
     $info .= "version={$this->version}" . "\r\n";
     $info .= "createDate={$createDate}" . "\r\n";
     $info .= "comment={$comment}" . "\r\n";
     $fileInfo = $backupDir . $fileName . ".txt";
     $fp = fopen($fileInfo, 'wb');
     fwrite($fp, $info);
     fclose($fp);
     //
     return $fileNameBak;
 }
Exemplo n.º 2
0
 /**
  *  Advanced move file and directories with support recursively mode
  *
  * @param $src  string source file or directory
  * @param $dest  string destination file or directory
  * @param $recursive  boolean recursive mode
  * @param $mod  int unix permission formated number
  *
  * @return  boolean true if success, otherwise return false
  */
 function mv($src, $dest, $recursive = false, $mod = 0700)
 {
     if (FileSystemHelper::cp($src, $dest, $recursive, $mod) === false) {
         return false;
     }
     if (JFolder::exists($src) && preg_match("/\\/\$/", $src) > 0) {
         $rv = true;
         $dh = opendir($src);
         while (($entry = readdir($dh)) !== false) {
             if (FileSystemHelper::rm($src . $entry, true) === false) {
                 $rv = false;
             }
         }
         return $rv;
     } else {
         return FileSystemHelper::rm($src, $dest, $recursive);
     }
 }