diff --git a/html/css/dark.css b/html/css/dark.css index 09ebc4856d..980bf42e86 100644 --- a/html/css/dark.css +++ b/html/css/dark.css @@ -14,6 +14,10 @@ color: #357ebd; } +.fa-col-danger { + color: #e30613; +} + .twitter-typeahead .tt-hint { border-color: #000 !important; } @@ -93,4 +97,4 @@ @keyframes pace-spinner { 0% { transform: rotate(0deg); transform: rotate(0deg); } 100% { transform: rotate(360deg); transform: rotate(360deg); } -} \ No newline at end of file +} diff --git a/html/css/light.css b/html/css/light.css index 93f69e3363..f224ff3cb5 100644 --- a/html/css/light.css +++ b/html/css/light.css @@ -14,6 +14,10 @@ color: #357ebd; } +.fa-col-danger { + color: #e30613; +} + .pace { -webkit-pointer-events: none; pointer-events: none; @@ -89,4 +93,4 @@ @keyframes pace-spinner { 0% { transform: rotate(0deg); transform: rotate(0deg); } 100% { transform: rotate(360deg); transform: rotate(360deg); } -} \ No newline at end of file +} diff --git a/html/css/mono.css b/html/css/mono.css index f96590e4b4..e76425cd34 100644 --- a/html/css/mono.css +++ b/html/css/mono.css @@ -14,6 +14,10 @@ color: #357ebd; } +.fa-col-danger { + color: #e30613; +} + .twitter-typeahead .tt-hint { border-color: #000 !important; } @@ -93,4 +97,4 @@ @keyframes pace-spinner { 0% { transform: rotate(0deg); transform: rotate(0deg); } 100% { transform: rotate(360deg); transform: rotate(360deg); } -} \ No newline at end of file +} diff --git a/html/includes/print-menubar.php b/html/includes/print-menubar.php index 88725879cb..13d09f951a 100644 --- a/html/includes/print-menubar.php +++ b/html/includes/print-menubar.php @@ -185,7 +185,8 @@ if ($_SESSION['userlevel'] >= '10') echo('
  • Add Service
  • -
  • Delete Service
  • '); +
  • Edit Service
  • +
  • Delete Service
  • '); } ?> diff --git a/html/includes/print-service-add.inc.php b/html/includes/print-service-add.inc.php new file mode 100644 index 0000000000..9f5b6e6290 --- /dev/null +++ b/html/includes/print-service-add.inc.php @@ -0,0 +1,54 @@ +Add Service +
    +
    +
    + + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    +
    "); \ No newline at end of file diff --git a/html/includes/print-service-edit.inc.php b/html/includes/print-service-edit.inc.php new file mode 100644 index 0000000000..0954649d6d --- /dev/null +++ b/html/includes/print-service-edit.inc.php @@ -0,0 +1,35 @@ +Edit Service +
    + + +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    + +
    +
    "); + +} \ No newline at end of file diff --git a/html/includes/service-add.inc.php b/html/includes/service-add.inc.php new file mode 100644 index 0000000000..3bc9eca630 --- /dev/null +++ b/html/includes/service-add.inc.php @@ -0,0 +1,10 @@ +"; +} \ No newline at end of file diff --git a/html/includes/service-edit.inc.php b/html/includes/service-edit.inc.php new file mode 100644 index 0000000000..9d725dd4dd --- /dev/null +++ b/html/includes/service-edit.inc.php @@ -0,0 +1,5 @@ +Add Service -
    -
    -
    - - -
    - -
    -
    -
    -
    -
    - -
    - -
    -
    -
    -
    -
    - -
    - -
    -
    -
    -
    -
    - -
    - -
    -
    -
    -
    -
    - -
    - -
    -
    -
    -
    - -
    -
    "); + echo "
    +
    "; + + require_once "includes/print-service-add.inc.php"; + + echo "
    +
    "; + } diff --git a/html/pages/delsrv.inc.php b/html/pages/delsrv.inc.php index 177bebb2a5..e9aafdd1e4 100644 --- a/html/pages/delsrv.inc.php +++ b/html/pages/delsrv.inc.php @@ -37,7 +37,7 @@ if ($_SESSION['userlevel'] < '5')
    - + "); diff --git a/html/pages/device/edit.inc.php b/html/pages/device/edit.inc.php index cf16b2f2de..8c0f076cb0 100644 --- a/html/pages/device/edit.inc.php +++ b/html/pages/device/edit.inc.php @@ -25,7 +25,7 @@ if ($_SESSION['userlevel'] < '7') $panes['alert-rules'] = 'Alert Rules'; $panes['modules'] = 'Modules'; - if ($config['enable_services']) + if ($config['show_services']) { $panes['services'] = 'Services'; } diff --git a/html/pages/device/edit/services.inc.php b/html/pages/device/edit/services.inc.php index 083b36b97e..e6969a9fe9 100644 --- a/html/pages/device/edit/services.inc.php +++ b/html/pages/device/edit/services.inc.php @@ -1,101 +1,85 @@ '); +if (is_admin() === TRUE || is_read() === TRUE) { -if ($_POST['addsrv']) { - if ($_SESSION['userlevel'] >= '10') { - include("includes/service-add.inc.php"); - } -} - -if ($_POST['delsrv']) { - if ($_SESSION['userlevel'] >= '10') { - include("includes/service-delete.inc.php"); - } -} - -if ($handle = opendir($config['install_dir'] . "/includes/services/")) -{ - while (false !== ($file = readdir($handle))) - { - if ($file != "." && $file != ".." && !strstr($file, ".")) - { - $servicesform .= ""; + if ($_POST['addsrv']) { + if ($_SESSION['userlevel'] >= '10') { + include("includes/service-add.inc.php"); + } } - } - closedir($handle); -} + if ($_POST['delsrv']) { + if ($_SESSION['userlevel'] >= '10') { + include("includes/service-delete.inc.php"); + } + } -foreach (dbFetchRows("SELECT * FROM `devices` ORDER BY `hostname`") as $dev); -{ - $devicesform .= ""; -} + if ($_POST['confirm-editsrv']) { + echo "yeah"; + if ($_SESSION['userlevel'] >= '10') { + include("includes/service-edit.inc.php"); + } + } -if ($updated) { print_message("Device Settings Saved"); } + if ($handle = opendir($config['install_dir'] . "/includes/services/")) { + while (false !== ($file = readdir($handle))) { + if ($file != "." && $file != ".." && !strstr($file, ".")) { + $servicesform .= ""; + } + } -if (dbFetchCell("SELECT COUNT(*) from `services` WHERE `device_id` = ?", array($device['device_id'])) > '0') -{ - $i = "1"; - foreach (dbFetchRows("select * from services WHERE device_id = ? ORDER BY service_type", array($device['device_id'])) as $service) - { - $existform .= ""; - } -} + closedir($handle); + } -if($existform) -{ - echo('
    '); - echo(" + $dev = device_by_id_cache($device['device_id']); + $devicesform = ""; -

    Remove Service

    + if ($updated) { + print_message("Device Settings Saved"); + } -
    - - - - - - -
    - Type - - -
    - - -
    "); + if (dbFetchCell("SELECT COUNT(*) from `services` WHERE `device_id` = ?", array($device['device_id'])) > '0') { + $i = "1"; + foreach (dbFetchRows("select * from services WHERE device_id = ? ORDER BY service_type", array($device['device_id'])) as $service) { + $existform .= ""; + } + } - echo('
    '); -} + echo '
    '; -echo('
    '); + if ($existform) { + echo '
    '; + if ($_POST['editsrv'] == "yes") { + include_once "includes/print-service-edit.inc.php"; + } else { + echo " +

    Edit / Delete Service

    +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    +
    +
    +
    "; + } -echo(" -

    Add Service

    + echo '
    '; + } -
    - - - - - - -
    - Type - - -
    - - -
    -
    "); + echo '
    '; -?> + require_once "includes/print-service-add.inc.php"; + +} else { + include("includes/error-no-perm.inc.php"); +} \ No newline at end of file diff --git a/html/pages/editsrv.inc.php b/html/pages/editsrv.inc.php new file mode 100644 index 0000000000..9c56b96d1e --- /dev/null +++ b/html/pages/editsrv.inc.php @@ -0,0 +1,52 @@ + "5") + { + include("includes/service-edit.inc.php"); + } + } + + foreach (dbFetchRows("SELECT * FROM `services` AS S, `devices` AS D WHERE S.device_id = D.device_id ORDER BY hostname") as $device) + { + $servicesform .= ""; + } + + if ($updated) { print_message("Service updated!"); } + + if ($_POST['editsrv'] == 'yes') { + + require_once "includes/print-service-edit.inc.php"; + + } else { + + echo(" +

    Delete Service

    +
    + +
    +
    + +
    + +
    +
    +
    +
    + +
    +
    "); + } + +} diff --git a/includes/common.php b/includes/common.php index 71da214be2..d14395e7f5 100644 --- a/includes/common.php +++ b/includes/common.php @@ -561,12 +561,35 @@ function is_valid_hostname($hostname) return ctype_alnum(str_replace('_','',str_replace('-','',str_replace('.','',$hostname)))); } -function add_service($device, $service, $descr) -{ - $insert = array('device_id' => $device['device_id'], 'service_ip' => $device['hostname'], 'service_type' => $service, - 'service_changed' => array('UNIX_TIMESTAMP(NOW())'), 'service_desc' => $descr, 'service_param' => "", 'service_ignore' => "0"); +function add_service($device, $service, $descr, $service_ip, $service_param = "", $service_ignore = 0) { + + if (!is_array($device)) { + $device = device_by_id_cache($device); + } + + if (empty($service_ip)) { + $service_ip = $device['hostname']; + } + + $insert = array('device_id' => $device['device_id'], 'service_ip' => $service_ip, 'service_type' => $service, + 'service_changed' => array('UNIX_TIMESTAMP(NOW())'), 'service_desc' => $descr, 'service_param' => $service_param, 'service_ignore' => $service_ignore); + + return dbInsert($insert, 'services'); +} + +function edit_service($service, $descr, $service_ip, $service_param = "", $service_ignore = 0) { + + if (!is_numeric($service)) { + return false; + } + + $update = array('service_ip' => $service_ip, + 'service_changed' => array('UNIX_TIMESTAMP(NOW())'), + 'service_desc' => $descr, + 'service_param' => $service_param, + 'service_ignore' => $service_ignore); + return dbUpdate($update, 'services', '`service_id`=?', array($service)); - echo dbInsert($insert, 'services'); } ?>