menu_token.admin.inc in Menu Token 6
File
menu_token.admin.inc
View source
<?php
function menu_token_form_menu_edit_item_alter(&$form, &$form_state) {
$form['menu']['token'] = array(
'#type' => 'fieldset',
'#collapsible' => FALSE,
'#weight' => -1,
);
$form['menu']['token']['link_title'] = $form['menu']['link_title'];
unset($form['menu']['link_title']);
$form['menu']['token']['link_path'] = $form['menu']['link_path'];
unset($form['menu']['link_path']);
$menu_token_item = menu_token_get($form['menu']['mlid']['#value']);
if ($menu_token_item) {
$form['menu']['token']['link_path']['#default_value'] = $menu_token_item['link_path'];
}
$form['menu']['token']['token_enabled'] = array(
'#type' => 'checkbox',
'#title' => t('Use tokens in title and in path.'),
'#default_value' => isset($menu_token_item),
);
$form['menu']['token']['token_help'] = array(
'#title' => t('Replacement patterns'),
'#type' => 'fieldset',
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['menu']['token']['token_help']['help'] = array(
'#value' => theme('token_help', 'global'),
);
array_unshift($form['#validate'], 'menu_token_form_menu_edit_item_validate');
$form['#submit'][] = 'menu_token_form_menu_edit_item_submit';
}
function menu_token_form_menu_edit_item_validate($form, &$form_state) {
if ($form_state['values']['menu']['token']['token_enabled']) {
$form_state['values']['menu']['link_title'] = $form_state['values']['menu']['token']['link_title'];
$form_state['values']['menu']['link_path'] = '<front>';
$form_state['values']['menu']['options']['alter'] = TRUE;
}
else {
$form_state['values']['menu']['link_title'] = $form_state['values']['menu']['token']['link_title'];
$form_state['values']['menu']['link_path'] = $form_state['values']['menu']['token']['link_path'];
}
}
function menu_token_form_menu_edit_item_submit($form, &$form_state) {
$mlid = $form_state['values']['menu']['mlid'];
if (!$form_state['values']['menu']['token']['token_enabled']) {
menu_token_unset($mlid);
}
else {
menu_token_set($mlid, array(
'link_path' => trim($form_state['values']['menu']['token']['link_path']),
));
}
}