'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 %mimemail module dependencies have changed. Please download and install the required %mailsystem module, then re-enable the %mimemail 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.'); }