function mail_edit_list_filtered_form in Mail Editor 7
Same name and namespace in other branches
- 6 mail_edit.admin.inc \mail_edit_list_filtered_form()
Create $form array with filtered list.
Parameters
array $languages_selected: The list of selected languages.
string $module: The module option to restrict the list with.
bool $display_language_names: Whether to display the language names.
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 112 - 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);
_mail_edit_key_registry_rebuild();
$query = db_select('mail_edit_registry', 'mer')
->extend('PagerDefault')
->limit(50)
->fields('mer', array(
'id',
'module',
'mailkey',
'description',
))
->orderBy('mer.module')
->orderBy('mer.mailkey');
switch ($module) {
case '-all':
break;
case '-enabled':
$enabled_modules = array_keys(_mail_edit_module_list());
$query
->condition('mer.module', $enabled_modules, 'IN');
break;
default:
$query
->condition('mer.module', $module);
break;
}
$form['templates']['#tree'] = TRUE;
$form['#cache'] = TRUE;
$form['header'] = array(
'#type' => 'value',
'#value' => $header,
);
$form['templates'] = array();
foreach ($query
->execute() as $template) {
// Add all translated languages to the template.
$languages = db_select('mail_edit', 'me')
->fields('me', array(
'language',
))
->condition('me.id', $template->id)
->execute()
->fetchCol();
foreach ($languages as $language) {
$template->languages[$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['#theme'] = 'mail_edit_table';
$form['pager'] = array(
'#markup' => theme('pager'),
);
return $form;
}