示例#1
0
 public function stepDatabaseBackup()
 {
     if ($this->isMultiStep()) {
         $requestData = $this->getRequestBackupData();
         if (!empty($requestData) && is_array($requestData)) {
             /** @var $backupFileDb Mageplace_Backup_Model_File */
             $backupFileDb = Mage::getModel('mpbackup/file')->setProfile($this->_profile)->setBackup($this)->setData($requestData);
         }
     }
     if (!isset($backupFileDb)) {
         $this->addBackupProcessMessage($this->_helper()->__('Start DB tables backup'), self::LOG_LEVEL_INFO);
         /** @var $backupFileDb Mageplace_Backup_Model_File */
         $backupFileDb = Mage::getModel('mpbackup/file')->setBackup($this)->setPath($this->getProfileData('profile_backup_path'))->setType('db');
         $firstTime = true;
     }
     $this->addMainBackupFiles($backupFileDb->getFileLocation());
     /** @var $dbModel Mageplace_Backup_Model_Db */
     $finished = Mage::getModel('mpbackup/db')->setBackup($this)->setExcludedTables($this->_profile->getExcludedTables())->start($backupFileDb);
     if (!$finished) {
         /* $db doesn't equal true only if time based multistep was set and step time is up */
         $this->setStepObjectIsNext(0);
     }
     if (isset($firstTime)) {
         $this->addFilesForDelete($backupFileDb->getFileLocation());
         $this->addBackupFiles($backupFileDb->getFileName());
     }
     if ($this->isMultiStep()) {
         $this->setStepObjectData($backupFileDb->getData());
         return $this;
     }
     return $backupFileDb;
 }