<?php
ini_set("display_errors","1");
ini_set("display_startup_errors","1");
header("Expires: Thu, 01 Jan 1970 00:00:01 GMT");
set_magic_quotes_runtime(0);
include("include/dbcommon.php");
include("include/Ward_Round_Sheet_variables.php");
if(!@$_SESSION["UserID"])
{
$_SESSION["MyURL"]=$_SERVER["SCRIPT_NAME"]."?".$_SERVER["QUERY_STRING"];
header("Location: login.php?message=expired");
return;
}
if(!CheckSecurity(@$_SESSION["OwnerID"],"Search") && !CheckSecurity(@$_SESSION["OwnerID"],"Add"))
{
echo "<p>"."You don't have permissions to access this table"." <a href=\"login.php\">"."Back to login page"."</a></p>";
return;
}
include('libs/Smarty.class.php');
$smarty = new Smarty();
$conn=db_connect();
// process reqest data, fill session variables
if(!count($_POST) && !count($_GET))
{
$sess_unset = array();
foreach($_SESSION as $key=>$value)
if(substr($key,0,strlen($strTableName)+1)==$strTableName."_" &&
strpos(substr($key,strlen($strTableName)+1),"_")===false)
$sess_unset[] = $key;
foreach($sess_unset as $key)
unset($_SESSION[$key]);
}
if(@$_REQUEST["a"]=="showall")
$_SESSION[$strTableName."_search"]=0;
else if(@$_REQUEST["a"]=="search")
{
$_SESSION[$strTableName."_searchfield"]=postvalue("SearchField");
$_SESSION[$strTableName."_searchoption"]=postvalue("SearchOption");
$_SESSION[$strTableName."_searchfor"]=postvalue("SearchFor");
if(postvalue("SearchFor")!="" || postvalue("SearchOption")=='Empty')
$_SESSION[$strTableName."_search"]=1;
else
$_SESSION[$strTableName."_search"]=0;
$_SESSION[$strTableName."_pagenumber"]=1;
}
else if(@$_REQUEST["a"]=="advsearch")
{
$_SESSION[$strTableName."_asearchnot"]=array();
$_SESSION[$strTableName."_asearchopt"]=array();
$_SESSION[$strTableName."_asearchfor"]=array();
$_SESSION[$strTableName."_asearchfor2"]=array();
$tosearch=0;
$asearchfield = postvalue("asearchfield");
$_SESSION[$strTableName."_asearchtype"] = postvalue("type");
if(!$_SESSION[$strTableName."_asearchtype"])
$_SESSION[$strTableName."_asearchtype"]="and";
foreach($asearchfield as $field)
{
$gfield=GoodFieldName($field);
$asopt=postvalue("asearchopt_".$gfield);
$value1=postvalue("value_".$gfield);
$type=postvalue("type_".$gfield);
$value2=postvalue("value1_".$gfield);
$not=postvalue("not_".$gfield);
if($value1 || $asopt=='Empty')
{
$tosearch=1;
$_SESSION[$strTableName."_asearchopt"][$field]=$asopt;
if(!is_array($value1))
$_SESSION[$strTableName."_asearchfor"][$field]=$value1;
else
$_SESSION[$strTableName."_asearchfor"][$field]=combinevalues($value1);
$_SESSION[$strTableName."_asearchfortype"][$field]=$type;
if($value2)
$_SESSION[$strTableName."_asearchfor2"][$field]=$value2;
$_SESSION[$strTableName."_asearchnot"][$field]=($not=="on");
}
}
if($tosearch)
$_SESSION[$strTableName."_search"]=2;
else
$_SESSION[$strTableName."_search"]=0;
$_SESSION[$strTableName."_pagenumber"]=1;
}
if(@$_REQUEST["orderby"])
$_SESSION[$strTableName."_orderby"]=@$_REQUEST["orderby"];
if(@$_REQUEST["pagesize"])
{
$_SESSION[$strTableName."_pagesize"]=@$_REQUEST["pagesize"];
$_SESSION[$strTableName."_pagenumber"]=1;
}
if(@$_REQUEST["goto"])
$_SESSION[$strTableName."_pagenumber"]=@$_REQUEST["goto"];
// process reqest data - end
$smarty->assign("includes",
"<script language=\"JavaScript\" src=\"include/jsfunctions.js\">".
"</script>".
"<script>".
" var bSelected=false;".
"var TEXT_FIRST = \""."First"."\";".
"var TEXT_PREVIOUS = \""."Previous"."\";".
"var TEXT_NEXT = \""."Next"."\";".
"var TEXT_LAST = \""."Last"."\";".
"</script>");
// process session variables
// order by
$strOrderBy="";
$order_ind=-1;
$smarty->assign("order_dir_Consultant","a");
$smarty->assign("order_dir_Patient_Name","a");
$smarty->assign("order_dir_Date_of_Birth","a");
$smarty->assign("order_dir_Unit_Number","a");
$smarty->assign("order_dir_Sex","a");
$smarty->assign("order_dir_Ward","a");
$smarty->assign("order_dir_Bed","a");
$smarty->assign("order_dir_Admission_Date","a");
$smarty->assign("order_dir_Diagnosis","a");
$smarty->assign("order_dir_Allergies","a");
$smarty->assign("order_dir_Notes","a");
if(@$_SESSION[$strTableName."_orderby"])
{
$order_field=substr($_SESSION[$strTableName."_orderby"],1);
$order_dir=substr($_SESSION[$strTableName."_orderby"],0,1);
$order_ind=GetFieldIndex($order_field);
$smarty->assign("order_dir_Consultant","a");
if($order_field=="Consultant")
{
if($order_dir=="a")
{
$smarty->assign("order_dir_Consultant","d");
$img="up";
}
else
$img="down";
$smarty->assign("order_image_Consultant","<img src=\"images/".$img.".gif\" border=0>");
}
$smarty->assign("order_dir_Patient_Name","a");
if($order_field=="Patient Name")
{
if($order_dir=="a")
{
$smarty->assign("order_dir_Patient_Name","d");
$img="up";
}
else
$img="down";
$smarty->assign("order_image_Patient_Name","<img src=\"images/".$img.".gif\" border=0>");
}
$smarty->assign("order_dir_Date_of_Birth","a");
if($order_field=="Date of Birth")
{
if($order_dir=="a")
{
$smarty->assign("order_dir_Date_of_Birth","d");
$img="up";
}
else
$img="down";
$smarty->assign("order_image_Date_of_Birth","<img src=\"images/".$img.".gif\" border=0>");
}
$smarty->assign("order_dir_Unit_Number","a");
if($order_field=="Unit Number")
{
if($order_dir=="a")
{
$smarty->assign("order_dir_Unit_Number","d");
$img="up";
}
else
$img="down";
$smarty->assign("order_image_Unit_Number","<img src=\"images/".$img.".gif\" border=0>");
}
$smarty->assign("order_dir_Sex","a");
if($order_field=="Sex")
{
if($order_dir=="a")
{
$smarty->assign("order_dir_Sex","d");
$img="up";
}
else
$img="down";
$smarty->assign("order_image_Sex","<img src=\"images/".$img.".gif\" border=0>");
}
$smarty->assign("order_dir_Ward","a");
if($order_field=="Ward")
{
if($order_dir=="a")
{
$smarty->assign("order_dir_Ward","d");
$img="up";
}
else
$img="down";
$smarty->assign("order_image_Ward","<img src=\"images/".$img.".gif\" border=0>");
}
$smarty->assign("order_dir_Bed","a");
if($order_field=="Bed")
{
if($order_dir=="a")
{
$smarty->assign("order_dir_Bed","d");
$img="up";
}
else
$img="down";
$smarty->assign("order_image_Bed","<img src=\"images/".$img.".gif\" border=0>");
}
$smarty->assign("order_dir_Admission_Date","a");
if($order_field=="Admission Date")
{
if($order_dir=="a")
{
$smarty->assign("order_dir_Admission_Date","d");
$img="up";
}
else
$img="down";
$smarty->assign("order_image_Admission_Date","<img src=\"images/".$img.".gif\" border=0>");
}
$smarty->assign("order_dir_Diagnosis","a");
if($order_field=="Diagnosis")
{
if($order_dir=="a")
{
$smarty->assign("order_dir_Diagnosis","d");
$img="up";
}
else
$img="down";
$smarty->assign("order_image_Diagnosis","<img src=\"images/".$img.".gif\" border=0>");
}
$smarty->assign("order_dir_Allergies","a");
if($order_field=="Allergies")
{
if($order_dir=="a")
{
$smarty->assign("order_dir_Allergies","d");
$img="up";
}
else
$img="down";
$smarty->assign("order_image_Allergies","<img src=\"images/".$img.".gif\" border=0>");
}
$smarty->assign("order_dir_Notes","a");
if($order_field=="Notes")
{
if($order_dir=="a")
{
$smarty->assign("order_dir_Notes","d");
$img="up";
}
else
$img="down";
$smarty->assign("order_image_Notes","<img src=\"images/".$img.".gif\" border=0>");
}
if($order_ind)
{
if($order_dir=="a")
$strOrderBy="order by ".($order_ind)." asc";
else
$strOrderBy="order by ".($order_ind)." desc";
}
}
if(!$strOrderBy)
$strOrderBy=$gstrOrderBy;
// page number
$mypage=(integer)$_SESSION[$strTableName."_pagenumber"];
if(!$mypage)
$mypage=1;
// page size
$PageSize=(integer)$_SESSION[$strTableName."_pagesize"];
if(!$PageSize)
$PageSize=$gPageSize;
$smarty->assign("rpp10_selected",($PageSize==10)?"selected":"");
$smarty->assign("rpp20_selected",($PageSize==20)?"selected":"");
$smarty->assign("rpp30_selected",($PageSize==30)?"selected":"");
$smarty->assign("rpp50_selected",($PageSize==50)?"selected":"");
$smarty->assign("rpp100_selected",($PageSize==100)?"selected":"");
$smarty->assign("rpp500_selected",($PageSize==500)?"selected":"");
// delete record
if (@$_POST["mdelete"])
{
foreach(@$_POST["mdelete"] as $ind)
{
$keys=array();
$keys["Primary"]=refine($_POST["mdelete1"][$ind-1]);
$strSQL="delete from ".AddTableWrappers($strOriginalTableName)." where ".KeyWhere($keys);
$retval=true;
$where = substr($strSQL,strlen("delete from ".AddTableWrappers($strOriginalTableName)." where "));
if(function_exists("BeforeDelete"))
$retval = BeforeDelete($where);
if($retval)
{
LogInfo($strSQL);
db_exec($strSQL,$conn);
if(function_exists("AfterDelete"))
AfterDelete();
}
}
if(function_exists("AfterMassDelete"))
AfterMassDelete();
}
// make sql "select" string
$strSQL = $gstrSQL;
// add search params
if(@$_SESSION[$strTableName."_search"]==1)
// regular search
{
$strSearchFor=trim($_SESSION[$strTableName."_searchfor"]);
$strSearchOption=trim($_SESSION[$strTableName."_searchoption"]);
if(@$_SESSION[$strTableName."_searchfield"])
{
$strSearchField = $_SESSION[$strTableName."_searchfield"];
if($where = StrWhere($strSearchField, $strSearchFor, $strSearchOption, ""))
$strSQL = AddWhere($strSQL,$where);
else
$strSQL = AddWhere($strSQL,"1=0");
}
else
{
$strWhere = "1=0";
$strSQL = AddWhere($strSQL,$strWhere);
}
}
else if(@$_SESSION[$strTableName."_search"]==2)
// advanced search
{
$sWhere="";
foreach(@$_SESSION[$strTableName."_asearchfor"] as $f => $sfor)
{
$strSearchFor=trim($sfor);
$strSearchFor2="";
$type=@$_SESSION[$strTableName."_asearchfortype"][$f];
if(array_key_exists($f,@$_SESSION[$strTableName."_asearchfor2"]))
$strSearchFor2=trim(@$_SESSION[$strTableName."_asearchfor2"][$f]);
if($strSearchFor!="" || true)
{
if (!$sWhere)
{
if($_SESSION[$strTableName."_asearchtype"]=="and")
$sWhere="1=1";
else
$sWhere="1=0";
}
$strSearchOption=trim($_SESSION[$strTableName."_asearchopt"][$f]);
if($where=StrWhereAdv($f, $strSearchFor, $strSearchOption, $strSearchFor2,$type))
{
if($_SESSION[$strTableName."_asearchnot"][$f])
$where="not (".$where.")";
if($_SESSION[$strTableName."_asearchtype"]=="and")
$sWhere .= " and ".$where;
else
$sWhere .= " or ".$where;
}
}
}
$strSQL = AddWhere($strSQL,$sWhere);
}
// order by
$strSQL.=" ".trim($strOrderBy);
// save SQL for use in "Export" and "Printer-friendly" pages
$_SESSION[$strTableName."_sql"] = $strSQL;
LogInfo($strSQL);
// select and display records
if(CheckSecurity(@$_SESSION["OwnerID"],"Search"))
{
// Pagination:
$numrows=GetRowCount($strSQL);
if(!$numrows)
{
$smarty->assign("rowsfound",false);
$smarty->assign("message","No records found");
}
else
{
$smarty->assign("rowsfound",true);
$smarty->assign("records_found",$numrows);
$maxRecords = $numrows;
$maxpages=ceil($maxRecords/$PageSize);
if($mypage > $maxpages)
$mypage = $maxpages;
if($mypage<1)
$mypage=1;
$maxrecs=$PageSize;
$smarty->assign("page",$mypage);
$smarty->assign("maxpages",$maxpages);
// write pagination
$smarty->assign("pagination","<script language=\"JavaScript\">WritePagination(".$mypage.",".$maxpages.");
function GotoPage(nPageNumber)
{
window.location='Ward_Round_Sheet_list.php?goto='+nPageNumber;
}
</script>");
$strSQL.=" limit ".(($mypage-1)*$PageSize).",".$PageSize;
}
$rs=db_query($strSQL,$conn);
// hide colunm headers if needed
$recordsonpage=$numrows-($mypage-1)*$PageSize;
if($recordsonpage>$PageSize)
$recordsonpage=$PageSize;
if($recordsonpage>=1)
$smarty->assign("column1show",true);
else
$smarty->assign("column1show",false);
// fill $rowinfo array
$rowinfo = array();
$shade=false;
$recno=1;
$editlink="";
$copylink="";
$data=db_fetch_array($rs);
while($data && $recno<=$PageSize)
{
$row=array();
if(!$shade)
{
$row["shadeclass"]='class="shade"';
$row["shadeclassname"]="shade";
$shade=true;
}
else
{
$row["shadeclass"]="";
$row["shadeclassname"]="";
$shade=false;
}
for($col=1;$data && $recno<=$PageSize && $col<=1;$col++)
{
// key fields
$row[$col."id1"]=htmlspecialchars($data["Primary"]);
$recno++;
// detail tables
// edit page link
$editlink="";
$editlink.="editid1=".htmlspecialchars(urlencode($data["Primary"]));
$row[$col."editlink"]=$editlink;
$copylink="";
$copylink.="copyid1=".htmlspecialchars(urlencode($data["Primary"]));
$row[$col."copylink"]=$copylink;
$keylink="";
$keylink.="&key1=".htmlspecialchars(urlencode($data["Primary"]));
// Ward -
$value="";
$value = ProcessLargeText(GetData($data,"Ward", ""),"field=Ward".$keylink,"",MODE_LIST);
$row[$col."Ward_value"]=$value;
// Bed -
$value="";
$value = ProcessLargeText(GetData($data,"Bed", ""),"field=Bed".$keylink,"",MODE_LIST);
$row[$col."Bed_value"]=$value;
// Consultant -
$value="";
$value = ProcessLargeText(GetData($data,"Consultant", ""),"field=Consultant".$keylink,"",MODE_LIST);
$row[$col."Consultant_value"]=$value;
// Patient Name -
$value="";
$value = ProcessLargeText(GetData($data,"Patient Name", ""),"field=Patient+Name".$keylink,"",MODE_LIST);
$row[$col."Patient_Name_value"]=$value;
// Date of Birth - Short Date
$value="";
$value = ProcessLargeText(GetData($data,"Date of Birth", "Short Date"),"field=Date+of+Birth".$keylink,"",MODE_LIST);
$row[$col."Date_of_Birth_value"]=$value;
// Unit Number -
$value="";
$value = ProcessLargeText(GetData($data,"Unit Number", ""),"field=Unit+Number".$keylink,"",MODE_LIST);
$row[$col."Unit_Number_value"]=$value;
// Sex -
$value="";
$value = ProcessLargeText(GetData($data,"Sex", ""),"field=Sex".$keylink,"",MODE_LIST);
$row[$col."Sex_value"]=$value;
// Admission Date - Short Date
$value="";
$value = ProcessLargeText(GetData($data,"Admission Date", "Short Date"),"field=Admission+Date".$keylink,"",MODE_LIST);
$row[$col."Admission_Date_value"]=$value;
// Diagnosis -
$value="";
$value = ProcessLargeText(GetData($data,"Diagnosis", ""),"field=Diagnosis".$keylink,"",MODE_LIST);
$row[$col."Diagnosis_value"]=$value;
// Allergies -
$value="";
$value = ProcessLargeText(GetData($data,"Allergies", ""),"field=Allergies".$keylink,"",MODE_LIST);
$row[$col."Allergies_value"]=$value;
// Notes -
$value="";
$value = ProcessLargeText(GetData($data,"Notes", ""),"field=Notes".$keylink,"",MODE_LIST);
$row[$col."Notes_value"]=$value;
$row[$col."show"]=true;
$data=db_fetch_array($rs);
}
$rowinfo[]=$row;
}
$smarty->assign("rowinfo",$rowinfo);
}
$smarty->assign("userid",htmlspecialchars($_SESSION["UserID"]));
// table selector
$strPerm = GetUserPermissions("jobs");
$smarty->assign("allow_jobs",!(strpos($strPerm, "A")===false && strpos($strPerm, "S")===false));
$strPerm = GetUserPermissions("patients");
$smarty->assign("allow_patients",!(strpos($strPerm, "A")===false && strpos($strPerm, "S")===false));
$strPerm = GetUserPermissions("Nursing Handover");
$smarty->assign("allow_Nursing_Handover",!(strpos($strPerm, "A")===false && strpos($strPerm, "S")===false));
$strPerm = GetUserPermissions("Current Patients");
$smarty->assign("allow_Current_Patients",!(strpos($strPerm, "A")===false && strpos($strPerm, "S")===false));
$strPerm = GetUserPermissions("Current Jobs");
$smarty->assign("allow_Current_Jobs",!(strpos($strPerm, "A")===false && strpos($strPerm, "S")===false));
$strPerm = GetUserPermissions("Ward Round Sheet");
$smarty->assign("allow_Ward_Round_Sheet",!(strpos($strPerm, "A")===false && strpos($strPerm, "S")===false));
$strPerm = GetUserPermissions("Sign-Out Sheet");
$smarty->assign("allow_Sign_Out_Sheet",!(strpos($strPerm, "A")===false && strpos($strPerm, "S")===false));
$strPerm = GetUserPermissions("users");
$smarty->assign("allow_users",!(strpos($strPerm, "A")===false && strpos($strPerm, "S")===false));
$strPerm = GetUserPermissions("consultants");
$smarty->assign("allow_consultants",!(strpos($strPerm, "A")===false && strpos($strPerm, "S")===false));
$strPerm = GetUserPermissions("ward list");
$smarty->assign("allow_ward_list",!(strpos($strPerm, "A")===false && strpos($strPerm, "S")===false));
$smarty->assign("allow_delete",CheckSecurity(@$_SESSION["OwnerID"],"Delete"));
$smarty->assign("allow_add",CheckSecurity(@$_SESSION["OwnerID"],"Add"));
$smarty->assign("allow_edit",CheckSecurity(@$_SESSION["OwnerID"],"Edit"));
$smarty->assign("allow_export",CheckSecurity(@$_SESSION["OwnerID"],"Export"));
$smarty->assign("allow_search",CheckSecurity(@$_SESSION["OwnerID"],"Search"));
$strSQL=$_SESSION[$strTableName."_sql"];
$smarty->display("Ward_Round_Sheet_list.htm");