Copyright (C) 2008-2016 All Rights Reserved. */ //includes require_once "root.php"; require_once "resources/require.php"; //check permissions require_once "resources/check_auth.php"; if (permission_exists('device_key_add') || permission_exists('device_key_edit')) { //access granted } else { echo "access denied"; exit; } //add multi-lingual support $language = new text; $text = $language->get($_SESSION['domain']['language']['code'], 'app/devices'); //include the device class require_once "app/devices/resources/classes/device.php"; //action add or update $action = "update"; //add or update the database if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { //add or update the database if ($_POST["persistformvar"] != "true") { //update the device keys foreach ($_POST['device_keys'] as &$row) { //validate the data $valid_data = true; //if (!is_uuid($row["device_key_uuid"])) { $valid_data = false; } if (!is_numeric($row["device_key_id"])) { $valid_data = false; } if (strlen($row["device_key_type"]) > 25) { $valid_data = false; } if (strlen($row["device_key_value"]) > 25) { $valid_data = false; } if (strlen($row["device_key_label"]) > 25) { $valid_data = false; } //escape characters in the string $device_uuid = check_str($row["device_uuid"]); $device_key_uuid = check_str($row["device_key_uuid"]); $device_key_id = check_str($row["device_key_id"]); $device_key_type = check_str($row["device_key_type"]); $device_key_line = check_str($row["device_key_line"]); $device_key_value = check_str($row["device_key_value"]); $device_key_label = check_str($row["device_key_label"]); $device_key_category = check_str($row["device_key_category"]); $device_key_vendor = check_str($row["device_key_vendor"]); //sql update if (strlen($device_key_uuid) == 0) { if (permission_exists('device_key_add') && strlen($device_key_type) > 0 && strlen($device_key_value) > 0) { $device_key_uuid = uuid(); $sql = "insert into v_device_keys "; $sql .= "("; $sql .= "domain_uuid, "; $sql .= "device_key_uuid, "; $sql .= "device_uuid, "; $sql .= "device_key_id, "; $sql .= "device_key_type, "; $sql .= "device_key_line, "; $sql .= "device_key_value, "; $sql .= "device_key_label, "; $sql .= "device_key_category, "; $sql .= "device_key_vendor "; $sql .= ") "; $sql .= "VALUES ("; $sql .= "'".$_SESSION['domain_uuid']."', "; $sql .= "'".$device_key_uuid."', "; $sql .= "'".$device_uuid."', "; $sql .= "'".$device_key_id."', "; $sql .= "'".$device_key_type."', "; $sql .= "'".$device_key_line."', "; $sql .= "'".$device_key_value."', "; $sql .= "'".$device_key_label."', "; $sql .= "'".$device_key_category."', "; $sql .= "'".$device_key_vendor."' "; $sql .= ")"; //echo $sql; } } else { $sql = "update v_device_keys set "; if (permission_exists('device_key_id')) { $sql .= "device_key_id = '".$device_key_id."', "; } $sql .= "device_key_type = '".$device_key_type."', "; $sql .= "device_key_value = '".$device_key_value."', "; $sql .= "device_key_label = '".$device_key_label."' "; $sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' "; $sql .= "and device_key_uuid = '".$device_key_uuid."' "; } if ($valid_data) { $db->exec(check_sql($sql)); //echo "valid: ".$sql."\n"; } else { //echo "invalid: ".$sql."\n"; } unset($sql); } //write the provision files if (strlen($_SESSION['provision']['path']['text']) > 0) { require_once "app/provision/provision_write.php"; } //set the message if (!isset($_SESSION['message'])) { //set the message if ($action == "add") { //save the message to a session variable $_SESSION['message'] = $text['message-add']; } if ($action == "update") { //save the message to a session variable $_SESSION['message'] = $text['message-update']; } //redirect the browser header("Location: /core/user_settings/user_dashboard.php"); exit; } } //if ($_POST["persistformvar"] != "true") } //(count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) //set the sub array index $x = "999"; //get device keys $sql = "SELECT * from v_device_keys "; $sql .= "where device_uuid in "; $sql .= "( "; $sql .= " select device_uuid from "; $sql .= " v_devices where user_uuid = '".$_SESSION['user_uuid']."' "; $sql .= ") "; $sql .= "ORDER by "; $sql .= "device_key_vendor asc, "; $sql .= "CASE device_key_category "; $sql .= "WHEN 'line' THEN 1 "; $sql .= "WHEN 'memory' THEN 2 "; $sql .= "WHEN 'programmable' THEN 3 "; $sql .= "WHEN 'expansion' THEN 4 "; $sql .= "ELSE 100 END, "; if ($db_type == "mysql") { $sql .= "device_key_id asc "; } else { $sql .= "cast(device_key_id as numeric) asc "; } $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); $device_keys = $prep_statement->fetchAll(PDO::FETCH_NAMED); //get the vendor count and last and device information $vendor_count = 0; foreach($device_keys as $row) { if ($previous_vendor != $row['device_key_vendor']) { $previous_vendor = $row['device_key_vendor']; $device_uuid = $row['device_uuid']; $device_key_vendor = $row['device_key_vendor']; $device_key_id = $row['device_key_id']; $device_key_line = $row['device_key_line']; $device_key_category = $row['device_key_category']; $vendor_count++; } } //add a new key if (permission_exists('device_key_add')) { $device_keys[$x]['device_key_category'] = $device_key_category; $device_keys[$x]['device_key_id'] = ''; $device_keys[$x]['device_uuid'] = $device_uuid; $device_keys[$x]['device_key_vendor'] = $device_key_vendor; $device_keys[$x]['device_key_type'] = ''; $device_keys[$x]['device_key_line'] = ''; $device_keys[$x]['device_key_value'] = ''; $device_keys[$x]['device_key_extension'] = ''; $device_keys[$x]['device_key_label'] = ''; } //show the header //require_once "resources/header.php"; //show the content echo "
\n"; echo "
"; echo " ".$text['title-device_keys']."
"; if (!$is_included) { echo " ".$text['description-device_keys']."
"; } echo "
"; echo "
\n"; echo "
\n"; if ($num_rows > 10) { echo " \n"; } echo " "; echo "
\n"; if (permission_exists('device_key_edit')) { echo " \n"; $x = 0; foreach($device_keys as $row) { //set the variables $device_key_vendor = $row['device_key_vendor']; $device_vendor = $row['device_key_vendor']; //set the column names if ($previous_device_key_vendor != $row['device_key_vendor']) { echo " \n"; //echo " \n"; echo " \n"; if (strlen($row['device_key_vendor']) > 0) { echo " \n"; } else { echo " \n"; } //echo " \n"; echo " \n"; //echo " \n"; echo " \n"; echo " \n"; } //determine whether to hide the element if (strlen($device_key_uuid) == 0) { $element['hidden'] = false; $element['visibility'] = "visibility:visible;"; } else { $element['hidden'] = true; $element['visibility'] = "visibility:hidden;"; } //add the primary key uuid if (strlen($row['device_key_uuid']) > 0) { echo " \n"; } //show all the rows in the array /* echo " \n"; echo "\n"; */ echo "\n"; echo "\n"; echo "\n"; //echo "\n"; echo "\n"; //echo " \n"; //echo " \n"; echo " \n"; //set the previous vendor $previous_device_key_vendor = $row['device_key_vendor']; //increment the array key $x++; //alternate the value $c = ($c) ? 0 : 1; } echo "
".$text['label-device_key_category']."".$text['label-device_key_id']."".ucwords($row['device_key_vendor'])."".$text['label-device_key_type']."".$text['label-device_key_line']."".$text['label-device_key_value']."".$text['label-device_key_extension']."".$text['label-device_key_label']."
\n"; echo " \n"; echo "\n"; if (permission_exists('device_key_id') || permission_exists('device_key_add')) { $selected = "selected='selected'"; echo " \n"; } else { echo "  ".$row['device_key_id']; } echo "\n"; //echo " \n"; ?> \n"; //echo "\n"; //echo " \n"; //echo "\n"; echo " \n"; echo "\n"; //echo " \n"; //echo "\n"; echo " \n"; echo "\n"; //echo " \n"; //echo " \n"; //if (strlen($row['device_key_uuid']) > 0) { // if (permission_exists('device_key_delete')) { // echo " $v_link_label_delete\n"; // } //} //echo "
\n"; //if (strlen($text['description-keys']) > 0) { // echo "
".$text['description-keys']."\n"; //} } echo "
"; //show the footer //require_once "resources/footer.php"; ?>