BackupMigrateQuickBackupForm.php in Backup and Migrate 8.4
File
src/Form/BackupMigrateQuickBackupForm.php
View source
<?php
namespace Drupal\backup_migrate\Form;
use BackupMigrate\Drupal\Config\DrupalConfigHelper;
use Drupal\backup_migrate\Entity\SettingsProfile;
use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;
class BackupMigrateQuickBackupForm extends FormBase {
public function getFormId() {
return 'backup_migrate_ui_manual_backup_quick';
}
public function buildForm(array $form, FormStateInterface $form_state) {
$form = [];
$bam = backup_migrate_get_service_object();
$form['quickbackup'] = [
'#type' => 'fieldset',
"#title" => $this
->t("Quick Backup"),
"#collapsible" => FALSE,
"#collapsed" => FALSE,
"#tree" => FALSE,
];
$form['quickbackup']['source_id'] = DrupalConfigHelper::getSourceSelector($bam, t('Backup Source'));
$form['quickbackup']['destination_id'] = DrupalConfigHelper::getDestinationSelector($bam, t('Backup Destination'));
$form['quickbackup']['settings_profile_id'] = DrupalConfigHelper::getSettingsProfileSelector(t('Settings Profile'));
unset($form['quickbackup']['destination_id']['#options']['upload']);
$form['quickbackup']['submit'] = [
'#type' => 'submit',
'#value' => $this
->t('Backup now'),
'#weight' => 1,
];
return $form;
}
public function validateForm(array &$form, FormStateInterface $form_state) {
parent::validateForm($form, $form_state);
}
public function submitForm(array &$form, FormStateInterface $form_state) {
$values = $form_state
->getValues();
$config = [];
if (!empty($values['settings_profile_id'])) {
$config = SettingsProfile::load($values['settings_profile_id'])
->get('config');
}
backup_migrate_perform_backup($values['source_id'], $values['destination_id'], $config);
}
}