public function displayDeactivatePage() { $this->assign('GET', reqBup::get('get')); $this->assign('POST', reqBup::get('post')); $this->assign('REQUEST_METHOD', strtoupper(reqBup::getVar('REQUEST_METHOD', 'server'))); $this->assign('REQUEST_URI', basename(reqBup::getVar('REQUEST_URI', 'server'))); parent::display('deactivatePage'); }
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(); }
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(); }
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(); }
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(); }
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(); }
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(); }
/** * Authenticate client * * @since 1.1 * @return boolean */ public function authenticate() { $client = $this->getClient(); $request = reqBup::get('get'); if (!isset($request['googleAuthCode']) or empty($request['googleAuthCode'])) { return $this->getAuthenticationURL(); } $code = trim($request['googleAuthCode']); try { $_SESSION[self::GDRIVE_SESS_NAME] = $client->authenticate($code); $this->saveToken($_SESSION[self::GDRIVE_SESS_NAME]); $tokens = json_decode($this->readToken()); if (!empty($tokens->refresh_token)) { frameBup::_()->getTable('options')->update(array('value' => $tokens->refresh_token), array('code' => 'gdrive_refresh_token')); } $uri = null; if (is_array($request)) { $uri = array(); foreach ($request as $key => $value) { if ($key != 'googleAuthCode') { $uri[] = $key . '=' . $value; } } $uri = 'admin.php?' . join('&', $uri); } $redirectURI = !empty($uri) ? $uri : 'admin.php?page=' . BUP_PLUGIN_PAGE_URL_SUFFIX; redirectBup(admin_url($redirectURI)); } catch (Exception $e) { $this->pushError($e->getMessage()); return $this->getAuthenticationURL(); } }
/** * 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(); }
/** * 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(); }
/** * 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(); }
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(); }
/** * 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(); }
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(); }