diff --git a/app/devices/device_vendor_function_edit.php b/app/devices/device_vendor_function_edit.php
index f7b9ea37c8..2e99681f5d 100644
--- a/app/devices/device_vendor_function_edit.php
+++ b/app/devices/device_vendor_function_edit.php
@@ -28,6 +28,22 @@
require_once "root.php";
require_once "resources/require.php";
+//delete the group from the menu item
+ if ($_REQUEST["a"] == "delete" && permission_exists("device_vendor_function_delete") && $_REQUEST["id"] != '') {
+ //get the id
+ $device_vendor_function_group_uuid = check_str($_REQUEST["id"]);
+ $device_vendor_function_uuid = check_str($_REQUEST["device_vendor_function_uuid"]);
+ $device_vendor_uuid = check_str($_REQUEST["device_vendor_uuid"]);
+ //delete the group from the users
+ $sql = "delete from v_device_vendor_function_groups ";
+ $sql .= "where device_vendor_function_group_uuid = '".$device_vendor_function_group_uuid."' ";
+ $db->exec(check_sql($sql));
+ //redirect the browser
+ $_SESSION["message"] = $text['message-delete'];
+ header("Location: device_vendor_function_edit.php?id=".$device_vendor_function_uuid ."&device_vendor_uuid=".$device_vendor_uuid);
+ return;
+ }
+
//check permissions
require_once "resources/check_auth.php";
if (permission_exists('device_vendor_function_add') || permission_exists('device_vendor_function_edit')) {
@@ -38,10 +54,6 @@
exit;
}
-//add multi-lingual support
- $language = new text;
- $text = $language->get();
-
//action add or update
if (isset($_REQUEST["id"])) {
$action = "update";
@@ -51,6 +63,10 @@
$action = "add";
}
+//add multi-lingual support
+ $language = new text;
+ $text = $language->get();
+
//set the parent uuid
if (strlen($_GET["device_vendor_uuid"]) > 0) {
$device_vendor_uuid = check_str($_GET["device_vendor_uuid"]);
@@ -65,84 +81,115 @@
$description = check_str($_POST["description"]);
}
-if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
+//process the http variables
+ if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
- //get the uuid
- if ($action == "update") {
- $device_vendor_function_uuid = check_str($_POST["device_vendor_function_uuid"]);
- }
+ //get the uuid
+ if ($action == "update") {
+ $device_vendor_function_uuid = check_str($_POST["device_vendor_function_uuid"]);
+ }
- //check for all required data
- $msg = '';
- //if (strlen($label) == 0) { $msg .= $text['message-required']." ".$text['label-label']." \n"; }
- if (strlen($name) == 0) { $msg .= $text['message-required']." ".$text['label-name']." \n"; }
- if (strlen($value) == 0) { $msg .= $text['message-required']." ".$text['label-value']." \n"; }
- if (strlen($enabled) == 0) { $msg .= $text['message-required']." ".$text['label-enabled']." \n"; }
- //if (strlen($description) == 0) { $msg .= $text['message-required']." ".$text['label-description']." \n"; }
- if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) {
- require_once "resources/header.php";
- require_once "resources/persist_form_var.php";
- echo "
\n";
- echo "
\n";
- echo $msg." ";
- echo "
\n";
- persistformvar($_POST);
- echo "
\n";
- require_once "resources/footer.php";
- return;
- }
-
- //add or update the database
- if ($_POST["persistformvar"] != "true") {
- if ($action == "add" && permission_exists('device_vendor_function_add')) {
- $sql = "insert into v_device_vendor_functions ";
- $sql .= "(";
- $sql .= "device_vendor_function_uuid, ";
- $sql .= "device_vendor_uuid, ";
- //$sql .= "label, ";
- $sql .= "name, ";
- $sql .= "value, ";
- $sql .= "enabled, ";
- $sql .= "description ";
- $sql .= ")";
- $sql .= "values ";
- $sql .= "(";
- $sql .= "'".uuid()."', ";
- $sql .= "'$device_vendor_uuid', ";
- //$sql .= "'$label', ";
- $sql .= "'$name', ";
- $sql .= "'$value', ";
- $sql .= "'$enabled', ";
- $sql .= "'$description' ";
- $sql .= ")";
- $db->exec(check_sql($sql));
- unset($sql);
-
- $_SESSION["message"] = $text['message-add'];
- header('Location: device_vendor_edit.php?id='.$device_vendor_uuid);
+ //check for all required data
+ $msg = '';
+ //if (strlen($label) == 0) { $msg .= $text['message-required']." ".$text['label-label']." \n"; }
+ if (strlen($name) == 0) { $msg .= $text['message-required']." ".$text['label-name']." \n"; }
+ if (strlen($value) == 0) { $msg .= $text['message-required']." ".$text['label-value']." \n"; }
+ if (strlen($enabled) == 0) { $msg .= $text['message-required']." ".$text['label-enabled']." \n"; }
+ //if (strlen($description) == 0) { $msg .= $text['message-required']." ".$text['label-description']." \n"; }
+ if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) {
+ require_once "resources/header.php";
+ require_once "resources/persist_form_var.php";
+ echo "\n";
+ echo "
\n";
+ echo $msg." ";
+ echo "
\n";
+ persistformvar($_POST);
+ echo "
\n";
+ require_once "resources/footer.php";
return;
+ }
- } //if ($action == "add")
+ //add or update the database
+ if ($_POST["persistformvar"] != "true") {
- if ($action == "update" && permission_exists('device_vendor_function_edit')) {
- $sql = "update v_device_vendor_functions set ";
- $sql .= "device_vendor_uuid = '$device_vendor_uuid', ";
- //$sql .= "label = '$label', ";
- $sql .= "name = '$name', ";
- $sql .= "value = '$value', ";
- $sql .= "enabled = '$enabled', ";
- $sql .= "description = '$description' ";
- $sql .= "where device_vendor_function_uuid = '$device_vendor_function_uuid'";
- $db->exec(check_sql($sql));
- unset($sql);
+ //add vendor functions
+ if ($action == "add" && permission_exists('device_vendor_function_add')) {
+ $device_vendor_function_uuid = uuid();
+ $sql = "insert into v_device_vendor_functions ";
+ $sql .= "(";
+ $sql .= "device_vendor_function_uuid, ";
+ $sql .= "device_vendor_uuid, ";
+ //$sql .= "label, ";
+ $sql .= "name, ";
+ $sql .= "value, ";
+ $sql .= "enabled, ";
+ $sql .= "description ";
+ $sql .= ")";
+ $sql .= "values ";
+ $sql .= "(";
+ $sql .= "'".$device_vendor_function_uuid."', ";
+ $sql .= "'$device_vendor_uuid', ";
+ //$sql .= "'$label', ";
+ $sql .= "'$name', ";
+ $sql .= "'$value', ";
+ $sql .= "'$enabled', ";
+ $sql .= "'$description' ";
+ $sql .= ")";
+ $db->exec(check_sql($sql));
+ unset($sql);
+ } //if ($action == "add")
- $_SESSION["message"] = $text['message-update'];
- header('Location: device_vendor_edit.php?id='.$device_vendor_uuid);
- return;
+ //update vendor functions
+ if ($action == "update" && permission_exists('device_vendor_function_edit')) {
+ $sql = "update v_device_vendor_functions set ";
+ $sql .= "device_vendor_uuid = '$device_vendor_uuid', ";
+ //$sql .= "label = '$label', ";
+ $sql .= "name = '$name', ";
+ $sql .= "value = '$value', ";
+ $sql .= "enabled = '$enabled', ";
+ $sql .= "description = '$description' ";
+ $sql .= "where device_vendor_function_uuid = '$device_vendor_function_uuid'";
+ $db->exec(check_sql($sql));
+ unset($sql);
+ } //if ($action == "update")
- } //if ($action == "update")
- } //if ($_POST["persistformvar"] != "true")
-} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
+ //add a group to the menu
+ if (permission_exists('device_vendor_function_add') && $_REQUEST["group_uuid_name"] != '') {
+
+ //get the group uuid and group_name
+ $group_data = explode('|', check_str($_REQUEST["group_uuid_name"]));
+ $group_uuid = $group_data[0];
+ $group_name = $group_data[1];
+
+ //add the group to the menu
+ if (strlen($device_vendor_function_uuid) > 0) {
+ $device_vendor_function_group_uuid = uuid();
+ $sql = "insert into v_device_vendor_function_groups ";
+ $sql .= "(";
+ $sql .= "device_vendor_function_group_uuid, ";
+ $sql .= "device_vendor_function_uuid, ";
+ $sql .= "device_vendor_uuid, ";
+ $sql .= "group_name, ";
+ $sql .= "group_uuid ";
+ $sql .= ")";
+ $sql .= "values ";
+ $sql .= "(";
+ $sql .= "'".$device_vendor_function_group_uuid."', ";
+ $sql .= "'".$device_vendor_function_uuid."', ";
+ $sql .= "'".$device_vendor_uuid."', ";
+ $sql .= "'".$group_name."', ";
+ $sql .= "'".$group_uuid."' ";
+ $sql .= ")";
+ $db->exec($sql);
+ }
+ }
+
+ //redirect the user
+ $_SESSION["message"] = $text['message-'.$action];
+ header("Location: device_vendor_function_edit.php?id=".$device_vendor_function_uuid ."&device_vendor_uuid=".$device_vendor_uuid);
+ return;
+ } //if ($_POST["persistformvar"] != "true")
+ } //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
//pre-populate the form
if (count($_GET) > 0 && $_POST["persistformvar"] != "true") {
@@ -162,6 +209,48 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
unset ($prep_statement);
}
+//group groups assigned
+ $sql = "select ";
+ $sql .= " fg.*, g.domain_uuid as group_domain_uuid ";
+ $sql .= "from ";
+ $sql .= " v_device_vendor_function_groups as fg, ";
+ $sql .= " v_groups as g ";
+ $sql .= "where ";
+ $sql .= " fg.group_uuid = g.group_uuid ";
+ //$sql .= " and fg.device_vendor_uuid = :device_vendor_uuid ";
+ $sql .= " and fg.device_vendor_uuid = '$device_vendor_uuid' ";
+ //$sql .= " and fg.device_vendor_function_uuid = :device_vendor_function_uuid ";
+ $sql .= " and fg.device_vendor_function_uuid = '$device_vendor_function_uuid' ";
+ $sql .= "order by ";
+ $sql .= " g.domain_uuid desc, ";
+ $sql .= " g.group_name asc ";
+ //echo $sql;
+ //exit;
+ $prep_statement = $db->prepare(check_sql($sql));
+ $prep_statement->bindParam(':device_vendor_uuid', $device_vendor_uuid);
+ $prep_statement->bindParam(':device_vendor_function_uuid', $device_vendor_function_uuid);
+ $prep_statement->execute();
+ $function_groups = $prep_statement->fetchAll(PDO::FETCH_NAMED);
+ unset($sql, $prep_statement);
+
+//set the assigned_groups array
+ foreach($menu_item_groups as $field) {
+ if (strlen($field['group_name']) > 0) {
+ $assigned_groups[] = $field['group_uuid'];
+ }
+ }
+
+//get the groups
+ $sql = "select * from v_groups ";
+ if (sizeof($assigned_groups) > 0) {
+ $sql .= "where group_uuid not in ('".implode("','",$assigned_groups)."') ";
+ }
+ $sql .= "order by domain_uuid desc, group_name asc ";
+ $prep_statement = $db->prepare(check_sql($sql));
+ $prep_statement->execute();
+ $groups = $prep_statement->fetchAll(PDO::FETCH_NAMED);
+ unset($sql, $prep_statement);
+
//show the header
require_once "resources/header.php";
@@ -209,6 +298,47 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
echo "\n";
echo "\n";
+ //echo "\n";
+ //print_r($function_groups);
+ //echo " \n";
+ echo " ";
+ echo " ".$text['label-groups']." ";
+ echo " ";
+ if (is_array($function_groups)) {
+ echo "\n";
+ foreach($function_groups as $field) {
+ if (strlen($field['group_name']) > 0) {
+ echo "\n";
+ echo " ";
+ echo $field['group_name'].(($field['group_domain_uuid'] != '') ? "@".$_SESSION['domains'][$field['group_domain_uuid']]['domain_name'] : null);
+ echo " \n";
+ if (permission_exists('group_member_delete') || if_group("superadmin")) {
+ echo " ";
+ echo "".$v_link_label_delete." ";
+ echo " ";
+ }
+ echo " \n";
+ }
+ }
+ echo "
\n";
+ }
+ if (is_array($groups)) {
+ echo " \n";
+ echo "\n";
+ echo " \n";
+ foreach($groups as $field) {
+ if ($field['group_name'] == "superadmin" && !if_group("superadmin")) { continue; } //only show the superadmin group to other superadmins
+ if ($field['group_name'] == "admin" && (!if_group("superadmin") && !if_group("admin") )) { continue; } //only show the admin group to other admins
+ if (!in_array($field["group_uuid"], $assigned_groups)) {
+ echo " ".$field['group_name'].(($field['domain_uuid'] != '') ? "@".$_SESSION['domains'][$field['domain_uuid']]['domain_name'] : null)." \n";
+ }
+ }
+ echo " ";
+ echo " \n";
+ }
+ echo " ";
+ echo " ";
+
echo "\n";
echo "\n";
echo " ".$text['label-enabled']."\n";
@@ -260,4 +390,4 @@ if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) {
//include the footer
require_once "resources/footer.php";
-?>
\ No newline at end of file
+?>