You are here

function mail_edit_list_filtered_form in Mail Editor 6

Same name and namespace in other branches
  1. 7 mail_edit.admin.inc \mail_edit_list_filtered_form()

Create $form array with filtered list.

Parameters

$languages: The languages to include.

$module: The module option to restrict the list with.

Return value

array The $form array.

1 call to mail_edit_list_filtered_form()
mail_edit_list in ./mail_edit.admin.inc
Page callback: List mail templates.

File

./mail_edit.admin.inc, line 108
Administrative interface for the Mail Editor module.

Code

function mail_edit_list_filtered_form($languages_selected, $module, $display_language_names) {
  _mail_edit_key_registry_rebuild();
  $header = _mail_edit_list_get_header($languages_selected, $display_language_names);
  switch ($module) {
    case '-all':
      $sql = "SELECT mer.id, mer.module, mer.mailkey, mer.description FROM {mail_edit_registry} mer ORDER BY mer.module, mer.mailkey";
      $result = pager_query($sql, 50, 0);
      break;
    case '-enabled':
      $enabled_modules = array_keys(_mail_edit_module_list());
      $placeholders = db_placeholders($enabled_modules, 'varchar');
      $sql = "SELECT mer.id, mer.module, mer.mailkey, mer.description FROM {mail_edit_registry} mer WHERE mer.module IN (" . $placeholders . ") ORDER BY mer.module, mer.mailkey";
      $result = pager_query($sql, 50, 0, NULL, $enabled_modules);
      break;
    default:
      $sql = "SELECT mer.id, mer.module, mer.mailkey, mer.description FROM {mail_edit_registry} mer WHERE mer.module = '%s' ORDER BY mer.module, mer.mailkey";
      $result = pager_query($sql, 50, 0, NULL, $module);
      break;
  }
  $form['templates']['#tree'] = TRUE;
  $form['#cache'] = TRUE;
  $form['header'] = array(
    '#type' => 'value',
    '#value' => $header,
  );
  $form['templates'] = array();
  while ($template = db_fetch_object($result)) {

    // Add all translated languages to template.
    $result2 = db_query("SELECT language FROM {mail_edit} WHERE id = '%s'", $template->id);
    while ($template2 = db_fetch_object($result2)) {
      $template->languages[$template2->language] = TRUE;
    }
    $form['templates'][$template->id] = _mail_edit_list_row($template, $languages_selected, $display_language_names);
  }
  $form['languages'] = array(
    '#type' => 'value',
    '#value' => $languages_selected,
  );
  $form['pager'] = array(
    '#value' => theme('pager', NULL, 50, 0),
  );
  $form['#theme'] = 'mail_edit_table';
  return $form;
}