incoming array ";
//var_dump($incoming);
// ******** begin database manipulation ********
// users-------------------------------------
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;
} else {
$fnamesuppld=false;
$fnamesuppld_err=true;
}
// test for last name supplied
if (strlen(trim($user_lname))) {
$lnamesuppld=true;
} 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;
}
// test for login supplied
if (strlen(trim($user_login))) {
$loginsuppld=true;
} 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;
}
// test passwords
$passresults=validate_password($user_pass,$user_passconf);
if ($passresults['match']) {
$passmatch=true;
} else {
$passmatch=false;
$passmatch_err=true;
}
if ($passresults['complex']) {
$passcomplex=true;
} else {
$passcomplex=false;
$passcomplex_err=true;
}
// set role
if (!$user_role) $user_role=USER;
// set active status
if (!$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\")");
} 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;
}
// 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;
} else {
$fnamesuppld=false;
$fnamesuppld_err=true;
}
// test for last name supplied
if (strlen(trim($user_lname))) {
$lnamesuppld=true;
} 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;
}
} else {
$nameunique=true;
}
// test for login supplied
if (strlen(trim($user_login))) {
$loginsuppld=true;
} 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;
}
} else {
$loginunique=true;
}
// 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 (!$user_role) $user_role=USER;
// set active status
if (!$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;
} else {
$passmatch=false;
$passmatch_err=true;
}
if ($passresults['complex']) {
$passcomplex=true;
} 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-------------------------------
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;
} 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;
}
// set active status
if (!$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\")");
} 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;
}
// 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;
} 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;
}
} else {
$devicenameunique=true;
}
// set active status
if (!$user_active) $user_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--------------------------------
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;
} 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;
}
// set active status
if (!$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\")");
} 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;
}
// 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;
} 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;
}
} else {
$ssnameunique=true;
}
// 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------------------------------------
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;
} 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;
}
// set active status
if (!$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\")");
} 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;
}
// 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;
} 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;
}
} else {
$reastextunique=true;
}
// set active status
if (!$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-----------------------------------
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;
} 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;
}
// test for description supplied
if (strlen(trim($discovered_desc))) {
$discdescsuppld=true;
} else {
$discdescsuppld=false;
$discdescsuppld_err=true;
}
// test for description unique
if (mysqli_num_rows(mysqli_query($drs_db,"select id from description where whendiscovereddesc =\"$discovered_desc\""))) {
$discdescunique=false;
$discdescunique_err=true;
} else {
$discdescunique=true;
}
// set active status
if (!$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\")");
} 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;
}
// 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;
} 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;
}
} else {
$discnameunique=true;
}
// test for description supplied
if (strlen(trim($discovered_desc))) {
$discdescsuppld=true;
} 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_text\" and id!=\"$discovered_id\""))) {
if (mysqli_num_rows(mysqli_query($drs_db,"select id from discovered where whendiscovereddesc =\"$discovered_desc\""))) {
$discdescunique=false;
$discdescunique_err=true;
} else {
$discdescunique=true;
}
} else {
$discdescunique=true;
}
// set active status
if (!$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 && $discdescunique) {
// 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 " ";
echo "
";
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="Modify UserClick here to add a new user
";
$formtag="
";
// show the table of entities
$existingdata=mysqli_query($drs_db,"select id,firstname,lastname,login,role,active from users order by id asc");
echo "
Existing Users Click on the User ID to edit.
User ID
First Name
Last Name
Login
Role
Active
";
while ($tablerow=mysqli_fetch_assoc($existingdata)) {
if ($tablerow["role"]==ADMIN) {
$roledef="Admin";
} elseif ($tablerow["role"]==USER) {
$roledef="User";
}
if ($tablerow["active"]) {
$activedef="";
} else {
$activedef="";
}
printf("
";
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="Modify DeviceClick here to add a new device
";
$formtag="
";
// show the table of entities
$existingdata=mysqli_query($drs_db,"select * from devices order by id asc");
echo "
Existing Devices Click on the Device ID to edit.
Device ID
Device Name
Active
";
while ($tablerow=mysqli_fetch_assoc($existingdata)) {
if ($tablerow["active"]) {
$activedef="";
} else {
$activedef="";
}
printf("
";
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="Modify SubsystemClick here to add a new subsystem
";
$formtag="
";
// show the table of entities
$existingdata=mysqli_query($drs_db,"select * from subsystems order by id asc");
echo "
Existing Subsystems Click on the Subsystem ID to edit.
Subsystem ID
Subsystem Name
Description
Active
";
while ($tablerow=mysqli_fetch_assoc($existingdata)) {
if ($tablerow["active"]) {
$activedef="";
} else {
$activedef="";
}
printf("
";
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="Modify ReasonClick here to add a new reason
";
$formtag="
";
// show the table of entities
$existingdata=mysqli_query($drs_db,"select * from reasons order by id asc");
echo "
Existing Reasons Click on the Reason ID to edit.
Reason ID
Reason Text
Active
";
while ($tablerow=mysqli_fetch_assoc($existingdata)) {
if ($tablerow["active"]) {
$activedef="";
} else {
$activedef="";
}
printf("
";
if ($discnamesuppld_err) format_message(1,"When Discovered name cannot be blank.");
if ($discnameunique_err) format_message(1,"When Discovered name already exists.");
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="Modify When DiscoveredClick here to add a new when discovered
";
$formtag="
";
// show the table of entities
$existingdata=mysqli_query($drs_db,"select * from discovered order by id asc");
echo "
Existing When Discovereds Click on the When Disc ID to edit.
When Disc ID
Name
Description
Active
";
while ($tablerow=mysqli_fetch_assoc($existingdata)) {
if ($tablerow["active"]) {
$activedef="";
} else {
$activedef="";
}
printf("