NEF"; if ($eff_val=="1") $eff_dsp="EFF"; $eff_param="{$eff_param} {$eff_dsp}, "; } $eff_param=rtrim($eff_param,", "); $query_string=rtrim($query_string," or "); $query_string="{$query_string})"; $query_string="{$query_string} and "; } // status if ($s_status) { $query_string="{$query_string}("; $status_param="Status:"; foreach ($s_status as $stat_val) { $query_string="{$query_string}status=\"{$stat_val}\" or "; if ($stat_val=="1") $stat_dsp="OPEN"; if ($stat_val=="2") $stat_dsp="CLSD"; if ($stat_val=="3") $stat_dsp="DFRD"; $status_param="{$status_param} {$stat_dsp}, "; } $status_param=rtrim($status_param,", "); $query_string=rtrim($query_string," or "); $query_string="{$query_string})"; $query_string="{$query_string} and "; } // action by if ($s_action_by) { $query_string="{$query_string}("; $actionby_param="Status changed by:"; foreach ($s_action_by as $actby_val) { $query_string="{$query_string}action_by=\"{$actby_val}\" or "; if ($actby_val==0) { $actionby_dsp=" (none set)"; } else { $actionby_dsp=dblookup($drs_db,"users","id","firstname",$actby_val)." ".dblookup($drs_db,"users","id","lastname",$actby_val); } $actionby_param="{$actionby_param} {$actionby_dsp}, "; } $actionby_param=rtrim($actionby_param,", "); $num_users=mysqli_num_rows(mysqli_query($drs_db,"select id from users")); if (count($s_action_by)==$num_users+1) $actionby_param="Status changed by: any"; $query_string=rtrim($query_string," or "); $query_string="{$query_string})"; $query_string="{$query_string} and "; } // action reason if ($s_action_reason) { $query_string="{$query_string}("; $reason_param="Status change reason:"; foreach ($s_action_reason as $actrn_val) { $query_string="{$query_string}action_reason=\"{$actrn_val}\" or "; if ($actrn_val==0) { $reason_dsp=" (none set)"; } else { $reason_dsp=dblookup($drs_db,"reasons","id","text",$actrn_val); } $reason_param="{$reason_param} {$reason_dsp}, "; } $reason_param=rtrim($reason_param,", "); $num_reasons=mysqli_num_rows(mysqli_query($drs_db,"select id from reasons")); if (count($s_action_reason)==$num_reasons+1) $reason_param="Status change reason: any"; $query_string=rtrim($query_string," or "); $query_string="{$query_string})"; $query_string="{$query_string} and "; } // report date $query_string="{$query_string}("; $query_string="{$query_string}report_date between \"{$s_report_date_start}\" and \"{$s_report_date_end}\""; $query_string="{$query_string})"; $query_string="{$query_string} and "; $reportdate_param="Report date between {$s_report_date_start} and {$s_report_date_end}"; // report time $query_string="{$query_string}("; $query_string="{$query_string}report_time between \"{$s_report_time_start}\" and \"{$s_report_time_end}\""; $query_string="{$query_string})"; $query_string="{$query_string} and "; $reporttime_param="Report time between {$s_report_time_start} and {$s_report_time_end}"; // action date if ($s_action_date_start && $s_action_date_end) { $query_string="{$query_string}("; $query_string="{$query_string}action_date between \"{$s_action_date_start}\" and \"{$s_action_date_end}\""; $query_string="{$query_string})"; $query_string="{$query_string} and "; $actiondate_param="Action taken date between {$s_action_date_start} and {$s_action_date_end}"; } else { $actiondate_param="Action taken date: any"; } // action time if ($s_action_time_start && $s_action_time_end) { $query_string="{$query_string}("; $query_string="{$query_string}action_time between \"{$s_action_time_start}\" and \"{$s_action_time_end}\""; $query_string="{$query_string})"; $query_string="{$query_string} and "; $actiontime_param="Action taken time between {$s_action_time_start} and {$s_action_time_end}"; } else { $actiontime_param="Action taken time: any"; } // discrepancy text if ($s_discrepancy_text) { $query_string="{$query_string}("; $query_string="{$query_string}discrepancy_text like \"%{$s_discrepancy_text}%\""; $query_string="{$query_string})"; $query_string="{$query_string} and "; $discrepancytext_param="Text in discrepancy: {$s_discrepancy_text}"; } else { $discrepancytext_param="Text in discrepancy: any"; } // action text if ($s_action_text) { $query_string="{$query_string}("; $query_string="{$query_string}action_text like \"%{$s_action_text}%\""; $query_string="{$query_string})"; $query_string="{$query_string} and "; $actiontext_param="Text in Action taken: {$s_action_text}"; } else { $actiontext_param="Text in Action taken: any"; } // reported by if ($s_reported_by) { $query_string="{$query_string}("; $query_string="{$query_string}reported_by like \"%{$s_reported_by}%\""; $query_string="{$query_string})"; $query_string="{$query_string} and "; $repby_param="Text in Reported by: {$s_reported_by}"; } else { $repby_param="Text in Reported by: any"; } $query_string=rtrim($query_string," and "); $query_string="select * from writeups where {$query_string} order by $sort $order"; // group membership if ($s_group) { $group_param="Group member:"; foreach ($s_group as $group_val) { if ($group_val=="0") $group_dsp="No"; if ($group_val=="1") $group_dsp="Yes"; $group_param="{$group_param} {$group_dsp}, "; } $group_param=rtrim($group_param,", "); } } // ******** end database manipulation ******** pagetable("begin"); if(!$print) { pageblock("left","begin"); sidemenu(); echo "

"; pageblock("left","end"); } pageblock("right","begin"); banner($print); echo "
"; // show search form if (!$print) { echo "
"; echo " "; echo "
"; // ID cell ***************** echo " ID
"; // ********************************** echo "
"; // Device cell ********************* echo " Device
"; // ********************************** echo "
"; // Subsystem cell ******************* echo " Subsystem
"; // ********************************** echo "
"; // Period cell ********************** echo " Period
"; // ********************************** echo "
"; // Report Date cell ***************** echo " Report Date Between
 and  "; // ********************************** echo "
"; // Report Time cell ***************** echo " Report Time Between
 and  "; // ********************************** echo "
"; // Discrepancy text cell ************ echo " Words in Discrepancy

"; // ********************************** echo "
"; // Reported by cell ***************** echo " Reported by
"; // ********************************** echo "
"; // Period effective cell ************ echo " Sim period effective?  
"; if ($search) { $effstate=$nefstate=""; if (in_array("1",$s_period_effective,true)) $effstate="selected"; if (in_array("0",$s_period_effective,true)) $nefstate="selected"; } else { $effstate=$nefstate="selected"; } echo " "; // ********************************** echo "
"; // Group status cell ************** echo " Group Member?
"; if ($search) { $yesgroupstate=$nogroupstate=""; if (in_array("1",$s_group,true)) $yesgroupstate="selected"; if (in_array("0",$s_group,true)) $nogroupstate="selected"; } else { $yesgroupstate=$nogroupstate="selected"; }echo " "; // ************************************ echo "
"; // Status cell ********************** echo " Status
"; if ($search) { $openstate=$clsdstate=$dfrdstate=""; if (in_array("1",$s_status,true)) $openstate="selected"; if (in_array("2",$s_status,true)) $clsdstate="selected"; if (in_array("3",$s_status,true)) $dfrdstate="selected"; } else { $openstate=$clsdstate=$dfrdstate="selected"; } echo " "; // ********************************** echo "
"; // action by cell ************ echo " Status changed by
"; // *********************************** echo "
"; // action reason cell ********* echo " Status change reason
"; // *********************************** echo "
"; // Action taken text cell ************ echo " Words in Action Taken

"; // *********************************** echo "
"; // Action date cell ****************** echo " Action Taken Date Between
 and  "; // *********************************** echo "
"; // Action time cell ****************** echo " Action Taken Time Between
 and  "; // *********************************** $summarystat=$detailstat=""; if ($viewtype=="detail") { $detailstat="checked"; } else { $summarystat="checked"; } $idsort=$statussort=$datesort=$periodsort=$devicesort=$subsyssort=$repbysort=$discrepsort=$effsort=""; switch ($sort) { case "id": $idsort="checked"; break; case "status": $statussort="checked"; break; case "report_date": $datesort="checked"; break; case "period": $periodsort="checked"; break; case "device": $devicesort="checked"; break; case "subsystem": $subsyssort="checked"; break; case "reported_by": $repbysort="checked"; break; case "discrepancy_text": $discrepsort="checked"; break; case "period_effective": $effsort="checked"; break; default: $datesort="checked"; } $ascsort=$descsort=""; if ($order=="desc") { $descsort="checked"; } else { $ascsort="checked"; } echo "

   

Sort Field:
                                   
Sort Order:
       

       

"; } // display the results if ($search) { //display the search parameters used if (!$print) echo ""; echo " "; } else { echo ""; } echo "
Parameters used in this search "; if (!$print) { echo "        Scroll up to modify parameters
$status_param    $device_param    $subsystem_param    $id_param   
$period_param    $reportdate_param    $reporttime_param   
$discrepancytext_param
$repby_param    $eff_param    $group_param   
$actionby_param    $reason_param   
$actiontext_param
$actiondate_param    $actiontime_param   

"; $writeup=mysqli_query($drs_db,$query_string); // create an array of ids returned by the query string $result_ids=array(); while ($eachid=mysqli_fetch_assoc($writeup)) { $result_ids[]=$eachid['id']; } mysqli_data_seek($writeup,0); // create an array of all ids in groups $groupmems=array(); $groupmem_qry=mysqli_query($drs_db,"select writeupid from links"); while ($groupmemrow=mysqli_fetch_row($groupmem_qry)) { $groupmems[]=$groupmemrow[0]; } $groupmems=array_unique($groupmems); // determine how many group members are in results $member_count=0; foreach($result_ids as $result_id) { if (in_array($result_id,$groupmems)) $member_count += 1; } if (in_array("1",$s_group)) $show_groupmems=true; if (in_array("0",$s_group)) $show_nongroupmems=true; if ($show_groupmems == $show_nongroupmems) $num_results=mysqli_num_rows($writeup); //show members and nonmembers if ($show_groupmems && !$show_nongroupmems) $num_results=$member_count; //only show members if (!$show_groupmems && $show_nongroupmems) $num_results=mysqli_num_rows($writeup)-$member_count; //only show nonmembers if ($num_results > 0) { if ($viewtype=="summary") { echo " "; while ($tablerow = mysqli_fetch_assoc($writeup)) { // determine if this is a member of a group $member_qry=mysqli_query($drs_db,"select linkgroup from links where writeupid=\"{$tablerow['id']}\""); $is_member=mysqli_num_rows($member_qry); // determine effective icon if($tablerow["period_effective"]==1) { $eff_icon="\"Period"; } else { $eff_icon="\"Period"; } // determine status indicator if ($tablerow['status']==1) $statusind="
OPEN
"; if ($tablerow['status']==2) $statusind="
CLSD
"; if ($tablerow['status']==3) $statusind="
DFRD
"; // convert device number to name $dname=dblookup($drs_db,"devices","id","name",$tablerow["device"]); // convert period number to times $ptimes=dblookup($drs_db,"periods","id","times",$tablerow["period"]); // convert subsystem number to name $ssname=dblookup($drs_db,"subsystems","id","name",$tablerow["subsystem"]); $disc_txt="{$tablerow["discrepancy_text"]}"; // set group indicator if ($is_member) { $group_count=$is_member; if ($group_count == 1) { $group_num=mysqli_fetch_row(mysqli_query($drs_db,"select linkgroup from links where writeupid=\"{$tablerow['id']}\""))[0]; $member_group_name=dblookup($drs_db,"groups","id","name",$group_num); if ($member_group_name) { $imgtitle="Member of group: $member_group_name"; } else { $imgtitle="Member of group ID: $group_num"; } $disc_txt=$disc_txt."
\"GRP\"
"; } else { $disc_txt=$disc_txt."
\"GRP\"
"; } } if (($show_groupmems == $show_nongroupmems) || ($is_member && $show_groupmems) || (!$is_member && $show_nongroupmems)) { // print table row printf( "\n", $tablerow["id"],$tablerow["id"], $statusind, $tablerow["report_date"], $ptimes,$tablerow["period"], $dname, $ssname, $tablerow["reported_by"], $disc_txt, $eff_icon ); } } echo "
ID Status Date Period Device Subsystem Reported by Discrepancy Msn Eff
%s %s %s %s %s %s %s %s %s
\n"; } elseif ($viewtype=="detail") { echo "
"; while ($tablerow = mysqli_fetch_assoc($writeup)) { // determine if this is a member of a group $member_qry=mysqli_query($drs_db,"select linkgroup from links where writeupid=\"{$tablerow['id']}\""); $is_member=mysqli_num_rows($member_qry); if (($show_groupmems == $show_nongroupmems) || ($is_member && $show_groupmems) || (!$is_member && $show_nongroupmems)) { displaywriteup($tablerow['id']); echo "
"; } } echo "
"; } } else { echo "No writeups match your search parameters.
"; } } echo "
"; banner($print); pageblock("right","end"); pagetable("end"); framework("end","","",$print); ?>