mimemail.install in Mime Mail 7
Same filename and directory in other branches
Install, update and uninstall functions for Mime Mail module.
File
mimemail.installView source
<?php
/**
* @file
* Install, update and uninstall functions for Mime Mail module.
*/
/**
* Implements hook_enable().
*/
function mimemail_enable() {
module_load_include('module', 'mailsystem');
mailsystem_set(array(
mailsystem_default_id() => 'MimeMailSystem',
'mimemail' => 'MimeMailSystem',
));
user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, array(
'edit mimemail user settings',
));
}
/**
* Implements hook_disable().
*/
function mimemail_disable() {
mailsystem_clear(array(
'mimemail' => 'MimeMailSystem',
));
variable_set('mimemail_alter', FALSE);
}
/**
* Implements hook_uninstall().
*/
function mimemail_uninstall() {
$variables = array(
'mimemail_alter',
'mimemail_crlf',
'mimemail_engine',
'mimemail_incoming',
'mimemail_key',
'mimemail_textonly',
'mimemail_sitestyle',
'mimemail_name',
'mimemail_mail',
'mimemail_format',
'mimemail_simple_address',
'mimemail_linkonly',
'mimemail_preserve_class',
);
foreach ($variables as $variable) {
variable_del($variable);
}
}
/**
* Implements hook_requirements().
*
* Ensures that the newly-required Mail System module is available, or else
* disables the Mime Mail module and returns an informative error message.
*/
function mimemail_requirements($phase) {
if ($phase === 'install' || module_exists('mailsystem')) {
return array();
}
$args = array(
'!mailsystem' => url('http://drupal.org/project/mailsystem'),
'%mailsystem' => 'Mail System',
'!mimemail' => url('http://drupal.org/project/mimemail'),
'%mimemail' => 'Mime Mail',
);
if (module_enable(array(
'mailsystem',
)) && module_load_include('module', 'mailsystem')) {
drupal_set_message(t('The %mailsystem module has been enabled because the %mimemail module now requires it.', $args));
return array();
}
return array(
'mimemail_mailsystem' => array(
'title' => t('%mailsystem module', $args),
'value' => t('Not installed'),
'description' => t('The <a href="!smtp">%mimemail</a> module dependencies have changed. Please download and install the required <a href="!mailsystem">%mailsystem</a> module, then re-enable the <a href="!mimemail">%mimemail</a> module.', $args),
'severity' => REQUIREMENT_ERROR,
),
);
}
/**
* Check installation requirements.
*/
function mimemail_update_7000() {
if ($requirements = mimemail_requirements('runtime')) {
throw new DrupalUpdateException($requirements['mimemail_mailsystem']['description']);
}
}
/**
* Deletes useless variables.
*/
function mimemail_update_7001() {
variable_del('mimemail_theme');
}
/**
* Generate new key for authenticating incoming messages.
*/
function mimemail_update_7002() {
variable_set('mimemail_key', drupal_random_key());
return t('Mime Mail has generated a new key to authenticate incoming messages.');
}
Functions
Name | Description |
---|---|
mimemail_disable | Implements hook_disable(). |
mimemail_enable | Implements hook_enable(). |
mimemail_requirements | Implements hook_requirements(). |
mimemail_uninstall | Implements hook_uninstall(). |
mimemail_update_7000 | Check installation requirements. |
mimemail_update_7001 | Deletes useless variables. |
mimemail_update_7002 | Generate new key for authenticating incoming messages. |