1220 lines
44 KiB
PHP
1220 lines
44 KiB
PHP
<?php
|
|
/*
|
|
dbadmin.php
|
|
OpenDRS Online Discrepancy Reporting System
|
|
Copyright (C) 2026 Rod Wright
|
|
|
|
SPDX-License-Identifier: GPL-2.0
|
|
*/
|
|
|
|
include("common.php");
|
|
if (array_key_exists('print',$_REQUEST)) {
|
|
$print=true;
|
|
} else {
|
|
$print=false;
|
|
}
|
|
|
|
// redirect to login page if access_mode is untrusted and user is
|
|
// not logged in
|
|
if ($access_mode == "untrusted" && ! isset($_SESSION['userid'])) {
|
|
header("Cache-Control:no-cache, must-revalidate");
|
|
header("Pragma:no-cache");
|
|
header("Location:login.php");
|
|
exit();
|
|
}
|
|
|
|
// redirect to index.php on cancel button press
|
|
if (array_key_exists('cancel',$_REQUEST)) {
|
|
header("Cache-Control:no-cache, must-revalidate");
|
|
header("Pragma:no-cache");
|
|
header("Location:index.php");
|
|
exit();
|
|
}
|
|
|
|
// import session variables
|
|
if (isset($_SESSION['userid'])) $userid=$_SESSION['userid'];
|
|
$role=dblookup($drs_db,"users","id","role",$userid);
|
|
|
|
// redirect to index.php if not an admin
|
|
if ($role != ADMIN) {
|
|
header("Cache-Control:no-cache, must-revalidate");
|
|
header("Pragma:no-cache");
|
|
header("Location:index.php");
|
|
exit();
|
|
}
|
|
|
|
// import incoming arrays
|
|
if ($print) {
|
|
// if printer friendly was clicked, values will be passed in serialized
|
|
// form as "all_parameters" so we need to load those into $incoming[]
|
|
$incoming=unserialize($_REQUEST['all_parameters']);
|
|
} else {
|
|
// copy $_REQUEST[] to $incoming[]
|
|
$incoming=arrayCopy($_REQUEST);
|
|
}
|
|
|
|
// extract incoming array keys into variables
|
|
extract($incoming, EXTR_SKIP);
|
|
/*
|
|
* possible keys are:
|
|
* edit_user
|
|
* add_user
|
|
* update_user
|
|
* delete_user
|
|
* user_id
|
|
* user_fname
|
|
* user_lname
|
|
* user_login
|
|
* user_pass
|
|
* user_passconf
|
|
* user_role
|
|
* user_active
|
|
* edit_device
|
|
* add_device
|
|
* update_device
|
|
* delete_device
|
|
* device_id
|
|
* device_name
|
|
* device_active
|
|
* edit_subsystem
|
|
* add_subsystem
|
|
* update_subsystem
|
|
* delete_subsystem
|
|
* subsystem_id
|
|
* subsystem_name
|
|
* subsystem_desc
|
|
* subsystem_active
|
|
* edit_reason
|
|
* add_reason
|
|
* update_reason
|
|
* delete_reason
|
|
* reason_id
|
|
* reason_text
|
|
* reason_active
|
|
* edit_discovered
|
|
* add_discovered
|
|
* update_discovered
|
|
* delete_discovered
|
|
* discovered_id
|
|
* discovered_name
|
|
* discovered_desc
|
|
* discovered_active
|
|
*/
|
|
|
|
if (!isset($edit_user)) $edit_user=false;
|
|
if (!isset($add_user)) $add_user=false;
|
|
if (!isset($update_user)) $update_user=false;
|
|
if (!isset($delete_user)) $delete_user=false;
|
|
if (!isset($edit_device)) $edit_device=false;
|
|
if (!isset($add_device)) $add_device=false;
|
|
if (!isset($update_device)) $update_device=false;
|
|
if (!isset($delete_device)) $delete_device=false;
|
|
if (!isset($edit_subsystem)) $edit_subsystem=false;
|
|
if (!isset($add_subsystem)) $add_subsystem=false;
|
|
if (!isset($update_subsystem)) $update_subsystem=false;
|
|
if (!isset($delete_subsystem)) $delete_subsystem=false;
|
|
if (!isset($edit_reason)) $edit_reason=false;
|
|
if (!isset($add_reason)) $add_reason=false;
|
|
if (!isset($update_reason)) $update_reason=false;
|
|
if (!isset($delete_reason)) $delete_reason=false;
|
|
if (!isset($edit_discovered)) $edit_discovered=false;
|
|
if (!isset($add_discovered)) $add_discovered=false;
|
|
if (!isset($update_discovered)) $update_discovered=false;
|
|
if (!isset($delete_discovered)) $delete_discovered=false;
|
|
if (!isset($user_fname)) $user_fname=NULL;
|
|
if (!isset($user_lname)) $user_lname=NULL;
|
|
if (!isset($user_login)) $user_login=NULL;
|
|
if (!isset($user_pass)) $user_pass=NULL;
|
|
if (!isset($user_passconf)) $user_passconf=NULL;
|
|
if (!isset($device_name)) $device_name=NULL;
|
|
if (!isset($subsystem_name)) $subsystem_name=NULL;
|
|
if (!isset($subsystem_desc)) $subsystem_desc=NULL;
|
|
if (!isset($reason_text)) $reason_text=NULL;
|
|
if (!isset($discovered_name)) $discovered_name=NULL;
|
|
if (!isset($discovered_desc)) $discovered_desc=NULL;
|
|
|
|
// define local functions
|
|
|
|
|
|
// assign variables from constants
|
|
$appname=APP_NAME;
|
|
|
|
if ($print) {
|
|
$mbgcolor=P_MENUBG_COLOR;
|
|
} else {
|
|
$mbgcolor=MENUBG_COLOR;
|
|
}
|
|
|
|
framework("begin","$appname","Database Administration",$print);
|
|
|
|
//echo "_REQUEST array <br>";
|
|
//var_dump($_REQUEST);
|
|
//echo "<br><hr> incoming array <br>";
|
|
//var_dump($incoming);
|
|
|
|
// ******** begin database manipulation ********
|
|
|
|
// users-------------------------------------
|
|
$usernameunique_err=$fnamesuppld_err=$lnamesuppld_err=false;
|
|
$loginsuppld_err=$loginunique_err=$passcomplex_err=$passmatch_err=false;
|
|
$userhaswriteups_err=false;
|
|
$user_add_fail=false;
|
|
|
|
if ($add_user) {
|
|
// do error checking
|
|
// remove html tags from user name
|
|
$user_fname=strip_tags($user_fname);
|
|
$user_lname=strip_tags($user_lname);
|
|
$user_login=strip_tags($user_login);
|
|
// test for first name supplied
|
|
if (strlen(trim($user_fname))) {
|
|
$fnamesuppld=true;
|
|
$fnamesuppld_err=false;
|
|
} else {
|
|
$fnamesuppld=false;
|
|
$fnamesuppld_err=true;
|
|
}
|
|
// test for last name supplied
|
|
if (strlen(trim($user_lname))) {
|
|
$lnamesuppld=true;
|
|
$lnamesuppld_err=false;
|
|
} else {
|
|
$lnamesuppld=false;
|
|
$lnamesuppld_err=true;
|
|
}
|
|
// test for name unique
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from users where firstname=\"$user_fname\" and lastname=\"$user_lname\""))) {
|
|
$usernameunique=false;
|
|
$usernameunique_err=true;
|
|
} else {
|
|
$usernameunique=true;
|
|
$usernameunique_err=false;
|
|
}
|
|
// test for login supplied
|
|
if (strlen(trim($user_login))) {
|
|
$loginsuppld=true;
|
|
$loginsuppld_err=false;
|
|
} else {
|
|
$loginsuppld=false;
|
|
$loginsuppld_err=true;
|
|
}
|
|
// test for login unique
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from users where login=\"$user_login\""))) {
|
|
$loginunique=false;
|
|
$loginunique_err=true;
|
|
} else {
|
|
$loginunique=true;
|
|
$loginunique_err=false;
|
|
}
|
|
// test passwords
|
|
$passresults=validate_password($user_pass,$user_passconf);
|
|
if ($passresults['match']) {
|
|
$passmatch=true;
|
|
$passmatch_err=false;
|
|
} else {
|
|
$passmatch=false;
|
|
$passmatch_err=true;
|
|
}
|
|
if ($passresults['complex']) {
|
|
$passcomplex=true;
|
|
$passcomplex_err=false;
|
|
} else {
|
|
$passcomplex=false;
|
|
$passcomplex_err=true;
|
|
}
|
|
|
|
// set role
|
|
if (!isset($user_role)) $user_role=USER;
|
|
|
|
// set active status
|
|
if (!isset($user_active)) $user_active=0;
|
|
|
|
if ($fnamesuppld && $lnamesuppld && $usernameunique && $loginsuppld && $loginunique && $passcomplex && $passmatch) {
|
|
// sanitize first name, last name, login
|
|
$clean_fname=mysqli_real_escape_string($drs_db,$user_fname);
|
|
$clean_lname=mysqli_real_escape_string($drs_db,$user_lname);
|
|
$clean_login=mysqli_real_escape_string($drs_db,$user_login);
|
|
// generate the password hash
|
|
$passhash=password_hash($user_pass,PASSWORD_DEFAULT);
|
|
// modify the table
|
|
mysqli_query($drs_db,"insert into users(firstname,lastname,login,password_hash,role,active) values(\"$clean_fname\",\"$clean_lname\",\"$clean_login\",\"$passhash\",\"$user_role\",\"$user_active\")");
|
|
$user_add_fail=false;
|
|
} else {
|
|
$user_add_fail=true;
|
|
}
|
|
}
|
|
|
|
if ($edit_user) {
|
|
if ($delete_user) {
|
|
// check for actions by this user
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from writeups where action_by=\"$user_id\""))) {
|
|
$userhaswriteups=true;
|
|
$userhaswriteups_err=true;
|
|
} else {
|
|
$userhaswriteups=false;
|
|
$userhaswriteups_err=false;
|
|
}
|
|
// if none, then remove from db
|
|
if (!$userhaswriteups) mysqli_query($drs_db,"delete from users where id=\"$user_id\"");
|
|
}
|
|
if ($update_user) {
|
|
// do error checking
|
|
// remove html tags from user name
|
|
$user_fname=strip_tags($user_fname);
|
|
$user_lname=strip_tags($user_lname);
|
|
$user_login=strip_tags($user_login);
|
|
// test for first name supplied
|
|
if (strlen(trim($user_fname))) {
|
|
$fnamesuppld=true;
|
|
$fnamesuppld_err=false;
|
|
} else {
|
|
$fnamesuppld=false;
|
|
$fnamesuppld_err=true;
|
|
}
|
|
// test for last name supplied
|
|
if (strlen(trim($user_lname))) {
|
|
$lnamesuppld=true;
|
|
$lnamesuppld_err=false;
|
|
} else {
|
|
$lnamesuppld=false;
|
|
$lnamesuppld_err=true;
|
|
}
|
|
// test for name unique
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from users where firstname=\"$user_fname\" and lastname=\"$user_lname\" and id!=\"$user_id\""))) {
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from users where firstname=\"$user_fname\" and lastname=\"$user_lname\""))) {
|
|
$nameunique=false;
|
|
$nameunique_err=true;
|
|
} else {
|
|
$nameunique=true;
|
|
$nameunique_err=false;
|
|
}
|
|
} else {
|
|
$nameunique=true;
|
|
$nameunique_err=false;
|
|
}
|
|
// test for login supplied
|
|
if (strlen(trim($user_login))) {
|
|
$loginsuppld=true;
|
|
$loginsuppld_err=false;
|
|
} else {
|
|
$loginsuppld=false;
|
|
$loginsuppld_err=true;
|
|
}
|
|
// test for login unique
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from users where login=\"$user_login\" and id!=\"$user_id\""))) {
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from users where login=\"$user_login\""))) {
|
|
$loginunique=false;
|
|
$loginunique_err=true;
|
|
} else {
|
|
$loginunique=true;
|
|
$loginunique_err=false;
|
|
}
|
|
} else {
|
|
$loginunique=true;
|
|
$loginunique_err=false;
|
|
}
|
|
// sanitize first name, last name, login
|
|
$clean_fname=mysqli_real_escape_string($drs_db,$user_fname);
|
|
$clean_lname=mysqli_real_escape_string($drs_db,$user_lname);
|
|
$clean_login=mysqli_real_escape_string($drs_db,$user_login);
|
|
|
|
// set role
|
|
if (!isset($user_role)) $user_role=USER;
|
|
|
|
// set active status
|
|
if (!isset($user_active)) $user_active=0;
|
|
|
|
if ($user_pass!="password_is_unchanged") {
|
|
// test passwords
|
|
$passresults=validate_password($user_pass,$user_passconf);
|
|
if ($passresults['match']) {
|
|
$passmatch=true;
|
|
$passmatch_err=false;
|
|
} else {
|
|
$passmatch=false;
|
|
$passmatch_err=true;
|
|
}
|
|
if ($passresults['complex']) {
|
|
$passcomplex=true;
|
|
$passcomplex_err=false;
|
|
} else {
|
|
$passcomplex=false;
|
|
$passcomplex_err=true;
|
|
}
|
|
if ($passmatch && $passcomplex) {
|
|
$passhash=password_hash($user_pass,PASSWORD_DEFAULT);
|
|
$updqry="update users set firstname=\"$clean_fname\",lastname=\"$clean_lname\",login=\"$clean_login\",password_hash=\"$passhash\",role=\"$user_role\",active=\"$user_active\" where id=\"$user_id\"";
|
|
}
|
|
} else {
|
|
$passmatch=true;
|
|
$passcomplex=true;
|
|
$updqry="update users set firstname=\"$clean_fname\",lastname=\"$clean_lname\",login=\"$clean_login\",role=\"$user_role\",active=\"$user_active\" where id=\"$user_id\"";
|
|
}
|
|
if ($fnamesuppld && $lnamesuppld && $nameunique && $loginsuppld && $loginunique && $passcomplex && $passmatch) {
|
|
// modify the table
|
|
mysqli_query($drs_db,$updqry);
|
|
}
|
|
}
|
|
}
|
|
|
|
// devices-------------------------------
|
|
$devicenameunique_err=$devicenamesuppld_err=false;
|
|
$devicehaswriteups_err=false;
|
|
$device_add_fail=false;
|
|
|
|
if ($add_device) {
|
|
// do error checking
|
|
// remove html tags from device name
|
|
$device_name=strip_tags($device_name);
|
|
// test for device name supplied
|
|
if (strlen(trim($device_name))) {
|
|
$devicenamesuppld=true;
|
|
$devicenamesuppld_err=false;
|
|
} else {
|
|
$devicenamesuppld=false;
|
|
$devicenamesuppld_err=true;
|
|
}
|
|
// test for name unique
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from devices where name=\"$device_name\""))) {
|
|
$devicenameunique=false;
|
|
$devicenameunique_err=true;
|
|
} else {
|
|
$devicenameunique=true;
|
|
$devicenameunique_err=false;
|
|
}
|
|
|
|
// set active status
|
|
if (!isset($device_active)) $device_active=0;
|
|
|
|
if ($devicenamesuppld && $devicenameunique) {
|
|
// sanitize device name
|
|
$clean_devicename=mysqli_real_escape_string($drs_db,$device_name);
|
|
// modify the table
|
|
mysqli_query($drs_db,"insert into devices(name,active) values(\"$clean_devicename\",\"$device_active\")");
|
|
$device_add_fail=false;
|
|
} else {
|
|
$device_add_fail=true;
|
|
}
|
|
}
|
|
if ($edit_device) {
|
|
if ($delete_device) {
|
|
// check for writeups on this device
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from writeups where device=\"$device_id\""))) {
|
|
$devicehaswriteups=true;
|
|
$devicehaswriteups_err=true;
|
|
} else {
|
|
$devicehaswriteups=false;
|
|
$devicehaswriteups_err=false;
|
|
}
|
|
// if none, then remove from db
|
|
if (!$devicehaswriteups) mysqli_query($drs_db,"delete from devices where id=\"$device_id\"");
|
|
}
|
|
if ($update_device) {
|
|
// do error checking
|
|
// remove html tags from device name
|
|
$device_name=strip_tags($device_name);
|
|
// test for device name supplied
|
|
if (strlen(trim($device_name))) {
|
|
$devicenamesuppld=true;
|
|
$devicenamesuppld_err=false;
|
|
} else {
|
|
$devicenamesuppld=false;
|
|
$devicenamesuppld_err=true;
|
|
}
|
|
// test for device name unique
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from devices where name=\"$device_name\" and id!=\"$device_id\""))) {
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from devices where name=\"$device_name\""))) {
|
|
$devicenameunique=false;
|
|
$devicenameunique_err=true;
|
|
} else {
|
|
$devicenameunique=true;
|
|
$devicenameunique_err=false;
|
|
}
|
|
} else {
|
|
$devicenameunique=true;
|
|
$devicenameunique_err=false;
|
|
}
|
|
|
|
// set active status
|
|
if (!isset($device_active)) $device_active=0;
|
|
|
|
// sanitize device name
|
|
$clean_devicename=mysqli_real_escape_string($drs_db,$device_name);
|
|
$updqry="update devices set name=\"$clean_devicename\",active=\"$device_active\" where id=\"$device_id\"";
|
|
if ($devicenamesuppld && $devicenameunique) {
|
|
// modify the table
|
|
mysqli_query($drs_db,$updqry);
|
|
}
|
|
}
|
|
}
|
|
|
|
// subsystems--------------------------------
|
|
$ssnameunique_err=$ssnamesuppld_err=false;
|
|
$sshaswriteups_err=false;
|
|
$subsystem_add_fail=false;
|
|
|
|
if ($add_subsystem) {
|
|
// do error checking
|
|
// remove html tags from subsystem name and description
|
|
$subsystem_name=strip_tags($subsystem_name);
|
|
$subsystem_desc=strip_tags($subsystem_desc);
|
|
// test for subsystem name supplied
|
|
if (strlen(trim($subsystem_name))) {
|
|
$ssnamesuppld=true;
|
|
$ssnamesuppld_err=false;
|
|
} else {
|
|
$ssnamesuppld=false;
|
|
$ssnamesuppld_err=true;
|
|
}
|
|
// test for name unique
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from subsystems where name=\"$subsystem_name\""))) {
|
|
$ssnameunique=false;
|
|
$ssnameunique_err=true;
|
|
} else {
|
|
$ssnameunique=true;
|
|
$ssnameunique_err=false;
|
|
}
|
|
|
|
// set active status
|
|
if (!isset($subsystem_active)) $subsystem_active=0;
|
|
|
|
if ($ssnamesuppld && $ssnameunique) {
|
|
// sanitize subsystem name and description
|
|
$clean_subsystemname=mysqli_real_escape_string($drs_db,$subsystem_name);
|
|
$clean_subsystemdesc=mysqli_real_escape_string($drs_db,$subsystem_desc);
|
|
// modify the table
|
|
mysqli_query($drs_db,"insert into subsystems(name,description,active) values(\"$clean_subsystemname\",\"$clean_subsystemdesc\",\"$subsystem_active\")");
|
|
$subsystem_add_fail=false;
|
|
} else {
|
|
$subsystem_add_fail=true;
|
|
}
|
|
}
|
|
if ($edit_subsystem) {
|
|
if ($delete_subsystem) {
|
|
// check for writeups on this subsystem
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from writeups where subsystem=\"$subsystem_id\""))) {
|
|
$sshaswriteups=true;
|
|
$sshaswriteups_err=true;
|
|
} else {
|
|
$sshaswriteups=false;
|
|
$sshaswriteups_err=false;
|
|
}
|
|
// if none, then remove from db
|
|
if (!$sshaswriteups) mysqli_query($drs_db,"delete from subsystems where id=\"$subsystem_id\"");
|
|
}
|
|
if ($update_subsystem) {
|
|
// do error checking
|
|
// remove html tags from subsystem name and description
|
|
$subsystem_name=strip_tags($subsystem_name);
|
|
$subsystem_desc=strip_tags($subsystem_desc);
|
|
// test for subsystem name supplied
|
|
if (strlen(trim($subsystem_name))) {
|
|
$ssnamesuppld=true;
|
|
$ssnamesuppld_err=false;
|
|
} else {
|
|
$ssnamesuppld=false;
|
|
$ssnamesuppld_err=true;
|
|
}
|
|
// test for subsystem name unique
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from subsystems where name=\"$subsystem_name\" and id!=\"$subsystem_id\""))) {
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from subsystems where name=\"$subsystem_name\""))) {
|
|
$ssnameunique=false;
|
|
$ssnameunique_err=true;
|
|
} else {
|
|
$ssnameunique=true;
|
|
$ssnameunique_err=false;
|
|
}
|
|
} else {
|
|
$ssnameunique=true;
|
|
$ssnameunique_err=false;
|
|
}
|
|
// sanitize subsystem name and description
|
|
$clean_ssname=mysqli_real_escape_string($drs_db,$subsystem_name);
|
|
$clean_ssdesc=mysqli_real_escape_string($drs_db,$subsystem_desc);
|
|
$updqry="update subsystems set name=\"$clean_ssname\",description=\"$clean_ssdesc\",active=\"$subsystem_active\" where id=\"$subsystem_id\"";
|
|
if ($ssnamesuppld && $ssnameunique) {
|
|
// modify the table
|
|
mysqli_query($drs_db,$updqry);
|
|
}
|
|
}
|
|
}
|
|
|
|
// reasons------------------------------------
|
|
$reastextunique_err=$reastextsuppld_err=false;
|
|
$reashaswriteups_err=false;
|
|
$reason_add_fail=false;
|
|
|
|
if ($add_reason) {
|
|
// do error checking
|
|
// remove html tags from reason text
|
|
$reason_text=strip_tags($reason_text);
|
|
// test for reason text supplied
|
|
if (strlen(trim($reason_text))) {
|
|
$reastextsuppld=true;
|
|
$reastextsuppld_err=false;
|
|
} else {
|
|
$reastextsuppld=false;
|
|
$reastextsuppld_err=true;
|
|
}
|
|
// test for text unique
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from reasons where text=\"$reason_text\""))) {
|
|
$reastextunique=false;
|
|
$reastextunique_err=true;
|
|
} else {
|
|
$reastextunique=true;
|
|
$reastextunique_err=false;
|
|
}
|
|
|
|
// set active status
|
|
if (!isset($reason_active)) $reason_active=0;
|
|
|
|
if ($reastextsuppld && $reastextunique) {
|
|
// sanitize reason text
|
|
$clean_reastext=mysqli_real_escape_string($drs_db,$reason_text);
|
|
// modify the table
|
|
mysqli_query($drs_db,"insert into reasons(text,active) values(\"$clean_reastext\",\"$reason_active\")");
|
|
$reason_add_fail=false;
|
|
} else {
|
|
$reason_add_fail=true;
|
|
}
|
|
}
|
|
if ($edit_reason) {
|
|
if ($delete_reason) {
|
|
// check for writeups with this reason
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from writeups where reason=\"$reason_id\""))) {
|
|
$reashaswriteups=true;
|
|
$reashaswriteups_err=true;
|
|
} else {
|
|
$reashaswriteups=false;
|
|
$reashaswriteups_err=false;
|
|
}
|
|
// if none, then remove from db
|
|
if (!$reashaswriteups) mysqli_query($drs_db,"delete from reasons where id=\"$reason_id\"");
|
|
}
|
|
if ($update_reason) {
|
|
// do error checking
|
|
// remove html tags from reason text
|
|
$reason_text=strip_tags($reason_text);
|
|
// test for reason text supplied
|
|
if (strlen(trim($reason_text))) {
|
|
$reastextsuppld=true;
|
|
$reastextsuppld_err=false;
|
|
} else {
|
|
$reastextsuppld=false;
|
|
$reastextsuppld_err=true;
|
|
}
|
|
// test for reason text unique
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from reasons where text=\"$reason_text\" and id!=\"$reason_id\""))) {
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from reasons where text=\"$reason_text\""))) {
|
|
$reastextunique=false;
|
|
$reastextunique_err=true;
|
|
} else {
|
|
$reastextunique=true;
|
|
$reastextunique_err=false;
|
|
}
|
|
} else {
|
|
$reastextunique=true;
|
|
$reastextunique_err=false;
|
|
}
|
|
|
|
// set active status
|
|
if (!isset($reason_active)) $reason_active=0;
|
|
|
|
// sanitize reason text
|
|
$clean_reastext=mysqli_real_escape_string($drs_db,$reason_text);
|
|
$updqry="update reasons set text=\"$clean_reastext\",active=\"$reason_active\" where id=\"$reason_id\"";
|
|
if ($reastextsuppld && $reastextunique) {
|
|
// modify the table
|
|
mysqli_query($drs_db,$updqry);
|
|
}
|
|
}
|
|
}
|
|
|
|
// when discovered-----------------------------------
|
|
$discnamesuppld_err=$discnameunique_err=$discdescsuppld_err=false;
|
|
$dischaswriteups_err=false;
|
|
$discovered_add_fail=false;
|
|
|
|
if ($add_discovered) {
|
|
// do error checking
|
|
// remove html tags from name and description
|
|
$discovered_name=strip_tags($discovered_name);
|
|
$discovered_desc=strip_tags($discovered_desc);
|
|
// test for name supplied
|
|
if (strlen(trim($discovered_name))) {
|
|
$discnamesuppld=true;
|
|
$discnamesuppld_err=false;
|
|
} else {
|
|
$discnamesuppld=false;
|
|
$discnamesuppld_err=true;
|
|
}
|
|
// test for name unique
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from discovered where whendiscoveredname=\"$discovered_name\""))) {
|
|
$discnameunique=false;
|
|
$discnameunique_err=true;
|
|
} else {
|
|
$discnameunique=true;
|
|
$discnameunique_err=false;
|
|
}
|
|
// test for description supplied
|
|
if (strlen(trim($discovered_desc))) {
|
|
$discdescsuppld=true;
|
|
$discdescsuppld_err=false;
|
|
} else {
|
|
$discdescsuppld=false;
|
|
$discdescsuppld_err=true;
|
|
}
|
|
// test for description unique
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from discovered where whendiscovereddesc =\"$discovered_desc\""))) {
|
|
$discdescunique=false;
|
|
$discdescunique_err=true;
|
|
} else {
|
|
$discdescunique=true;
|
|
$discdescunique_err=false;
|
|
}
|
|
|
|
// set active status
|
|
if (!isset($discovered_active)) $discovered_active=0;
|
|
|
|
if ($discnamesuppld && $discnameunique && $discdescsuppld) {
|
|
// sanitize name
|
|
$clean_discovered_name=mysqli_real_escape_string($drs_db,$discovered_name);
|
|
// sanitize description
|
|
$clean_discovered_desc=mysqli_real_escape_string($drs_db,$discovered_desc);
|
|
// modify the table
|
|
mysqli_query($drs_db,"insert into discovered(whendiscoveredname,whendiscovereddesc,active) values(\"$clean_discovered_name\",\"$clean_discovered_desc\",\"$discovered_active\")");
|
|
$discovered_add_fail=false;
|
|
} else {
|
|
$discovered_add_fail=true;
|
|
}
|
|
}
|
|
if ($edit_discovered) {
|
|
if ($delete_discovered) {
|
|
// check for writeups with this when discovered
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from writeups where discovered=\"$discovered_id\""))) {
|
|
$dischaswriteups=true;
|
|
$dischaswriteups_err=true;
|
|
} else {
|
|
$dischaswriteups=false;
|
|
$dischaswriteups_err=false;
|
|
}
|
|
// if none, then remove from db
|
|
if (!$dischaswriteups) mysqli_query($drs_db,"delete from discovered where id=\"$discovered_id\"");
|
|
}
|
|
if ($update_discovered) {
|
|
// do error checking
|
|
// remove html tags from name and description
|
|
$discovered_name=strip_tags($discovered_name);
|
|
$discovered_desc=strip_tags($discovered_desc);
|
|
// test for name supplied
|
|
if (strlen(trim($discovered_name))) {
|
|
$discnamesuppld=true;
|
|
$discnamesuppld_err=false;
|
|
} else {
|
|
$discnamesuppld=false;
|
|
$discnamesuppld_err=true;
|
|
}
|
|
// test for name unique
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from discovered where whendiscoveredname=\"$discovered_name\" and id!=\"$discovered_id\""))) {
|
|
if (mysqli_num_rows(mysqli_query($drs_db,"select id from discovered where whendiscoveredname=\"$discovered_name\""))) {
|
|
$discnameunique=false;
|
|
$discnameunique_err=true;
|
|
} else {
|
|
$discnameunique=true;
|
|
$discnameunique_err=false;
|
|
}
|
|
} else {
|
|
$discnameunique=true;
|
|
$discnameunique_err=false;
|
|
}
|
|
// test for description supplied
|
|
if (strlen(trim($discovered_desc))) {
|
|
$discdescsuppld=true;
|
|
$discdescsuppld_err=false;
|
|
} else {
|
|
$discdescsuppld=false;
|
|
$discdescsuppld_err=true;
|
|
}
|
|
|
|
// set active status
|
|
if (!isset($discovered_active)) $discovered_active=0;
|
|
|
|
// sanitize name
|
|
$clean_discovered_name=mysqli_real_escape_string($drs_db,$discovered_name);
|
|
// sanitize description
|
|
$clean_discovered_desc=mysqli_real_escape_string($drs_db,$discovered_desc);
|
|
|
|
$updqry="update discovered set whendiscoveredname=\"$clean_discovered_name\",whendiscovereddesc=\"$clean_discovered_desc\",active=\"$discovered_active\" where id=\"$discovered_id\"";
|
|
if ($discnamesuppld && $discnameunique && $discdescsuppld) {
|
|
// modify the table
|
|
mysqli_query($drs_db,$updqry);
|
|
}
|
|
}
|
|
}
|
|
|
|
// ******** end database manipulation ********
|
|
|
|
pagetable("begin");
|
|
if (!$print) {
|
|
pageblock("left","begin");
|
|
sidemenu();
|
|
pageblock("left","end");
|
|
}
|
|
pageblock("right","begin");
|
|
banner($print);
|
|
echo "<br>";
|
|
echo "
|
|
<div id=\"dbadmintabs\">
|
|
<ul>
|
|
<li><a href=\"#users\">User Management</a></li>
|
|
<li><a href=\"#devices\">Device Management</a></li>
|
|
<li><a href=\"#subsystems\">Subsystem Management</a></li>
|
|
<li><a href=\"#reasons\">Action Reasons Management</a></li>
|
|
<li><a href=\"#discovered\">When Discovered Management</a></li>
|
|
</ul>
|
|
|
|
<div id=\"users\">
|
|
";
|
|
if ($usernameunique_err) format_message(1,"User name already exists.");
|
|
if ($fnamesuppld_err) format_message(1,"First name cannot be blank.");
|
|
if ($lnamesuppld_err) format_message(1,"Last name cannot be blank.");
|
|
if ($loginsuppld_err) format_message(1,"Login cannot be blank.");
|
|
if ($loginunique_err) format_message(1,"Login already exists.");
|
|
if ($passcomplex_err) format_message(1,"Password doesn't meet complexity requirements.");
|
|
if ($passmatch_err) format_message(1,"The supplied passwords don't match.");
|
|
if ($userhaswriteups_err) format_message(1,"User has actions in the database and cannot be deleted.");
|
|
|
|
if ($edit_user && !$delete_user) {
|
|
// set form options for editing
|
|
$sectiontitle="<b><font size=\"+1\">Modify User</font></b> <a href=\"dbadmin.php#users\">Click here to add a new user</a><br><br>";
|
|
$formtag="<form method=\"post\" action=\"dbadmin.php?edit_user=1#users\">";
|
|
$buttontags="
|
|
<input type=\"hidden\" name=\"user_id\" value=\"$user_id\">
|
|
<input type=\"submit\" name=\"update_user\" value=\"Update User\">
|
|
<input type=\"submit\" name=\"delete_user\" value=\"Delete User\">
|
|
<input type=\"submit\" name=\"reset\" value=\"Reset\"><br>
|
|
";
|
|
// pull current values from database
|
|
$currentvalues=mysqli_fetch_assoc(mysqli_query($drs_db,"select * from users where id=$user_id"));
|
|
$user_fname=$currentvalues["firstname"];
|
|
$user_lname=$currentvalues["lastname"];
|
|
$user_login=$currentvalues["login"];
|
|
$user_pass=$user_passconf="password_is_unchanged";
|
|
if ($currentvalues["role"]==ADMIN) {
|
|
$roletag="<input type=\"checkbox\" name=\"user_role\" value=\"2\" checked>";
|
|
} else {
|
|
$roletag="<input type=\"checkbox\" name=\"user_role\" value=\"2\">";
|
|
}
|
|
if ($currentvalues["active"]==1) {
|
|
$activetag="<input type=\"checkbox\" name=\"user_active\" value=\"1\" checked>";
|
|
} else {
|
|
$activetag="<input type=\"checkbox\" name=\"user_active\" value=\"1\">";
|
|
}
|
|
} else {
|
|
// set form options for add
|
|
if (!$user_add_fail) $user_id=$user_fname=$user_lname=$user_login=$user_pass=$user_passconf=$user_role=$user_active=NULL;
|
|
$sectiontitle="<b><font size=\"+1\">Add New User</font></b><br><br>";
|
|
$formtag="<form method=\"post\" action=\"dbadmin.php#users\">";
|
|
$buttontags="
|
|
<input type=\"submit\" name=\"add_user\" value=\"Add User\">
|
|
";
|
|
// set default values
|
|
$roletag="<input type=\"checkbox\" name=\"user_role\" value=\"2\">";
|
|
$activetag="<input type=\"checkbox\" name=\"user_active\" value=\"1\" checked>";
|
|
}
|
|
$password_help="Password must be at least 8 characters in length and contain at least one upper case letter, one lower case letter, one number, and one special character.";
|
|
echo "
|
|
$sectiontitle
|
|
$formtag
|
|
<table border=\"0\">
|
|
<tr><td>
|
|
First Name: <input type=\"text\" name=\"user_fname\" size=\"40\" value=\"$user_fname\"><br><br>
|
|
Last Name: <input type=\"text\" name=\"user_lname\" size=\"40\" value=\"$user_lname\"><br><br>
|
|
Login: <input type=\"text\" name=\"user_login\" size=\"40\" value=\"$user_login\"><br><br>
|
|
Password: <input type=\"password\" name=\"user_pass\" size=\"40\" id=\"pass\" title=\"$password_help\" value=\"$user_pass\"><br><br>
|
|
Repeat Password: <input type=\"password\" name=\"user_passconf\" size=\"40\" id=\"passconf\" title=\"$password_help\" value=\"$user_passconf\"><br><br>
|
|
<font size=\"-1\">Need a random password? </font>
|
|
";
|
|
$rpwok=false;
|
|
while (!$rpwok) {
|
|
$rpw=substr(str_shuffle(password_hash(microtime(),PASSWORD_DEFAULT)), 10, 12);
|
|
$rpwtst=validate_password($rpw,$rpw);
|
|
if ($rpwtst['complex']) $rpwok=true;
|
|
}
|
|
echo " $rpw<br><br>
|
|
<br><br>
|
|
Admin: $roletag
|
|
Active: $activetag <br><br>
|
|
</td></tr>
|
|
</table>
|
|
$buttontags
|
|
</form>
|
|
<br><hr>
|
|
";
|
|
|
|
// show the table of entities
|
|
$existingdata=mysqli_query($drs_db,"select id,firstname,lastname,login,role,active from users order by id asc");
|
|
echo "
|
|
<b>Existing Users</b> <font size=\"-1\">Click on the User ID to edit.</font><br><br>
|
|
<table border=\"1\">
|
|
<tr><th>User ID</th><th>First Name</th><th>Last Name</th><th>Login</th><th>Role</th><th>Active</th></tr>
|
|
";
|
|
while ($tablerow=mysqli_fetch_assoc($existingdata)) {
|
|
if ($tablerow["role"]==ADMIN) {
|
|
$roledef="Admin";
|
|
} elseif ($tablerow["role"]==USER) {
|
|
$roledef="User";
|
|
}
|
|
if ($tablerow["active"]) {
|
|
$activedef="<img src=\"icons/tick.png\" title=\"active\" alt=\"active\">";
|
|
} else {
|
|
$activedef="<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
|
}
|
|
printf("
|
|
<tr>
|
|
<td><a href=\"dbadmin.php?edit_user=1&user_id=%s#users\">%s</a></td>
|
|
<td>%s</td>
|
|
<td>%s</td>
|
|
<td>%s</td>
|
|
<td align=\"center\">%s</td>
|
|
<td align=\"center\">%s</td>
|
|
</tr>",
|
|
$tablerow["id"],$tablerow["id"],
|
|
$tablerow["firstname"],
|
|
$tablerow["lastname"],
|
|
$tablerow["login"],
|
|
$roledef,
|
|
$activedef);
|
|
}
|
|
echo "</table>";
|
|
|
|
echo "
|
|
</div>
|
|
|
|
<div id=\"devices\">
|
|
";
|
|
if ($devicenameunique_err) format_message(1,"Device name already exists.");
|
|
if ($devicenamesuppld_err) format_message(1,"Device name cannot be blank.");
|
|
if ($devicehaswriteups_err) format_message(1,"Device has writeups in the database and cannot be deleted.");
|
|
|
|
if ($edit_device && !$delete_device) {
|
|
// set form options for editing
|
|
$sectiontitle="<b><font size=\"+1\">Modify Device</font></b> <a href=\"dbadmin.php#devices\">Click here to add a new device</a><br><br>";
|
|
$formtag="<form method=\"post\" action=\"dbadmin.php?edit_device=1#devices\">";
|
|
$buttontags="
|
|
<input type=\"hidden\" name=\"device_id\" value=\"$device_id\">
|
|
<input type=\"submit\" name=\"update_device\" value=\"Update Device\">
|
|
<input type=\"submit\" name=\"delete_device\" value=\"Delete Device\">
|
|
<input type=\"submit\" name=\"reset\" value=\"Reset\"><br>
|
|
";
|
|
// pull current values from database
|
|
$currentvalues=mysqli_fetch_assoc(mysqli_query($drs_db,"select * from devices where id=$device_id"));
|
|
$device_name=$currentvalues["name"];
|
|
if ($currentvalues["active"]==1) {
|
|
$activetag="<input type=\"checkbox\" name=\"device_active\" value=\"1\" checked>";
|
|
} else {
|
|
$activetag="<input type=\"checkbox\" name=\"device_active\" value=\"1\">";
|
|
}
|
|
} else {
|
|
// set form options for add
|
|
if (!$device_add_fail) $device_id=$device_name=$device_active=NULL;
|
|
$sectiontitle="<b><font size=\"+1\">Add New Device</font></b><br><br>";
|
|
$formtag="<form method=\"post\" action=\"dbadmin.php#devices\">";
|
|
$buttontags="
|
|
<input type=\"submit\" name=\"add_device\" value=\"Add Device\">
|
|
";
|
|
// set default values
|
|
$activetag="<input type=\"checkbox\" name=\"device_active\" value=\"1\" checked>";
|
|
}
|
|
echo "
|
|
$sectiontitle
|
|
$formtag
|
|
<table border=\"0\">
|
|
<tr><td>
|
|
Device Name: <input type=\"text\" name=\"device_name\" size=\"40\" value=\"$device_name\"><br><br>
|
|
Active: $activetag <br><br>
|
|
</td></tr>
|
|
</table>
|
|
$buttontags
|
|
</form>
|
|
<br><hr>
|
|
";
|
|
|
|
// show the table of entities
|
|
$existingdata=mysqli_query($drs_db,"select * from devices order by id asc");
|
|
echo "
|
|
<b>Existing Devices</b> <font size=\"-1\">Click on the Device ID to edit.</font><br><br>
|
|
<table border=\"1\">
|
|
<tr><th>Device ID</th><th>Device Name</th><th>Active</th></tr>
|
|
";
|
|
while ($tablerow=mysqli_fetch_assoc($existingdata)) {
|
|
if ($tablerow["active"]) {
|
|
$activedef="<img src=\"icons/tick.png\" title=\"active\" alt=\"active\">";
|
|
} else {
|
|
$activedef="<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
|
}
|
|
printf("
|
|
<tr>
|
|
<td><a href=\"dbadmin.php?edit_device=1&device_id=%s#devices\">%s</a></td>
|
|
<td>%s</td>
|
|
<td align=\"center\">%s</td>
|
|
</tr>",
|
|
$tablerow["id"],$tablerow["id"],
|
|
$tablerow["name"],
|
|
$activedef);
|
|
}
|
|
echo "</table>";
|
|
echo "
|
|
</div>
|
|
|
|
<div id=\"subsystems\">
|
|
";
|
|
if ($ssnameunique_err) format_message(1,"Subsystem name already exists.");
|
|
if ($ssnamesuppld_err) format_message(1,"Subsystem name cannot be blank.");
|
|
if ($sshaswriteups_err) format_message(1,"Subsystem has writeups in the database and cannot be deleted.");
|
|
|
|
if ($edit_subsystem && !$delete_subsystem) {
|
|
// set form options for editing
|
|
$sectiontitle="<b><font size=\"+1\">Modify Subsystem</font></b> <a href=\"dbadmin.php#subsystems\">Click here to add a new subsystem</a><br><br>";
|
|
$formtag="<form method=\"post\" action=\"dbadmin.php?edit_subsystem=1#subsystems\">";
|
|
$buttontags="
|
|
<input type=\"hidden\" name=\"subsystem_id\" value=\"$subsystem_id\">
|
|
<input type=\"submit\" name=\"update_subsystem\" value=\"Update Subsystem\">
|
|
<input type=\"submit\" name=\"delete_subsystem\" value=\"Delete Subsystem\">
|
|
<input type=\"submit\" name=\"reset\" value=\"Reset\"><br>
|
|
";
|
|
// pull current values from database
|
|
$currentvalues=mysqli_fetch_assoc(mysqli_query($drs_db,"select * from subsystems where id=$subsystem_id"));
|
|
$subsystem_name=$currentvalues["name"];
|
|
$subsystem_desc=$currentvalues["description"];
|
|
if ($currentvalues["active"]==1) {
|
|
$activetag="<input type=\"checkbox\" name=\"subsystem_active\" value=\"1\" checked>";
|
|
} else {
|
|
$activetag="<input type=\"checkbox\" name=\"subsystem_active\" value=\"1\">";
|
|
}
|
|
} else {
|
|
// set form options for add
|
|
if (!$subsystem_add_fail) $subsystem_id=$subsystem_name=$subsystem_desc=$subsystem_active=NULL;
|
|
$sectiontitle="<b><font size=\"+1\">Add New Subsystem</font></b><br><br>";
|
|
$formtag="<form method=\"post\" action=\"dbadmin.php#subsystems\">";
|
|
$buttontags="
|
|
<input type=\"submit\" name=\"add_subsystem\" value=\"Add Subsystem\">
|
|
";
|
|
// set default values
|
|
$activetag="<input type=\"checkbox\" name=\"subsystem_active\" value=\"1\" checked>";
|
|
}
|
|
echo "
|
|
$sectiontitle
|
|
$formtag
|
|
<table border=\"0\">
|
|
<tr><td>
|
|
Subsystem Name: <input type=\"text\" name=\"subsystem_name\" size=\"40\" value=\"$subsystem_name\"><br><br>
|
|
Description: <br><textarea rows=\"2\" cols=\"60\" name=\"subsystem_desc\" wrap=\"soft\">$subsystem_desc</textarea><br><br>
|
|
Active: $activetag <br><br>
|
|
</td></tr>
|
|
</table>
|
|
$buttontags
|
|
</form>
|
|
<br><hr>
|
|
";
|
|
|
|
// show the table of entities
|
|
$existingdata=mysqli_query($drs_db,"select * from subsystems order by id asc");
|
|
echo "
|
|
<b>Existing Subsystems</b> <font size=\"-1\">Click on the Subsystem ID to edit.</font><br><br>
|
|
<table border=\"1\">
|
|
<tr><th>Subsystem ID</th><th>Subsystem Name</th><th>Description</th><th>Active</th></tr>
|
|
";
|
|
while ($tablerow=mysqli_fetch_assoc($existingdata)) {
|
|
if ($tablerow["active"]) {
|
|
$activedef="<img src=\"icons/tick.png\" title=\"active\" alt=\"active\">";
|
|
} else {
|
|
$activedef="<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
|
}
|
|
printf("
|
|
<tr>
|
|
<td><a href=\"dbadmin.php?edit_subsystem=1&subsystem_id=%s#subsystems\">%s</a></td>
|
|
<td>%s</td>
|
|
<td>%s</td>
|
|
<td align=\"center\">%s</td>
|
|
</tr>",
|
|
$tablerow["id"],$tablerow["id"],
|
|
$tablerow["name"],
|
|
$tablerow["description"],
|
|
$activedef);
|
|
}
|
|
echo "</table>";
|
|
|
|
echo "
|
|
</div>
|
|
|
|
<div id=\"reasons\">
|
|
";
|
|
if ($reastextunique_err) format_message(1,"Reason already exists.");
|
|
if ($reastextsuppld_err) format_message(1,"Reason cannot be blank.");
|
|
if ($reashaswriteups_err) format_message(1,"Reason has writeups in the database and cannot be deleted.");
|
|
|
|
if ($edit_reason && !$delete_reason) {
|
|
// set form options for editing
|
|
$sectiontitle="<b><font size=\"+1\">Modify Reason</font></b> <a href=\"dbadmin.php#reasons\">Click here to add a new reason</a><br><br>";
|
|
$formtag="<form method=\"post\" action=\"dbadmin.php?edit_reason=1#reasons\">";
|
|
$buttontags="
|
|
<input type=\"hidden\" name=\"reason_id\" value=\"$reason_id\">
|
|
<input type=\"submit\" name=\"update_reason\" value=\"Update Reason\">
|
|
<input type=\"submit\" name=\"delete_reason\" value=\"Delete Reason\">
|
|
<input type=\"submit\" name=\"reset\" value=\"Reset\"><br>
|
|
";
|
|
// pull current values from database
|
|
$currentvalues=mysqli_fetch_assoc(mysqli_query($drs_db,"select * from reasons where id=$reason_id"));
|
|
$reason_text=$currentvalues["text"];
|
|
if ($currentvalues["active"]==1) {
|
|
$activetag="<input type=\"checkbox\" name=\"reason_active\" value=\"1\" checked>";
|
|
} else {
|
|
$activetag="<input type=\"checkbox\" name=\"reason_active\" value=\"1\">";
|
|
}
|
|
} else {
|
|
// set form options for add
|
|
if (!$reason_add_fail) $reason_id=$reason_text=$reason_active=NULL;
|
|
$sectiontitle="<b><font size=\"+1\">Add New Reason</font></b><br><br>";
|
|
$formtag="<form method=\"post\" action=\"dbadmin.php#reasons\">";
|
|
$buttontags="
|
|
<input type=\"submit\" name=\"add_reason\" value=\"Add Reason\">
|
|
";
|
|
// set default values
|
|
$activetag="<input type=\"checkbox\" name=\"reason_active\" value=\"1\" checked>";
|
|
}
|
|
echo "
|
|
$sectiontitle
|
|
$formtag
|
|
<table border=\"0\">
|
|
<tr><td>
|
|
Reason Text: <input type=\"text\" name=\"reason_text\" size=\"40\" value=\"$reason_text\"><br><br>
|
|
Active: $activetag <br><br>
|
|
</td></tr>
|
|
</table>
|
|
$buttontags
|
|
</form>
|
|
<br><hr>
|
|
";
|
|
|
|
// show the table of entities
|
|
$existingdata=mysqli_query($drs_db,"select * from reasons order by id asc");
|
|
echo "
|
|
<b>Existing Reasons</b> <font size=\"-1\">Click on the Reason ID to edit.</font><br><br>
|
|
<table border=\"1\">
|
|
<tr><th>Reason ID</th><th>Reason Text</th><th>Active</th></tr>
|
|
";
|
|
while ($tablerow=mysqli_fetch_assoc($existingdata)) {
|
|
if ($tablerow["active"]) {
|
|
$activedef="<img src=\"icons/tick.png\" title=\"active\" alt=\"active\">";
|
|
} else {
|
|
$activedef="<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
|
}
|
|
printf("
|
|
<tr>
|
|
<td><a href=\"dbadmin.php?edit_reason=1&reason_id=%s#reasons\">%s</a></td>
|
|
<td>%s</td>
|
|
<td align=\"center\">%s</td>
|
|
</tr>",
|
|
$tablerow["id"],$tablerow["id"],
|
|
$tablerow["text"],
|
|
$activedef);
|
|
}
|
|
echo "</table>";
|
|
|
|
echo "
|
|
</div>
|
|
|
|
<div id=\"discovered\">
|
|
";
|
|
if ($discnamesuppld_err) format_message(1,"When Discovered name cannot be blank.");
|
|
if ($discnameunique_err) format_message(1,"When Discovered name already exists.");
|
|
if ($discdescsuppld_err) format_message(1,"When Discovered description cannot be blank.");
|
|
if ($dischaswriteups_err) format_message(1,"When Discovered has writeups in the database and cannot be deleted.");
|
|
|
|
if ($edit_discovered && !$delete_discovered) {
|
|
// set form options for editing
|
|
$sectiontitle="<b><font size=\"+1\">Modify When Discovered</font></b> <a href=\"dbadmin.php#discovered\">Click here to add a new when discovered</a><br><br>";
|
|
$formtag="<form method=\"post\" action=\"dbadmin.php?edit_discovered=1#discovered\">";
|
|
$buttontags="
|
|
<input type=\"hidden\" name=\"discovered_id\" value=\"$discovered_id\">
|
|
<input type=\"submit\" name=\"update_discovered\" value=\"Update When Discovered\">
|
|
<input type=\"submit\" name=\"delete_discovered\" value=\"Delete When Discovered\">
|
|
<input type=\"submit\" name=\"reset\" value=\"Reset\"><br>
|
|
";
|
|
// pull current values from database
|
|
$currentvalues=mysqli_fetch_assoc(mysqli_query($drs_db,"select * from discovered where id=$discovered_id"));
|
|
$discovered_name=$currentvalues["whendiscoveredname"];
|
|
$discovered_desc=$currentvalues["whendiscovereddesc"];
|
|
if ($currentvalues["active"]==1) {
|
|
$activetag="<input type=\"checkbox\" name=\"discovered_active\" value=\"1\" checked>";
|
|
} else {
|
|
$activetag="<input type=\"checkbox\" name=\"discovered_active\" value=\"1\">";
|
|
}
|
|
} else {
|
|
// set form options for add
|
|
if (!$discovered_add_fail) $discovered_id=$discovered_name=$discovered_desc=$discovered_active=NULL;
|
|
$sectiontitle="<b><font size=\"+1\">Add New When Discovered</font></b><br><br>";
|
|
$formtag="<form method=\"post\" action=\"dbadmin.php#discovered\">";
|
|
$buttontags="
|
|
<input type=\"submit\" name=\"add_discovered\" value=\"Add When Discovered\">
|
|
";
|
|
// set default values
|
|
$activetag="<input type=\"checkbox\" name=\"discovered_active\" value=\"1\" checked>";
|
|
}
|
|
echo "
|
|
$sectiontitle
|
|
$formtag
|
|
<table border=\"0\">
|
|
<tr><td>
|
|
When Discovered Name: <input type=\"text\" name=\"discovered_name\" size=\"8\" value=\"$discovered_name\"><br><br>
|
|
When Discovered Description: <input type=\"text\" name=\"discovered_desc\" size=\"60\" value=\"$discovered_desc\"><br><br>
|
|
Active: $activetag <br><br>
|
|
</td></tr>
|
|
</table>
|
|
$buttontags
|
|
</form>
|
|
<br><hr>
|
|
";
|
|
|
|
// show the table of entities
|
|
$existingdata=mysqli_query($drs_db,"select * from discovered order by id asc");
|
|
echo "
|
|
<b>Existing When Discovereds</b> <font size=\"-1\">Click on the When Disc ID to edit.</font><br><br>
|
|
<table border=\"1\">
|
|
<tr><th>When Disc ID</th><th>Name</th><th>Description</th><th>Active</th></tr>
|
|
";
|
|
while ($tablerow=mysqli_fetch_assoc($existingdata)) {
|
|
if ($tablerow["active"]) {
|
|
$activedef="<img src=\"icons/tick.png\" title=\"active\" alt=\"active\">";
|
|
} else {
|
|
$activedef="<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
|
}
|
|
printf("
|
|
<tr>
|
|
<td><a href=\"dbadmin.php?edit_discovered=1&discovered_id=%s#discovered\">%s</a></td>
|
|
<td>%s</td>
|
|
<td>%s</td>
|
|
<td align=\"center\">%s</td>
|
|
</tr>",
|
|
$tablerow["id"],$tablerow["id"],
|
|
$tablerow["whendiscoveredname"],
|
|
$tablerow["whendiscovereddesc"],
|
|
$activedef);
|
|
}
|
|
echo "</table>";
|
|
echo "
|
|
</div>
|
|
|
|
</div>
|
|
";
|
|
|
|
echo "<br>";
|
|
banner($print);
|
|
pageblock("right","end");
|
|
pagetable("end");
|
|
|
|
framework("end","","",$print);
|
|
|
|
?>
|