[-*Smarty*-] [-*****************************************************************************-] [-* Copyright (C) 2005-2006 Rod Roark and others *-] [-* *-] [-* This program is free software; you can redistribute it and/or *-] [-* modify it under the terms of the GNU General Public License *-] [-* as published by the Free Software Foundation; either version 2 *-] [-* of the License, or (at your option) any later version. *-] [-*****************************************************************************-] [-config_load file="default.conf"-] [-*Load the Language Definitions*-] [-config_load file="lang.$USER_LANG"-] [-include file="$TPL_NAME/views/header.html"-] [-* we want to include out stylesheet for this view*-] [-fetch file="$TPL_STYLE_PATH/day.css" assign="css"-] [-eval var=$css-] [-php-] // this is my proposed setting in the globals config file so we don't // need to mess with altering the pn database AND the config file //pnModSetVar(__POSTCALENDAR__, 'pcFirstDayOfWeek', $GLOBALS['schedule_dow_start']); $A_CATEGORY =& $this->_tpl_vars['A_CATEGORY']; $A_EVENTS =& $this->_tpl_vars['A_EVENTS']; $providers =& $this->_tpl_vars['providers']; $times =& $this->_tpl_vars['times']; $interval = $this->_tpl_vars['interval']; $viewtype = $this->_tpl_vars['VIEW_TYPE']; $PREV_WEEK_URL = $this->_tpl_vars['PREV_WEEK_URL']; $NEXT_WEEK_URL = $this->_tpl_vars['NEXT_WEEK_URL']; $PREV_DAY_URL = $this->_tpl_vars['PREV_DAY_URL']; $NEXT_DAY_URL = $this->_tpl_vars['NEXT_DAY_URL']; $Date = postcalendar_getDate(); if (!isset($y)) $y = substr($Date, 0, 4); if (!isset($m)) $m = substr($Date, 4, 2); if (!isset($d)) $d = substr($Date, 6, 2); $provinfo = getProviderInfo(); [-/php-] [-assign var="dayname" value=$DATE|date_format:"%w"-] [-assign var="day" value=$DATE|date_format:"%d"|string_format:"%1d"-] [-assign var="month" value=$DATE|date_format:"%m"|string_format:"%1d"-] [-assign var="year" value=$DATE|date_format:"%Y"|string_format:"%4d"-] [-php-] // start out without adding a pagebreak $addPagebreak = false; // This loops once for each provider to be displayed. // foreach ($providers as $provider) { // output a pagebreak, if needed if ($addPagebreak) { echo "
"; } $addPagebreak = true; echo "
"; echo "
"; echo date('F', strtotime($Date)); echo "
"; $providerid = $provider['id']; echo "\n"; echo " \n"; echo " \n"; echo " \n"; // output date headers echo " \n"; $defaultDate = ""; // used when creating link for a 'new' event $in_cat_id = 0; // used when creating link for a 'new' event $dowCount = 0; foreach ($A_EVENTS as $date => $events) { if ($defaultDate == "") $defaultDate = date("Ymd", strtotime($date)); echo ""; if ($dowCount++ == 6) { break; } } echo " \n"; // For each day... // output a TD with an inner containing DIV positioned 'relative' // within that DIV we place our event DIVs using 'absolute' positioning foreach ($A_EVENTS as $date => $events) { $eventdate = substr($date, 0, 4) . substr($date, 5, 2) . substr($date, 8, 2); $gotoURL = pnModURL(__POSTCALENDAR__,'user','view', array('tplview'=>$template_view, 'viewtype'=>'day', 'Date'=> date("Ymd", strtotime($date)), 'pc_username'=>$pc_username, 'pc_category'=>$category, 'pc_topic'=>$topic)); if (date("w", strtotime($date)) == 0) { echo ""; } echo ""; if (date("w", strtotime($date)) == 6) { echo ""; } } // end date echo "
"; echo $provider['fname']." ".$provider['lname']; echo "
"; echo date("D", strtotime($date)); echo "
"; echo "
\n"; echo "
"; echo date("d", strtotime($date))."
"; if (count($events) == 0) { echo " "; } foreach ($events as $event) { // skip events for other providers // yeah, we've got that sort of overhead here... it ain't perfect if ($providerid != $event['aid']) { continue; } // Omit IN and OUT events to reduce clutter in this month view if (($event['catid'] == 2) || ($event['catid'] == 3)) { continue; } // figure the start time and minutes (from midnight) $starth = substr($event['startTime'], 0, 2); $startm = substr($event['startTime'], 3, 2); $eStartMin = $starth * 60 + $startm; $startDateTime = strtotime($date." ".$event['startTime']); // determine the class for the event DIV based on the event category $evtClass = "event_appointment"; switch ($event['catid']) { case 1: // NO-SHOW appt $evtClass = "event_noshow"; break; case 2: // IN office $evtClass = "event_in"; break; case 3: // OUT of office $evtClass = "event_out"; break; case 4: // VACATION case 8: // LUNCH case 11: // RESERVED $evtClass = "event_reserved"; break; default: // some appointment $evtClass = "event_appointment"; break; } // now, output the event DIV echo "
"; $eventid = $event['eid']; $patientid = $event['pid']; $commapos = strpos($event['patient_name'], ","); $lname = substr($event['patient_name'], 0, $commapos); $fname = substr($event['patient_name'], $commapos + 2); $patient_dob = $event['patient_dob']; $patient_age = $event['patient_age']; $catid = $event['catid']; $comment = addslashes($event['hometext']); $catname = $event['catname']; $title = "Age $patient_age ($patient_dob)"; // format the time specially $displayTime = date("g", $startDateTime); if (date("i", $startDateTime) == "00") { $displayTime .= (date("a", $startDateTime)); } else { $displayTime .= (date(":ia", $startDateTime)); } if ($comment && $GLOBALS['calendar_appt_style'] < 4) $title .= " " . $comment; if ($catid == 4 || $catid == 8 || $catid == 11) { if ($catid == 4) $catname = "VACATION"; else if ($catid == 8) $catname = "LUNCH"; else if ($catid == 11) $catname = "RESERVED"; $content = ""; $content .= $displayTime." "; $content .= $catname; if ($comment) $content .= " - $comment"; $content .= ""; } else { // some sort of patient appointment $content = ""; $content .= $displayTime . htmlspecialchars($event['apptstatus']) . ""; $content .= ""; if ($catid == 1) $content .= ""; $content .= htmlspecialchars($lname); if ($catid == 1) $content .= ""; $content .= ""; } echo $content; echo "
\n"; } // end EVENT loop echo "
"; echo "
\n"; echo "
"; } // end provider // [-*footer*-] // [-include file="$TPL_NAME/views/global/footer.html"-] // [-include file="$TPL_NAME/views/footer.html"-] [-/php-]