Exemplo n.º 1
0
 function _applyFileRemoved($objectFilter, $applyLocation)
 {
     //remove file base on $objectFilter
     //important note: do not remove sql files (for rollback db)
     if (count($objectFilter) > 0) {
         foreach ($objectFilter as $entry => $status) {
             $element = FileSystemHelper::clean($applyLocation . DS . $entry);
             if (is_object($status)) {
                 //is folder? => remove recusive
                 $this->_applyFileRemoved($objectFilter->{$entry}, $element);
             } else {
                 if ($status == 'removed' && FileSystemHelper::getExt($entry) != 'sql') {
                     FileSystemHelper::rm($element);
                 }
             }
         }
     }
 }
Exemplo n.º 2
0
 function listBackupFiles($product, $upgradeVersion)
 {
     $folder = $this->getLocalBackupPath($product);
     $FileSystemHelper = new FileSystemHelper();
     $files = $FileSystemHelper->files($folder);
     if ($files) {
         $aFiles = array();
         $i = -1;
         foreach ($files as $file) {
             if ($FileSystemHelper->getExt($file) == "zip") {
                 if (strpos($file, $product->extKey) === 0) {
                     $backupName = $FileSystemHelper->stripExt($file);
                     $fileInfo = $folder . $backupName . ".txt";
                     if (($data = $this->_parseBackupInfo($fileInfo)) !== false) {
                         $i++;
                         $aFiles[$i]['extKey'] = $product->extKey;
                         $aFiles[$i]['version'] = $data["version"];
                         $aFiles[$i]['name'] = $file;
                         $aFiles[$i]['title'] = date("M d, Y - H:i:s", strtotime($data["createDate"]));
                         $aFiles[$i]['comment'] = $data["comment"];
                         if (JFolder::exists($folder . $backupName . '/')) {
                             $aFiles[$i]['conflicted'] = 1;
                             $aFiles[$i]['conflictedFolder'] = $backupName;
                         } else {
                             $aFiles[$i]['conflicted'] = 0;
                         }
                     }
                 }
             }
         }
         if ($i >= 0) {
             //sort by newer down to older
             $aFiles = array_reverse($aFiles);
             //group by version
             return $this->msort($aFiles, 'version');
         } else {
             //throw new Exception('[UpdaterClient->listBackupFiles] No backup file is found', 100);
             return false;
         }
     } else {
         //throw new Exception('[UpdaterClient->listBackupFiles] No backup file is found', 100);
         return false;
     }
 }