class DrupalUtils in Backup and Migrate 8.4
Class DrupalUtils.
@package BackupMigrate\Drupal\Filter
Hierarchy
- class \BackupMigrate\Core\Plugin\PluginBase implements ConfigurableInterface, PluginInterface uses ConfigurableTrait
- class \BackupMigrate\Drupal\Filter\DrupalUtils
Expanded class hierarchy of DrupalUtils
File
- src/
Filter/ DrupalUtils.php, line 17
Namespace
BackupMigrate\Drupal\FilterView source
class DrupalUtils extends PluginBase {
/**
* @var boolean Whether the site was put in maintenance mode before the operation.
*/
protected $maintenance_mode;
/**
* {@inheritdoc}
*/
public function configSchema($params = []) {
$schema = [];
// Backup configuration.
if ($params['operation'] == 'backup' || $params['operation'] == 'restore') {
$schema['groups']['advanced'] = [
'title' => 'Advanced Settings',
];
$schema['fields']['site_offline'] = [
'group' => 'advanced',
'type' => 'boolean',
'title' => $this
->t('Take site offline'),
'description' => $this
->t('Take the site offline during backup and show a maintenance message. Site will be taken back online once the backup is complete.'),
];
}
return $schema;
}
/**
* Get the default values for the plugin.
*
* @return \BackupMigrate\Core\Config\Config
*/
public function configDefaults() {
return new Config([
'disable_query_log' => TRUE,
'site_offline' => FALSE,
]);
}
/**
* Run before the backup/restore begins.
*/
public function setUp() {
$this
->takeSiteOffline();
}
/**
* Run after the operation is complete.
*/
public function tearDown() {
$this
->takeSiteOnline();
}
/**
* Take the site offline if we need to.
*/
protected function takeSiteOffline() {
// Take the site offline.
if ($this
->confGet('site_offline') && !\Drupal::state()
->get('system.maintenance_mode')) {
\Drupal::state()
->set('system.maintenance_mode', TRUE);
$this->maintenance_mode = TRUE;
}
}
/**
* Take the site online if it was taken offline for this operation.
*/
protected function takeSiteOnline() {
// Take the site online again.
if ($this->maintenance_mode) {
\Drupal::state()
->set('system.maintenance_mode', FALSE);
}
}
/**
* Perform actions before restoring the backup.
*
* This used to perform a file size check but it occurred *after* the file
* was uploaded and uncompressed, which was a complete waste of time.
*
* @todo Remove this.
*
* @param BackupFileReadableInterface $file
*
* @return BackupFileReadableInterface
*/
public function beforeRestore(BackupFileReadableInterface $file) {
return $file;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ConfigurableTrait:: |
protected | property | The object's configuration object. | |
ConfigurableTrait:: |
protected | property | The initial configuration. These configuration options can be overriden by the config options but will not be overwritten. If the object is re-configured after construction any missing configuration options will revert to these values. | |
ConfigurableTrait:: |
public | function | Get a specific value from the configuration. | |
ConfigurableTrait:: |
public | function | Get the configuration object for this item. | |
ConfigurableTrait:: |
public | function | Get any validation errors in the config. | |
ConfigurableTrait:: |
public | function | Set the configuration for all plugins. | 1 |
ConfigurableTrait:: |
public | function | 2 | |
DrupalUtils:: |
protected | property | ||
DrupalUtils:: |
public | function | Perform actions before restoring the backup. | |
DrupalUtils:: |
public | function |
Get the default values for the plugin. Overrides ConfigurableTrait:: |
|
DrupalUtils:: |
public | function |
Get a default (blank) schema. Overrides ConfigurableTrait:: |
|
DrupalUtils:: |
public | function | Run before the backup/restore begins. | |
DrupalUtils:: |
protected | function | Take the site offline if we need to. | |
DrupalUtils:: |
protected | function | Take the site online if it was taken offline for this operation. | |
DrupalUtils:: |
public | function | Run after the operation is complete. | |
PluginBase:: |
public | function |
What is the weight of the given operation for this plugin. Overrides PluginInterface:: |
|
PluginBase:: |
public | function |
Get a list of supported operations and their weight. Overrides PluginInterface:: |
8 |
PluginBase:: |
public | function |
Does this plugin implement the given operation. Overrides PluginInterface:: |
|
TranslatableTrait:: |
protected | property | ||
TranslatableTrait:: |
public | function | ||
TranslatableTrait:: |
public | function | Translate the given string if there is a translator service available. |