improvements to test suite to allow it to run from a clean repository
[openemr.git] / library / calendar.inc
blobfbd03645d9276fe8208da5ba0e677029b02699a9
1 <?php
2 //function returns the next most recent appointment given a pid
3 function getNextAppointment ($pid) {
4 $query = "select * from calendar where pid=$pid and time>now() order by time limit 1";
5 $rez = sqlStatement($query);
6 echo "<!-- getNextAppointment $pid -$query- -->";
7         return sqlFetchArray($rez);
11 //this function returns calendar data given date and provider
12 function getCalendarDay($datetime,$owner,$groupname) {
13         $query = "select * from calendar where time like '$datetime%' and owner like '$owner' and groupname like '$groupname' order by time";
14         $rez = sqlStatement($query);
15         for($iter=0; $row=sqlFetchArray($rez); $iter++)
16                 $returnval[$iter]=$row;
18 echo "<!-- getCalendarDay -$query- $datetime $owner $groupname -->";
19         return $returnval;
22 //toggle the status of a noshow calendar entry
23 function toggleNoShow( $cid) {
24         $rez = sqlStatement("select noshow from calendar where id=$cid");
25         $row=sqlFetchArray($rez);
26         $oldnoshowval = $row{noshow};
27         $newnoshowval = !($oldnoshowval);
28         $query = "update calendar set noshow='$newnoshowval' where id=$cid";
29         sqlStatement($query);
33 //return array of provider usernames
34 function getProviderUsernames() {
35         $rez = sqlStatement("select distinct username, lname, fname from users " .
36                 "where authorized = 1 and username != ''");
37         for($iter=0; $row=sqlFetchArray($rez); $iter++)
38                 $returnval[$iter]=$row;
40         return $returnval;
44 function getIDfromUser($name) {
45         $query = "select id from users where username=\"" . mysql_real_escape_string($name) . "\" limit 1";
46         $rez = sqlStatement($query);
47         $row = sqlFetchArray($rez);
48         if (!is_numeric($row['id']))
49                 return -1;
50         else
51                 return $row['id'];
53 function getAuthorizedIDs() {
54         $query = "select id, username from users where authorized=1 and username != ''";
55         $rez = sqlStatement($query);
56         for($iter=0; $row=sqlFetchArray($rez); $iter++)
57                 $returnval[$iter]=$row;
58         return $returnval;
62 function getUserInfo() {
63         $rez = sqlStatement("select distinct id, username, lname, fname, authorized, " .
64                 "info, facility from users where username != ''");
65         for($iter=0; $row=sqlFetchArray($rez); $iter++)
66                 $returnval[$iter]=$row;
68         return $returnval;
70 function getUsername($uID) {
71         $pi = getProviderInfo($uID,false);
72         if (strlen($pi["username"]) > 0) {
73                 return $pi['username'];
74         }
76         return "";
79 //      returns an array of facility id and names
80 function getUserFacilities($uID) {
81   if (!$GLOBALS['restrict_user_facility']) {
82         $rez = sqlStatement("
83                 select id, name
84                 from facility
85                 where service_location != 0
86         ");
87   } else {
88           $rez = sqlStatement("
89                   select uf.facility_id as id, f.name
90                   from users_facility uf
91                   left join facility f on (uf.facility_id = f.id)
92                   where uf.tablename='users' 
93                   and uf.table_id = '$uID' 
94             ");
95   }
96   $returnVal = array();
97   while ($row = sqlFetchArray($rez)) 
98           $returnVal[] = $row;
99   return $returnVal;
102 //retrieve the name based on the username
103 function getNamefromUsername($username) {
104         $query = "select * from users where username like '$username' and username != ''";
105         $res = sqlQuery($query);
106         return $res;
109 //retrieve calendar information from calendar id
110 function getCalendarfromID ($calid) {
111         
112         //this table is deprecated and has been removed from new versions
113         //return sqlQuery("select * from calendar where id='$calid'");
116 //get calendar dates in a range of dates
117 function getCalendarRanges ($fromdate, $todate, $username) {
118         $rez = sqlStatement("select * from calendar where time>='$fromdate' and time<'$todate' and owner like '$username' order by time");
119         for($iter=0; $row=sqlFetchArray($rez); $iter++)
120                 $returnval[$iter]=$row;
122         return $returnval;
123         
127 //get calendar dates in a range of dates
128 function getCalendarbyTimeandRange ($time, $fromdate, $todate, $username) {
129         $query = "select * from calendar where time like '% $time%' and time>='$fromdate' and time<'$todate' and owner like '$username' order by time";
130         $rez = sqlStatement($query);
131         for($iter=0; $row=sqlFetchArray($rez); $iter++)
132                 $returnval[$iter]=$row;
133 echo "<!-- getcalendarbytimeandrange -$query- -->";
134         return $returnval;
135         
139 //add new calendar entry item
140 function newCalendarItem (
141 $pid,
142 $time,
143 $reason,
144 $owner,
145 $groupname
148 ) {
149         
150         sqlQuery("insert into calendar set pid=?,time=?,reason=?,owner=?,groupname=?,date=now()", array($pid, $time, $reason, $owner, $groupname) );
153 //delete a calendar entry item
154 function deleteCalendarItem( $calid,$pid) {
155         sqlQuery("delete from calendar where id=? and pid=?", array($calid, $pid) );
156         
160 //save an edited calendar entry item
161 function saveCalendarUpdate (
162 $calid,
163 $pid,
164 $time,
165 $reason,
166 $owner,
167 $groupname
170 ) {
171         
172         sqlQuery("update calendar set pid=?,time=?,reason=?,owner=?,groupname=?,date=now() where id=?", array($pid, $time, $reason, $owner, $groupname, $calid) );
176 //replicated functionality of postcalendar_getDate
177 function pc_getDate($format='%Y%m%d')  {
178 //    list($Date,$jumpday,$jumpmonth,$jumpyear) = pnVarCleanFromInput('Date','jumpday','jumpmonth','jumpyear');
179         if(!isset($Date)) {
180         // if we still don't have a date then calculate it
181         $time = time();
182                 // check the jump menu
183         if(!isset($jumpday))   $jumpday = strftime('%d',$time);
184         if(!isset($jumpmonth)) $jumpmonth = strftime('%m',$time);
185         if(!isset($jumpyear))  $jumpyear = strftime('%Y',$time);
186                 // create the correct date string
187         $Date = (int) "$jumpyear$jumpmonth$jumpday";
188     }
189         $y = substr($Date,0,4);
190         $m = substr($Date,4,2);
191         $d = substr($Date,6,2);
192     return strftime($format,mktime(0,0,0,$m,$d,$y));