コード例 #1
0
 /**
  * Checks disk space availability
  *
  * @return JsonModel
  */
 public function checkAction()
 {
     $params = Json::decode($this->getRequest()->getContent(), Json::TYPE_ARRAY);
     $backupDir = $this->directoryList->getPath(DirectoryList::VAR_DIR) . '/' . BackupRollback::DEFAULT_BACKUP_DIRECTORY;
     try {
         $totalSize = 0;
         if (isset($params['options']['code']) && $params['options']['code']) {
             $totalSize += $this->backupHandler->getFSDiskSpace();
         }
         if (isset($params['options']['media']) && $params['options']['media']) {
             $totalSize += $this->backupHandler->getFSDiskSpace(Factory::TYPE_MEDIA);
         }
         if (isset($params['options']['db']) && $params['options']['db']) {
             $totalSize += $this->backupHandler->getDBDiskSpace();
         }
         $this->fileSystem->validateAvailableDiscSpace($backupDir, $totalSize);
         return new JsonModel(['responseType' => ResponseTypeInterface::RESPONSE_TYPE_SUCCESS, 'size' => true]);
     } catch (\Exception $e) {
         return new JsonModel(['responseType' => ResponseTypeInterface::RESPONSE_TYPE_ERROR, 'error' => $e->getMessage()]);
     }
 }