| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 | <?php/** * @file * Configuration settings page for sending MIME-encoded emails. *//** * Configuration form. */function mimemail_admin_settings() {  // Check for the existence of a mail.css file in the default theme folder.  $theme = variable_get('theme_default', NULL);  $mailstyle = drupal_get_path('theme', $theme) . '/mail.css';  // Disable site style sheets including option if found.  if (is_file($mailstyle)) {    variable_set('mimemail_sitestyle', 0);    $disable_sitestyle = TRUE;  }  else {    $disable_sitestyle = FALSE;  }  $form = array();  $form['mimemail']['mimemail_name'] = array(    '#type'          => 'textfield',    '#title'         => t('Sender name'),    '#default_value' => variable_get('mimemail_name', variable_get('site_name', 'Drupal')),    '#size'          => 60,    '#maxlength'     => 128,    '#description'   => t('The name that all site emails will be from when using default engine.'),  );  $form['mimemail']['mimemail_mail'] = array(    '#type'          => 'textfield',    '#title'         => t('Sender e-mail address'),    '#default_value' => variable_get('mimemail_mail', variable_get('site_mail', ini_get('sendmail_from'))),    '#size'          => 60,    '#maxlength'     => 128,    '#description'   => t('The email address that all site e-mails will be from when using default engine.'),  );  $form['mimemail']['mimemail_simple_address'] = array(    '#type'          => 'checkbox',    '#title'         => t('Use simple address format'),    '#default_value' => variable_get('mimemail_simple_address', FALSE),    '#description' => t('Use the simple format of user@example.com for all recipient email addresses.'),  );  $form['mimemail']['mimemail_sitestyle'] = array(    '#type'          => 'checkbox',    '#title'         => t('Include site style sheets'),    '#default_value' => variable_get('mimemail_sitestyle', TRUE),    '#description'   => t('Gather all style sheets when no mail.css found in the default theme directory.'),    '#disabled'      => $disable_sitestyle,  );  $form['mimemail']['mimemail_textonly'] = array(    '#type' => 'checkbox',    '#title' => t('Send plain text email only'),    '#default_value' => variable_get('mimemail_textonly', FALSE),    '#description' => t('This option disables the use of email messages with graphics and styles. All messages will be converted to plain text.'),  );  $form['mimemail']['mimemail_linkonly'] = array(    '#type'          => 'checkbox',    '#title'         => t('Link images only'),    '#default_value' => variable_get('mimemail_linkonly', 0),    '#description'   => t('This option disables the embedding of images. All image will be available as external content. This can make email messages much smaller.'),  );  if (module_exists('mimemail_compress')) {    $form['mimemail']['mimemail_preserve_class'] = array(      '#type' => 'checkbox',      '#title' => t('Preserve class attributes'),      '#default_value' => variable_get('mimemail_preserve_class', 0),      '#description' => t('This option disables the removing of class attributes from the message source. Useful for debugging the style of the message.'),    );  }  // Get a list of all formats.  $formats = filter_formats();  foreach ($formats as $format) {    $format_options[$format->format] = $format->name;  }  $form['mimemail']['mimemail_format'] = array(    '#type' => 'select',    '#title' => t('E-mail format'),    '#options' => $format_options,    '#default_value' => variable_get('mimemail_format', filter_fallback_format()),    '#access' => count($formats) > 1,    '#attributes' => array('class' => array('filter-list')),  );  $form['mimemail']['advanced'] = array(    '#type' => 'fieldset',    '#title' => t('Advanced settings'),    '#collapsible' => TRUE,    '#collapsed' => TRUE,  );  $form['mimemail']['advanced']['mimemail_incoming'] = array(    '#type' => 'checkbox',    '#title' => t('Process incoming messages posted to this site'),    '#default_value' => variable_get('mimemail_incoming', FALSE),    '#description' => t('This is an advanced setting that should not be enabled unless you know what you are doing.'),  );  $form['mimemail']['advanced']['mimemail_key'] = array(    '#type' => 'textfield',    '#title' => t('Message validation string'),    '#default_value' => variable_get('mimemail_key', drupal_random_key()),    '#required' => TRUE,    '#description' => t('This string will be used to validate incoming messages. It can be anything, but must be used on both sides of the transfer.'),  );  // Get the available mail engines.  $engines = mimemail_get_engines();  foreach ($engines as $module => $engine) {    $engine_options[$module] = $engine['name'] . ': ' . $engine['description'];  }  // Hide the settings if only 1 engine is available.  if (count($engines) == 1) {    reset($engines);    variable_set('mimemail_engine', key($engines));    $form['mimemail']['mimemail_engine'] = array(      '#type' => 'hidden',      '#value' => variable_get('mimemail_engine', 'mimemail'),    );  }  else {    $form['mimemail']['mimemail_engine'] = array(      '#type' => 'select',      '#title' => t('E-mail engine'),      '#default_value' => variable_get('mimemail_engine', 'mimemail'),      '#options' => $engine_options,      '#description' => t('Choose an engine for sending mails from your site.'),    );  }  if (variable_get('mimemail_engine', 'mail')) {    $settings = module_invoke(variable_get('mimemail_engine', 'mimemail'), 'mailengine', 'settings');    if ($settings) {      $form['mimemail']['engine_settings'] = array(        '#type' => 'fieldset',        '#title' => t('Engine specific settings'),      );      foreach ($settings as $name => $value) {        $form['mimemail']['engine_settings'][$name] = $value;      }    }  }  else {    drupal_set_message(t('Please choose a mail engine.'), 'error');  }  return system_settings_form($form);}
 |