function csm_form_alter in Custom Submit Messages 6
Same name and namespace in other branches
- 7 csm.module \csm_form_alter()
Implements hook_form_alter().
File
- ./
csm.module, line 11 - The main module file for Custom Submit Messages.
Code
function csm_form_alter(&$form, $form_state, $form_id) {
if ($form_id == 'node_type_form' && isset($form['identity']['type'])) {
if (user_access('change ' . $form['#node_type']->type . ' submit messages')) {
// If the current user has the correct permissions, add submit message
// setting fields to the form
$form['csm'] = array(
'#type' => 'fieldset',
'#title' => t('Submit message settings'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
global $language;
$current_lang = $language->language;
// Add submit message subsections for each language
foreach (language_list() as $lang => $details) {
$form['csm'][$lang] = _csm_lang_fieldsets($lang, $form['#node_type']->type);
$form['csm'][$lang]['#title'] = t($details->name);
if ($lang == $current_lang) {
$form['csm'][$lang]['#collapsed'] = FALSE;
}
}
}
if (user_access('change ' . $form['#node_type']->type . ' creation page title')) {
// If the current user has the correct permissions, add node creation
// page title field setting fields to the form
$form['create_form_title'] = array(
'#type' => 'fieldset',
'#title' => t('Node creation page title'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
// Add create form title subsections for each language
foreach (language_list() as $lang => $details) {
$form['create_form_title'][$lang] = _csm_lang_fieldsets($lang, $form['#node_type']->type, 'title');
$form['create_form_title'][$lang]['#title'] = t($details->name);
if ($lang == $current_lang) {
$form['create_form_title'][$lang]['#collapsed'] = FALSE;
}
}
$form['create_form_title']['view']['token_help'] = $form['csm']['view']['token_help'] = array(
'#title' => t('Replacement patterns'),
'#type' => 'fieldset',
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['create_form_title']['view']['token_help']['help'] = $form['csm']['view']['token_help']['help'] = array(
'#value' => theme('token_help', 'node'),
);
}
}
elseif ($form['#id'] == 'node-form' && $form['nid']['#value'] == NULL && empty($form_state['post'])) {
global $language;
$title = variable_get('csm_form_title_' . $language->language . '_' . $form['type']['#value'], '');
if ($title) {
drupal_set_title(check_plain(token_replace($title, 'node', $form['#node'])));
// Log a system message.
watchdog('csm', '@type: node creation page title changed using Custom Submit Messages.', array(
'@type' => $node->type,
), WATCHDOG_NOTICE);
}
}
return;
}