| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 | <?php/** * @file * Installation for HTML Mail module. *//** * Implements hook_requirements(). * * Ensures that the Mail System module is available, and * that HTML Mail uses its own MailSystemInterface class. */function htmlmail_requirements($phase) {  $result = array();  if ($phase === 'install') {    return $result;  }  if (module_load_include('inc', 'mailsystem', 'html_to_text') !== FALSE) {    return $result;  }  $args = array(    '%htmlmail' => 'HTML Mail',    '!htmlmail' => 'http://drupal.org/project/htmlmail',    '%mailsystem' => 'Mail System',    '!mailsystem' => 'http://drupal.org/project/mailsystem',  );  $result['htmlmail_mailsystem'] = array(    'title' => t('%mailsystem module', $args),    'value' => t('7.x-1.x'),    'description' => t(      '<a href="!htmlmail">%htmlmail</a> new requires <a href="!mailsystem">%mailsystem</a> 7.x-2.6 or later.  Please download and install a recent version of <a href+"!mailsystem">%mailsystem</a>, then re-enable the <a href="!htmlmail">%htmlmail</a> module.', $args    ),    'severity' => REQUIREMENT_ERROR,  );  return $result;}/** * Implements hook_update_N(). * * Removes variables that are no longer used. */function htmlmail_update_7200() {  variable_del('htmlmail_header');  variable_del('htmlmail_footer');  variable_del('htmlmail_css');}/** * Implements hook_update_N(). * * Rename HTMLMailMailSystem to HTMLMailSystem. */function htmlmail_update_7201() {  module_load_include('module', 'mailsystem');  foreach (mailsystem_get() as $name => $value) {    if ($value == 'HTMLMailMailSystem') {      mailsystem_set(array($name => 'HTMLMailSystem'));    }  }}/** * Implements hook_update_N(). * * Increase module weight so dependent modules get loaded first. */function htmlmail_update_7202() {  db_query("UPDATE {system} SET weight = 10 WHERE type = 'module' AND name = 'htmlmail'");}function htmlmail_update_7203() {  if ($requirements = htmlmail_requirements('runtime')) {    $requirement = array_shift($requirements);    throw new DrupalUpdateException($requirement['description']);  }}/** * Implements hook_enable(). */function htmlmail_enable() {  module_load_include('module', 'mailsystem');  mailsystem_set(array('htmlmail' => 'HTMLMailSystem'));}/** * Implements hook_disable(). */function htmlmail_disable() {  // Check is necessary because a 7.x-1.x to 7.x-2.x upgrade  // may not have mailsystem installed.  if (function_exists('mailsystem_clear')) {    mailsystem_clear(array('htmlmail' => 'HTMLMailSystem'));  }}/** * Implements hook_install(). */function htmlmail_install() {  htmlmail_update_7202();}/** * Implements hook_uninstall(). */function htmlmail_uninstall() {  db_query("DELETE FROM {variable} WHERE name LIKE 'htmlmail_%'");  cache_clear_all('variables', 'cache');}
 |