/** * Send backup success email * * @param Mageplace_Backup_Model_Profile $profile * @param Mageplace_Backup_Model_Backup $backup */ public function sendSuccessEmail($profile, $backup) { try { if (!$profile instanceof Mageplace_Backup_Model_Profile) { throw Mage::exception('Mageplace_Backup', Mage::helper('mpbackup')->__('Profile object is wrong')); } if (!$profile->getData(Mageplace_Backup_Model_Profile::CRON_SUCCESS_EMAIL)) { Mage::log('MPBackup send success email not selected'); } else { $logLevel = $profile->getData(Mageplace_Backup_Model_Profile::CRON_SUCCESS_EMAIL_LOG_LEVEL); $logs = $backup->getLogs($logLevel); /* @var Mage_Core_Model_Translate $translate */ $translate = Mage::getSingleton('core/translate'); $translate->setTranslateInline(false); /* @var Mage_Core_Model_Email_Template $emailTemplate */ $emailTemplate = Mage::getModel('core/email_template'); $emailTemplate->setDesignConfig(array('area' => 'backend'))->sendTransactional($profile->getData(Mageplace_Backup_Model_Profile::CRON_SUCCESS_EMAIL_TEMPLATE), $profile->getData(Mageplace_Backup_Model_Profile::CRON_SUCCESS_EMAIL_IDENTITY), $profile->getData(Mageplace_Backup_Model_Profile::CRON_SUCCESS_EMAIL), null, array('profile_id' => $profile->getId(), 'profile_name' => $profile->getProfileName(), 'backup_id' => $backup->getId(), 'logs' => join("\n", $logs))); $translate->setTranslateInline(true); } } catch (Exception $e) { Mage::logException($e); Mage::log('MPBackup send success email has errors: ' . $e->getMessage()); } }
/** * @param Mageplace_Backup_Model_Backup $backup * @param bool $error */ public function finishSchedule(Mageplace_Backup_Model_Backup $backup, $error) { $schedule = $this->_getBackupSchedule($backup->getId()); if ($schedule->getId()) { $schedule->setStatus($error ? Mageplace_Backup_Helper_Const::STATUS_ERROR : Mageplace_Backup_Helper_Const::STATUS_SUCCESS)->setMessages($backup->getBackupErrors())->setFinishedAt(strftime('%Y-%m-%d %H:%M:%S', time()))->save(); } if ($error) { Mage::helper('mpbackup/email')->sendErrorsEmail($backup->getProfile(), $backup->getBackupErrors()); } else { Mage::helper('mpbackup/email')->sendSuccessEmail($backup->getProfile(), $backup); } }
/** * @param Mageplace_Backup_Model_Backup $backup * * @return $this */ public function setBackup(Mageplace_Backup_Model_Backup $backup) { $this->_backup = $backup; $this->_backupId = $backup->getId(); $this->_backupSecret = $backup->getBackupSecret(); $this->_request = $backup->getRequest(); return $this; }