function menu_minipanels_admin in Menu Minipanels 6
Same name and namespace in other branches
- 7.2 menu_minipanels.admin.inc \menu_minipanels_admin()
- 7 menu_minipanels.admin.inc \menu_minipanels_admin()
Page callback for admin/settings/menu_minipanels.
1 string reference to 'menu_minipanels_admin'
- menu_minipanels_menu in ./
menu_minipanels.module - Implements hook_menu().
File
- ./
menu_minipanels.admin.inc, line 9
Code
function menu_minipanels_admin() {
$form = array();
// Show the current status of the qTip library.
include_once 'includes/install.inc';
module_load_include('install', 'menu_minipanels');
$status = menu_minipanels_requirements('runtime');
$form['status'] = array(
'#type' => 'fieldset',
'#title' => t('qTip Library Status'),
'#description' => '<p>' . $status['menu_minipanels']['value'] . "</p>\n",
);
if (!empty($status['menu_minipanels']['description'])) {
$form['status']['#description'] .= '<p>' . $status['menu_minipanels']['description'] . "</p>\n";
}
// Give shortcuts to the menu-edit pages.
$result = db_query("SELECT * FROM {menu_custom} ORDER BY title");
$header = array(
t('Title'),
array(
'data' => t('Can be used?'),
),
);
$rows = array();
while ($menu = db_fetch_array($result)) {
if (variable_get('menu_minipanels_' . $menu['menu_name'] . '_enabled', FALSE)) {
$label = 'Yes';
}
else {
$label = 'No';
}
$row = array(
l($menu['title'], 'admin/build/menu-customize/' . $menu['menu_name'] . '/edit', array(
'query' => array(
'destination' => 'admin/settings/menu_minipanels',
),
'attributes' => array(
'title' => t('Edit this menu'),
),
)),
l(t($label), 'admin/settings/menu_minipanels/toggle/' . $menu['menu_name'], array(
'query' => array(
'destination' => 'admin/settings/menu_minipanels',
),
'attributes' => array(
'title' => t('Toggle this menu'),
),
)),
);
$rows[] = $row;
}
$form['menus'] = array(
'#value' => theme('table', $header, $rows, array(), t('Menu selection')),
);
// Additional global settings.
// Control which pages are excluded from having megamenus.
$form['menu_minipanels_exclude_paths'] = array(
'#type' => 'textarea',
'#title' => t('Don\'t show Menu_Minipanels on specific pages'),
'#default_value' => variable_get('menu_minipanels_exclude_paths', "admin\nadmin/*"),
'#description' => t("Specify pages by using their paths. Enter one path per line. The '*' character is a wildcard. Example paths are %blog for the blog page and %blog-wildcard for every personal blog. %front is the front page.", array(
'%blog' => 'blog',
'%blog-wildcard' => 'blog/*',
'%front' => '<front>',
)),
);
// Optionally exclude the default callbacks.
$form['menu_minipanels_default_callbacks'] = array(
'#type' => 'checkbox',
'#title' => t('Load default JS callbacks'),
'#default_value' => variable_get('menu_minipanels_default_callbacks', TRUE),
'#description' => t('By default some custom JavaScript will load to automatically add the "qtip-hover" CSS class on the menu item that triggered the current MiniPanel to display. Should this site not need this functionality, or should the site need to expand upon that functionality, disabling this option will stop the optional default JS from loading. See the menu_minipanels.callbacks.js file for full details.'),
);
// Default settings.
$form['defaults'] = array(
'#type' => 'fieldset',
'#title' => t('Default settings'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
'#description' => t('New minipanels will inherit the following settings, allowing for a consistent look.'),
);
_menu_minipanels_hover_settings_form($form['defaults'], variable_get('menu_minipanels_hover', _menu_minipanels_hover_defaults()));
return system_settings_form($form);
}