コード例 #1
0
ファイル: controller.php プロジェクト: carlyns/RESUSblog
 public function getList()
 {
     $res = new responseBup();
     $list = $this->getModel()->getList(reqBup::get('post'));
     $res->addData('list', $list);
     $res->addData('count', $this->getModel()->getCount());
     //$res->addMessage(__('Done', BUP_LANG_CODE));
     return $res->ajaxExec();
 }
コード例 #2
0
ファイル: controller.php プロジェクト: VSVS/vs_wp_4.0
 public function exemple()
 {
     $res = new responseBup();
     if ($data = $this->getModel()->backUpNow()) {
         $res->addMessage(langBup::_('Backup complete'));
         $res->addData($data);
     } else {
         $res->pushError($this->getModel('options')->getErrors());
     }
     return $res->ajaxExec();
 }
コード例 #3
0
ファイル: controller.php プロジェクト: VSVS/vs_wp_4.0
 public function saveMainFromDestGroup()
 {
     $res = new responseBup();
     $post = reqBup::get('post');
     if ($result = $this->getModel()->saveMainFromDestGroup($post)) {
         $res->addMessage(langBup::_('Save Complete'));
         $res->addData($result);
     } else {
         $res->pushError($this->getModel('options')->getErrors());
     }
     return $res->ajaxExec();
 }
コード例 #4
0
ファイル: controller.php プロジェクト: carlyns/RESUSblog
 public function saveMainFromDestGroup()
 {
     $res = new responseBup();
     $post = reqBup::get('post');
     if ($this->getModel()->saveMainFromDestGroup($post) && $this->getModel()->saveGroup($post)) {
         $res->addMessage(__('Save Complete', BUP_LANG_CODE));
         $res->addData(true);
     } else {
         $res->pushError($this->getModel('options')->getErrors());
     }
     return $res->ajaxExec();
 }
コード例 #5
0
ファイル: controller.php プロジェクト: VSVS/vs_wp_4.0
 public function bupSendInfo()
 {
     $res = new responseBup();
     if ($this->getModel()->welcomePageSaveInfo(reqBup::get('post'))) {
         $res->addMessage(langBup::_('Information was saved. Thank you!'));
         $originalPage = reqBup::getVar('original_page');
         $return = $this->getModule()->decodeSlug(str_replace('return=', '', $originalPage));
         $return = admin_url(strpos($return, '?') ? $return : 'admin.php?page=' . $return);
         $res->addData('redirect', $return);
         installerBup::setUsed();
     } else {
         $res->pushError($this->getModel()->getErrors());
     }
     return $res->ajaxExec();
 }
コード例 #6
0
ファイル: controller.php プロジェクト: carlyns/RESUSblog
 /**
  * Download Action
  * Downloads file from Amazon S3 to local storage
  * This action triggers before restoring from Amazon S3
  *
  * @since  1.1
  */
 public function downloadAction()
 {
     $request = reqBup::get('post');
     $response = new responseBup();
     /**@var amazonModelBup $model*/
     $model = $this->getModel();
     $extension = pathinfo($request['filename'], PATHINFO_EXTENSION);
     $filename = pathinfo($request['filename'], PATHINFO_BASENAME);
     if ($extension === 'sql' || $extension === 'zip') {
         if (file_exists($model->getBackupsPath() . $filename) || $model->download($request['filename']) === 201) {
             $response->addData(array('filename' => $filename));
         } else {
             $response->addError(array(__('File not found on Amazon S3', BUP_LANG_CODE)));
         }
     } else {
         $stacksFolder = basename($request['filename']) . '/';
         $stacksFileList = $model->getUploadedFiles($stacksFolder);
         if (!empty($stacksFileList)) {
             $backupPath = $model->getBackupsPath();
             $result = true;
             if (!file_exists($backupPath . $stacksFolder)) {
                 frameBup::_()->getModule('warehouse')->getController()->getModel('warehouse')->create($backupPath . $stacksFolder . DS);
             }
             foreach ($stacksFileList as $stack) {
                 if (!file_exists($backupPath . $stacksFolder . basename($stack))) {
                     $result = $model->download($stack, $stacksFolder) === 201 && $result ? true : false;
                 }
             }
             if ($result) {
                 $response->addData(array('filename' => basename($stacksFolder)));
             } else {
                 $response->addError(__('All stacks not downloaded!', BUP_LANG_CODE));
                 frameBup::_()->getModule('backup')->getController()->getModel('filesystem')->deleteLocalBackup(array($backupPath . $stacksFolder));
             }
         } else {
             $response->addError(__('Files not found on Amazon S3!', BUP_LANG_CODE));
         }
     }
     $response->ajaxExec();
 }
コード例 #7
0
ファイル: controller.php プロジェクト: VSVS/vs_wp_4.0
 /**
  * Restore Action
  * Restore system and/or database from backup
  */
 public function restoreAction()
 {
     $request = reqBup::get('post');
     $response = new responseBup();
     $filename = $request['filename'];
     $model = $this->getModel();
     $result = $model->restore($filename);
     if (false === $result) {
         $errors = array_merge($model->getDatabase()->getErrors(), $model->getFilesystem()->getErrors());
         if (empty($errors)) {
             $errors = langBup::_('Unable to restore from ' . $filename);
         }
         $response->addError($errors);
     } else {
         $response->addData($result);
         $response->addMessage(langBup::_('Done!'));
     }
     $response->addData(array('result' => $result));
     return $response->ajaxExec();
 }
コード例 #8
0
ファイル: controller.php プロジェクト: carlyns/RESUSblog
 /**
  * Restore Action
  *
  * @since  1.0
  */
 public function restoreAction()
 {
     $request = reqBup::get('post');
     $response = new responseBup();
     $extension = pathinfo($request['file'], PATHINFO_EXTENSION);
     if (!isset($request['file']) or empty($request['file'])) {
         $response->addError(__('There was an error during recovery', BUP_LANG_CODE));
     }
     if ($extension === 'sql' || $extension === 'zip') {
         if ($this->model->download($request['file']) === true) {
             $response->addData(array('filename' => $request['file']));
         } else {
             $response->addError($this->model->getErrors());
         }
     } else {
         $stacksFolder = !empty($request['file']) ? $request['file'] : '';
         $stacksFileList = $this->model->getUploadedFiles($stacksFolder . '/');
         if (!empty($stacksFileList)) {
             $backupPath = $this->model->getBackupsPath();
             $result = true;
             if (!file_exists($backupPath . $stacksFolder)) {
                 frameBup::_()->getModule('warehouse')->getController()->getModel('warehouse')->create($backupPath . $stacksFolder . DS);
             }
             foreach ($stacksFileList as $stack) {
                 if (!file_exists($backupPath . $stacksFolder . DS . basename($stack))) {
                     $result = $this->model->download($stack) && $result ? true : false;
                 }
             }
             if ($result) {
                 $response->addData(array('filename' => $stacksFolder));
             } else {
                 $response->addError(__('All files not downloaded from DropBox, please, try again', BUP_LANG_CODE));
             }
         } else {
             $response->addError(__('Files not found on OneDrive', BUP_LANG_CODE));
         }
     }
     return $response->ajaxExec();
 }
コード例 #9
0
ファイル: controller.php プロジェクト: carlyns/RESUSblog
 /**
  * Download Action
  * Download file from Google Drive to local server
  */
 public function downloadAction()
 {
     $request = reqBup::get('post');
     $response = new responseBup();
     /** @var gdriveModelBup $model*/
     $model = $this->getModel();
     $result = false;
     if ($model->isAuthenticated() === false) {
         $response->addError(__('Authentication required', BUP_LANG_CODE));
     }
     // if there is a local file, then we do not have sense to download it
     // from the server, so just immediately recover from it
     if (!empty($request['download_url'])) {
         if ($model->isLocalFileExists($request['filename']) === false) {
             $result = $model->download($request['download_url'], $request['filename']);
         } else {
             $result = true;
         }
     } else {
         $stacksFolder = !empty($request['filename']) ? $request['filename'] : '';
         $stacksList = $model->getUploadedFiles($stacksFolder, true);
         if (!empty($stacksList)) {
             $backupPath = $model->getBackupsPath();
             $result = true;
             if (!file_exists($backupPath . $stacksFolder)) {
                 frameBup::_()->getModule('warehouse')->getController()->getModel('warehouse')->create($backupPath . $stacksFolder . DS);
             }
             foreach ($stacksList as $stack) {
                 if (!file_exists($backupPath . $stacksFolder . DS . $stack['title'])) {
                     $result = $model->download($stack['downloadUrl'], $stacksFolder . DS . $stack['title']) && $result ? true : false;
                 }
             }
         } else {
             $response->addError(__('Files not found on Google Drive', BUP_LANG_CODE));
         }
     }
     if ($result === true) {
         $response->addData(array('filename' => $request['filename']));
     } elseif ($result === null) {
         $response->addError(__('File not found on Google Drive', BUP_LANG_CODE));
     } elseif ($result === false) {
         $response->addError(__('Failed to download file', BUP_LANG_CODE));
     }
     return $response->ajaxExec();
 }
コード例 #10
0
ファイル: controller.php プロジェクト: carlyns/RESUSblog
 public function getBackupLog()
 {
     $response = new responseBup();
     $request = reqBup::get('post');
     /** @var backupTechLogModelBup $techLog */
     $techLog = $this->getModel('backupTechLog');
     $techLog->setLogName($request['backupId']);
     /** @var backupLogTxtModelBup $log */
     $log = $this->getModel('backupLogTxt');
     $log->setLogName($request['backupId']);
     $backupComplete = $techLog->get('complete');
     $backupMessage = $techLog->get('backupMessage');
     $backupProcessPercent = $techLog->get('backupProcessPercent');
     $filesystemBackupComplete = $techLog->get('filesystemBackupComplete');
     $backupProcessData = array('backupLog' => $log->getContent(), 'backupComplete' => $backupComplete, 'backupMessage' => $backupMessage, 'backupProcessPercent' => $backupProcessPercent, 'filesystemBackupComplete' => $filesystemBackupComplete);
     $response->addData($backupProcessData);
     if ($backupComplete) {
         $techLog->deleteOldLogs();
         $response->addMessage(__('Backup complete!'), BUP_LANG_CODE);
     }
     return $response->ajaxExec();
 }