Incorporated changes for release 1.3.2
This commit is contained in:
@@ -8,9 +8,14 @@
|
||||
*/
|
||||
|
||||
include("common.php");
|
||||
if (array_key_exists('print',$_REQUEST)) {
|
||||
$print=true;
|
||||
} else {
|
||||
$print=false;
|
||||
}
|
||||
|
||||
// redirect to groups.php on cancel button press
|
||||
if ($_REQUEST['cancel']) {
|
||||
if (array_key_exists('cancel',$_REQUEST)) {
|
||||
header("Cache-Control:no-cache, must-revalidate");
|
||||
header("Pragma:no-cache");
|
||||
header("Location:groups.php");
|
||||
@@ -18,10 +23,13 @@ if ($_REQUEST['cancel']) {
|
||||
}
|
||||
|
||||
// import session variables
|
||||
if (isset($_SESSION['userid'])) $userid=$_SESSION['userid'];
|
||||
if (isset($_SESSION['userid'])) {
|
||||
$userid=$_SESSION['userid'];
|
||||
} else {
|
||||
$userid=NULL;
|
||||
}
|
||||
|
||||
// import incoming arrays
|
||||
$print=$_REQUEST['print'];
|
||||
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
|
||||
@@ -31,33 +39,47 @@ if ($print) {
|
||||
$incoming=arrayCopy($_REQUEST);
|
||||
}
|
||||
|
||||
// load variables from incoming array
|
||||
// extract incoming array keys into variables
|
||||
extract($incoming, EXTR_SKIP);
|
||||
/*
|
||||
* possible keys are:
|
||||
* action
|
||||
* save
|
||||
* targets
|
||||
* group
|
||||
* name
|
||||
* search
|
||||
* s_status
|
||||
* s_device
|
||||
* s_subsystem
|
||||
* s_discovered
|
||||
* s_report_date_start
|
||||
* s_report_date_end
|
||||
* s_report_time_start
|
||||
* s_report_time_end
|
||||
* s_discrepancy_text
|
||||
* s_reported_by
|
||||
* s_functional
|
||||
* edit_status
|
||||
* edit_action_by
|
||||
* edit_action_reason
|
||||
* edit_action_date
|
||||
* edit_action_time
|
||||
* edit_action_text
|
||||
*/
|
||||
|
||||
$action=$incoming['action'];
|
||||
$save=$incoming['save'];
|
||||
$targets=$incoming['targets'];
|
||||
$group=$incoming['group'];
|
||||
$name=$incoming['name'];
|
||||
if (!isset($action)) $action=NULL;
|
||||
if (!isset($s_discrepancy_text)) $s_discrepancy_text=NULL;
|
||||
if (!isset($s_reported_by)) $s_reported_by=NULL;
|
||||
if (!isset($edit_status)) $edit_status=NULL;
|
||||
if (!isset($edit_action_by)) $edit_action_by=NULL;
|
||||
if (!isset($edit_action_reason)) $edit_action_reason=NULL;
|
||||
if (!isset($edit_action_text)) $edit_action_text=NULL;
|
||||
if (!isset($save)) $save=false;
|
||||
if (!isset($search)) $search=false;
|
||||
if (!isset($group)) $group=NULL;
|
||||
if (!isset($name)) $name=NULL;
|
||||
|
||||
$search=$incoming['search'];
|
||||
$s_status=$incoming['s_status'];
|
||||
$s_device=$incoming['s_device'];
|
||||
$s_subsystem=$incoming['s_subsystem'];
|
||||
$s_discovered=$incoming['s_discovered'];
|
||||
$s_report_date_start=$incoming['s_report_date_start'];
|
||||
$s_report_date_end=$incoming['s_report_date_end'];
|
||||
$s_report_time_start=$incoming['s_report_time_start'];
|
||||
$s_report_time_end=$incoming['s_report_time_end'];
|
||||
$s_discrepancy_text=$incoming['s_discrepancy_text'];
|
||||
$s_reported_by=$incoming['s_reported_by'];
|
||||
$s_functional=$incoming['s_functional'];
|
||||
|
||||
$edit_status=$incoming['edit_status'];
|
||||
$edit_action_by=$incoming['edit_action_by'];
|
||||
$edit_action_reason=$incoming['edit_action_reason'];
|
||||
$edit_action_date=$incoming['edit_action_date'];
|
||||
$edit_action_time=$incoming['edit_action_time'];
|
||||
$edit_action_text=$incoming['edit_action_text'];
|
||||
|
||||
// define local functions
|
||||
|
||||
@@ -65,11 +87,9 @@ $edit_action_text=$incoming['edit_action_text'];
|
||||
// assign variables from constants
|
||||
$appname=APP_NAME;
|
||||
|
||||
if ($print=="Printer Friendly") {
|
||||
$sbcolor=P_SIDEBAR_COLOR;
|
||||
if ($print) {
|
||||
$mbgcolor=P_MENUBG_COLOR;
|
||||
} else {
|
||||
$sbcolor=SIDEBAR_COLOR;
|
||||
$mbgcolor=MENUBG_COLOR;
|
||||
}
|
||||
|
||||
@@ -91,17 +111,17 @@ $now=date("H:i:s");
|
||||
// get max report date from writeups table, validate input dates/times and set defaults
|
||||
$maxrepdate_qry=mysqli_query($drs_db,"select max(report_date) from writeups");
|
||||
$maxrepdate=mysqli_fetch_row($maxrepdate_qry)[0];
|
||||
if (!$s_report_date_start || !validateDate($s_report_date_start)) $s_report_date_start=mysqli_fetch_row(mysqli_query($drs_db,"select date_sub(curdate(),interval 30 day)"))[0];
|
||||
if (!$s_report_date_end || !validateDate($s_report_date_end)) $s_report_date_end=$maxrepdate;
|
||||
if (!$s_report_time_start || !validateTime($s_report_time_start)) $s_report_time_start="00:00:00";
|
||||
if (!$s_report_time_end || !validateTime($s_report_time_end)) $s_report_time_end="23:59:59";
|
||||
if (!$edit_action_date || !validateDate($edit_action_date)) $edit_action_date=$today;
|
||||
if (!$edit_action_time || !validateTime($edit_action_time)) $edit_action_time=$now;
|
||||
if (!isset($s_report_date_start) || !validateDate($s_report_date_start)) $s_report_date_start=mysqli_fetch_row(mysqli_query($drs_db,"select date_sub(curdate(),interval 30 day)"))[0];
|
||||
if (!isset($s_report_date_end) || !validateDate($s_report_date_end)) $s_report_date_end=$maxrepdate;
|
||||
if (!isset($s_report_time_start) || !validateTime($s_report_time_start)) $s_report_time_start="00:00:00";
|
||||
if (!isset($s_report_time_end) || !validateTime($s_report_time_end)) $s_report_time_end="23:59:59";
|
||||
if (!isset($edit_action_date) || !validateDate($edit_action_date)) $edit_action_date=$today;
|
||||
if (!isset($edit_action_time) || !validateTime($edit_action_time)) $edit_action_time=$now;
|
||||
|
||||
|
||||
if ($action=="add" && $role && $save) {
|
||||
$fail=false;
|
||||
if (!$group) {
|
||||
if ($group==NULL) {
|
||||
// group was not supplied, so create a new one
|
||||
mysqli_query($drs_db,"insert into groups(name) value(\"\")");
|
||||
$fail=mysqli_error($drs_db);
|
||||
@@ -117,18 +137,24 @@ if ($action=="add" && $role && $save) {
|
||||
}
|
||||
} elseif ($action=="remove" && $role && $save) {
|
||||
$fail=false;
|
||||
$writeups=array();
|
||||
$writeups=[];
|
||||
$writeups_qry=mysqli_query($drs_db,"select writeupid from links where linkgroup=\"$group\"");
|
||||
while ($writeuprow=mysqli_fetch_row($writeups_qry)) {
|
||||
$writeups[]=$writeuprow[0];
|
||||
}
|
||||
foreach ($writeups as $writeup) {
|
||||
if (!in_array($writeup,$targets)) {
|
||||
if (!isset($targets) || !in_array($writeup,$targets)) {
|
||||
// remove writeup from group
|
||||
mysqli_query($drs_db,"delete from links where writeupid=$writeup and linkgroup=$group");
|
||||
$fail=mysqli_error($drs_db);
|
||||
}
|
||||
}
|
||||
// if there are no longer any writeups in this group, dissolve it
|
||||
$memb_qty_query=mysqli_query($drs_db,"select id from links where linkgroup=\"$group\"");
|
||||
if (mysqli_num_rows($memb_qty_query) == 0) {
|
||||
mysqli_query($drs_db,"delete from groups where id=$group");
|
||||
$fail=mysqli_error($drs_db);
|
||||
}
|
||||
} elseif ($action=="dissolve" && $role && $save) {
|
||||
$fail=false;
|
||||
// unassign all writeups from a group and delete the group
|
||||
@@ -148,7 +174,7 @@ if ($action=="add" && $role && $save) {
|
||||
$fail=false;
|
||||
// set the status, action by, reason action date/time and append supplied text to action text
|
||||
// for all ids in group
|
||||
if ($edit_action_text) {
|
||||
if ($edit_action_reason!=NULL) {
|
||||
// sanitize date and time
|
||||
$edit_action_date=mysqli_real_escape_string($drs_db,$edit_action_date);
|
||||
$edit_action_time=mysqli_real_escape_string($drs_db,$edit_action_time);
|
||||
@@ -160,22 +186,23 @@ if ($action=="add" && $role && $save) {
|
||||
while ($edit_row=mysqli_fetch_row($groupmem_qry)) {
|
||||
$writeup_to_edit=$edit_row[0];
|
||||
$writeup_action_text=dblookup($drs_db,"writeups","id","action_text",$writeup_to_edit);
|
||||
$full_action_text=$writeup_action_text." STATUS CHANGED: ".$clean_edit_action_text;
|
||||
$full_action_text=$writeup_action_text." GROUP ACTION TAKEN: ".$clean_edit_action_text;
|
||||
mysqli_query($drs_db,"update writeups set status=\"$edit_status\",action_by=\"$edit_action_by\",action_date=\"$edit_action_date\",action_time=\"$edit_action_time\",action_reason=\"$edit_action_reason\",action_text=\"$full_action_text\" where id=\"$writeup_to_edit\"");
|
||||
$fail=mysqli_error($drs_db);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$fail="A status change reason was not selected.";
|
||||
}
|
||||
}
|
||||
if ($search) {
|
||||
// strip whitespace from beginning and end of text fields
|
||||
$s_reported_by=trim($s_reported_by);
|
||||
$s_action_text=trim($s_action_text);
|
||||
$s_discrepancy_text=trim($s_discrepancy_text);
|
||||
|
||||
// build the query string
|
||||
$query_string="";
|
||||
// device
|
||||
if ($s_device) {
|
||||
if (isset($s_device)) {
|
||||
$query_string="{$query_string}(";
|
||||
$device_param="Devices:";
|
||||
foreach ($s_device as $dev_val) {
|
||||
@@ -191,7 +218,7 @@ if ($search) {
|
||||
$query_string="{$query_string} and ";
|
||||
}
|
||||
// subsystem
|
||||
if ($s_subsystem) {
|
||||
if (isset($s_subsystem)) {
|
||||
$query_string="{$query_string}(";
|
||||
$subsystem_param="Subsystems:";
|
||||
foreach ($s_subsystem as $sub_val) {
|
||||
@@ -207,7 +234,7 @@ if ($search) {
|
||||
$query_string="{$query_string} and ";
|
||||
}
|
||||
// discovered
|
||||
if ($s_discovered) {
|
||||
if (isset($s_discovered)) {
|
||||
$query_string="{$query_string}(";
|
||||
$discovered_param="{$discovered_term_short}s:";
|
||||
foreach ($s_discovered as $disc_val) {
|
||||
@@ -223,7 +250,7 @@ if ($search) {
|
||||
$query_string="{$query_string} and ";
|
||||
}
|
||||
// functional
|
||||
if ($s_functional) {
|
||||
if (isset($s_functional)) {
|
||||
$query_string="{$query_string}(";
|
||||
$func_param="$functional_term:";
|
||||
foreach ($s_functional as $func_val) {
|
||||
@@ -238,7 +265,7 @@ if ($search) {
|
||||
$query_string="{$query_string} and ";
|
||||
}
|
||||
// status
|
||||
if ($s_status) {
|
||||
if (isset($s_status)) {
|
||||
$query_string="{$query_string}(";
|
||||
$status_param="Status:";
|
||||
foreach ($s_status as $stat_val) {
|
||||
@@ -266,7 +293,7 @@ if ($search) {
|
||||
$query_string="{$query_string} and ";
|
||||
$reporttime_param="Report time between {$s_report_time_start} and {$s_report_time_end}";
|
||||
// discrepancy text
|
||||
if ($s_discrepancy_text) {
|
||||
if (isset($s_discrepancy_text)) {
|
||||
$query_string="{$query_string}(";
|
||||
$query_string="{$query_string}discrepancy_text like \"%{$s_discrepancy_text}%\"";
|
||||
$query_string="{$query_string})";
|
||||
@@ -276,7 +303,7 @@ if ($search) {
|
||||
$discrepancytext_param="Text in discrepancy: any";
|
||||
}
|
||||
// reported by
|
||||
if ($s_reported_by) {
|
||||
if (isset($s_reported_by)) {
|
||||
$query_string="{$query_string}(";
|
||||
$query_string="{$query_string}reported_by like \"%{$s_reported_by}%\"";
|
||||
$query_string="{$query_string})";
|
||||
@@ -303,6 +330,7 @@ banner($print);
|
||||
echo "<br>";
|
||||
|
||||
if ($action=="add") {
|
||||
if (!isset($targets)) $targets=[];
|
||||
if (count($targets) > 1) {
|
||||
$plural="s";
|
||||
} else {
|
||||
@@ -774,9 +802,9 @@ if ($action=="add") {
|
||||
<select name=\"edit_action_reason\" id=\"reason\">
|
||||
";
|
||||
$reasrow=mysqli_query($drs_db,"select id,text from reasons where active is true order by id asc");
|
||||
if (!$action_reason) echo "<option selected></option>";
|
||||
if ($edit_action_reason==NULL) echo "<option selected></option>";
|
||||
while ($reasitem=mysqli_fetch_assoc($reasrow)) {
|
||||
if ($action_reason==$reasitem["id"]) {
|
||||
if ($edit_action_reason==$reasitem["id"]) {
|
||||
printf("<option value=\"%s\" selected>%s</option>",$reasitem["id"],$reasitem["text"]);
|
||||
} else {
|
||||
printf("<option value=\"%s\">%s</option>",$reasitem["id"],$reasitem["text"]);
|
||||
@@ -817,7 +845,7 @@ if ($action=="add") {
|
||||
<hr>
|
||||
";
|
||||
}
|
||||
if ($group) {
|
||||
if ($group!=NULL) {
|
||||
// show only the requested group
|
||||
$mode="view";
|
||||
group_detail($group,$role,$mode);
|
||||
|
||||
Reference in New Issue
Block a user