| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 | <?php/** * @file * Install, update and uninstall functions for Mime Mail module. *//** * Implements hook_install(). */function mimemail_install() {  user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, array('edit mimemail user settings'));}/** * Implements hook_enable(). */function mimemail_enable() {  module_load_include('module', 'mailsystem');  mailsystem_set(    array(      mailsystem_default_id() => 'MimeMailSystem',      'mimemail' => 'MimeMailSystem',    )  );}/** * 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.');}
 |