function mail_edit_list_filtered_form in Mail Editor 6
Same name and namespace in other branches
- 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;
}