htmlmail.install in HTML Mail 8.3
Same filename and directory in other branches
Install, update, and uninstall functions for the HTML Mail module.
File
htmlmail.installView source
<?php
/**
* @file
* Install, update, and uninstall functions for the HTML Mail module.
*/
/**
* Implements hook_install().
*/
function htmlmail_install() {
$config = \Drupal::configFactory()
->getEditable('system.mail');
$mail_plugins = $config
->get('interface');
if (in_array('htmlmail', array_keys($mail_plugins))) {
return;
}
$mail_plugins['htmlmail'] = 'HTMLMailMailSystem';
$config
->set('interface', $mail_plugins)
->save();
$config = \Drupal::configFactory()
->getEditable('mailsystem.settings');
$config
->set('defaults.sender', 'htmlmail')
->set('defaults.formatter', 'htmlmail')
->save();
}
/**
* Implements hook_uninstall().
*/
function htmlmail_uninstall() {
$config = \Drupal::configFactory()
->getEditable('system.mail');
$mail_plugins = $config
->get('interface');
if (!in_array('htmlmail', array_keys($mail_plugins))) {
return;
}
unset($mail_plugins['htmlmail']);
$config
->set('interface', $mail_plugins)
->save();
$config = \Drupal::configFactory()
->getEditable('mailsystem.settings');
$config
->set('defaults.sender', 'php_mail')
->set('defaults.formatter', 'php_mail')
->save();
\Drupal::configFactory()
->getEditable('htmlmail.settings')
->delete();
}
/**
* Renames the HTML Mail configuration variables.
*
* @see https://www.drupal.org/project/htmlmail/issues/3168420
*/
function htmlmail_update_8301() {
$config = \Drupal::configFactory()
->getEditable('htmlmail.settings');
// Copy old configuration to new configuration.
$config
->set('debug', $config
->get('htmlmail_debug'))
->set('theme', $config
->get('htmlmail_theme'))
->set('html_with_plain', $config
->get('htmlmail_html_with_plain'))
->set('use_mime_mail', $config
->get('htmlmail_use_mime_mail'))
->set('postfilter', $config
->get('htmlmail_postfilter'))
->set('test', $config
->get('htmlmail_test'));
// Remove old configuration.
$config
->clear('htmlmail_debug')
->clear('htmlmail_theme')
->clear('htmlmail_html_with_plain')
->clear('htmlmail_use_mime_mail')
->clear('htmlmail_postfilter')
->clear('htmlmail_test');
// Save modified configuration.
$config
->save('TRUE');
}
/**
* Renames the 'use_mime_mail' configuration variable to 'use_mail_mime'.
*
* @see https://www.drupal.org/project/htmlmail/issues/3169313
*/
function htmlmail_update_8302() {
$config = \Drupal::configFactory()
->getEditable('htmlmail.settings');
// Copy old configuration to new configuration.
$config
->set('use_mail_mime', $config
->get('use_mime_mail'));
// Remove old configuration.
$config
->clear('use_mime_mail');
// Save modified configuration.
$config
->save('TRUE');
}
Functions
Name | Description |
---|---|
htmlmail_install | Implements hook_install(). |
htmlmail_uninstall | Implements hook_uninstall(). |
htmlmail_update_8301 | Renames the HTML Mail configuration variables. |
htmlmail_update_8302 | Renames the 'use_mime_mail' configuration variable to 'use_mail_mime'. |