diff options
Diffstat (limited to 'usr/local/www/shortcuts.inc')
-rw-r--r-- | usr/local/www/shortcuts.inc | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/usr/local/www/shortcuts.inc b/usr/local/www/shortcuts.inc index 112ac44..ca42593 100644 --- a/usr/local/www/shortcuts.inc +++ b/usr/local/www/shortcuts.inc @@ -61,6 +61,73 @@ function get_shortcut_files($directory) { return $dir_array; } +function get_shortcut_by_service_name($servicename) { + global $shortcuts; + foreach ($shortcuts as $name => $shortcut) { + if (!empty($shortcut['service']) && ($shortcut['service'] == $servicename)) + return $name; + } + return null; +} + +function get_shortcut_main_link($shortcut_section, $addspace = true, $service = array()) { + global $g, $shortcuts; + if(empty($shortcut_section)) + return ""; + $space = ($addspace) ? " " : "" ; + switch ($shortcut_section) { + case "openvpn": + if (!empty($service['mode']) && is_numeric($service['id'])) + $link = "vpn_openvpn_{$service['mode']}.php?act=edit&id={$service['id']}"; + else + $link = $shortcuts[$shortcut_section]['main']; + break; + case "captiveportal": + if (!empty($service['zone'])) + $link = "services_captiveportal.php?zone={$service['zone']}"; + else + $link = $shortcuts[$shortcut_section]['main']; + break; + default: + $link = $shortcuts[$shortcut_section]['main']; + break; + } + if(!empty($link) && ($_SERVER['SCRIPT_NAME'] != "/{$link}")) + return "{$space}<a href=\"{$link}\" title=\"" . gettext("Main page for this section") . "\"><img style=\"vertical-align:middle\" src=\"/themes/{$g['theme']}/images/icons/icon_plus.gif\" border=\"0\"></a>"; +} + +function get_shortcut_status_link($shortcut_section, $addspace = true, $service = array()) { + global $g, $shortcuts, $cpzone; + if(empty($shortcut_section)) + return ""; + $space = ($addspace) ? " " : "" ; + if (!empty($cpzone)) + $zone = $cpzone; + elseif (!empty($service['zone'])) + $zone = $service['zone']; + switch ($shortcut_section) { + case "captiveportal": + if (!empty($zone)) + $link = "status_captiveportal.php?zone={$zone}"; + else + $link = $shortcuts[$shortcut_section]['status']; + break; + default: + $link = $shortcuts[$shortcut_section]['status']; + break; + } + if(!empty($link)) + return "{$space}<a href=\"{$link}\" title=\"" . gettext("Status of items on this page") . "\"><img style=\"vertical-align:middle\" src=\"/themes/{$g['theme']}/images/icons/icon_service_status.gif\" border=\"0\"></a>"; +} + +function get_shortcut_log_link($shortcut_section, $addspace = true) { + global $g, $shortcuts; + $space = ($addspace) ? " " : "" ; + if(!empty($shortcut_section) && !empty($shortcuts[$shortcut_section]['log'])) { + return "{$space}<a href=\"{$shortcuts[$shortcut_section]['log']}\" title=\"" . gettext("Log entries for items on this page") . "\"><img style=\"vertical-align:middle\" src=\"/themes/{$g['theme']}/images/icons/icon_logs.gif\" border=\"0\"></a>"; + } +} + // Load shortcuts $dir_array = get_shortcut_files("/usr/local/www/shortcuts"); foreach ($dir_array as $file) |