示例#1
0
 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
 public function saveGroupEvery()
 {
     $res = new responseBup();
     if ($data = $this->getModel()->saveGroupEvery(reqBup::get('post'))) {
         $res->addMessage(langBup::_('Save complete'));
         //$res->addData($data);
     } else {
         $res->pushError($this->getModel()->getErrors());
     }
     return $res->ajaxExec();
 }
示例#3
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
 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
 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
 public function sendMailToDevelopers()
 {
     $res = new responseBup();
     $data = reqBup::get('post');
     $fields = array('name' => new fieldBupBup('name', __('Your name field is required.', BUP_LANG_CODE), '', '', 'Your name', 0, array(), 'notEmpty'), 'website' => new fieldBupBup('website', __('Your website field is required.', BUP_LANG_CODE), '', '', 'Your website', 0, array(), 'notEmpty'), 'email' => new fieldBupBup('email', __('Your e-mail field is required.', BUP_LANG_CODE), '', '', 'Your e-mail', 0, array(), 'notEmpty, email'), 'subject' => new fieldBupBup('subject', __('Subject field is required.', BUP_LANG_CODE), '', '', 'Subject', 0, array(), 'notEmpty'), 'category' => new fieldBupBup('category', __('You must select a valid category.', BUP_LANG_CODE), '', '', 'Category', 0, array(), 'notEmpty'), 'message' => new fieldBupBup('message', __('Message field is required.', BUP_LANG_CODE), '', '', 'Message', 0, array(), 'notEmpty'));
     foreach ($fields as $f) {
         $f->setValue($data[$f->name]);
         $errors = validatorBup::validate($f);
         if (!empty($errors)) {
             $res->addError($errors);
         }
     }
     if (!$res->error) {
         $msg = 'Message from: ' . get_bloginfo('name') . ', Host: ' . $_SERVER['HTTP_HOST'] . '<br />';
         foreach ($fields as $f) {
             $msg .= '<b>' . $f->label . '</b>: ' . nl2br($f->value) . '<br />';
         }
         $headers[] = 'From: ' . $fields['name']->value . ' <' . $fields['email']->value . '>';
         wp_mail('*****@*****.**', 'Supsystic Ecommerce Contact Dev', $msg, $headers);
         $res->addMessage(__('Done', BUP_LANG_CODE));
     }
     $res->ajaxExec();
 }
示例#7
0
 /**
  * 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();
 }
示例#8
0
 /**
  * Remove Action
  */
 public function removeAction()
 {
     $request = reqBup::get('post');
     $response = new responseBup();
     $model = $this->getModel();
     if ($model->remove($request['filename']) === true) {
         $response->addMessage(langBup::_('Backup successfully removed'));
     } else {
         $response->addError(langBup::_('Unable to delete backup'));
     }
     $response->ajaxExec();
 }
示例#9
0
 /**
  * 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();
 }
示例#10
0
 public function downloadAction()
 {
     $request = reqBup::get('post');
     $response = new responseBup();
     /**@var onedriveModelBup $onedrive*/
     $onedrive = $this->getModel();
     $extension = pathinfo($request['fileName'], PATHINFO_EXTENSION);
     if ($extension === 'sql' || $extension === 'zip') {
         if (file_exists($onedrive->getBackupsPath() . $request['fileName']) || $onedrive->download($request['file_id'])) {
             $response->addMessage(__('File downloaded.', BUP_LANG_CODE));
         } else {
             $response->addError($onedrive->getErrors());
         }
     } else {
         $stacksFolder = !empty($request['fileName']) ? $request['fileName'] : '';
         $stacksFileList = $onedrive->getUserFiles($stacksFolder);
         if (!empty($stacksFileList)) {
             $backupPath = $onedrive->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 . $stack->name)) {
                     $result = $onedrive->download($stack->id, false, $stacksFolder . DS) && $result ? true : false;
                 }
             }
         } else {
             $response->addError(__('Files not found on OneDrive', BUP_LANG_CODE));
         }
     }
     return $response->ajaxExec();
 }
示例#11
0
 /**
  * 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();
 }
示例#12
0
 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();
 }