print "PEAR Console_Getopt package is missing<br />\n";
$missing = true;
}
+ @include_once 'Date.php';
+ if(isset($php_errormsg) && preg_match('/Failed opening.*for inclusion/i', $php_errormsg)) {
+ print "PEAR Date package is missing<br />\n";
+ $missing = true;
+ }
@include_once $this->cfg->smarty_path .'/libs/Smarty.class.php';
if(isset($php_errormsg) && preg_match('/Failed opening.*for inclusion/i', $php_errormsg)) {
print "Smarty template engine can not be found in ". $this->cfg->smarty_path ."/libs/Smarty.class.php<br />\n";
* @param integer $month
* @param integer $day
*/
- public function get_calendar_matrix($year = 0, $month = 0, $day = 0)
+ public function get_calendar_matrix($userdate)
{
- if (!isset($year)) $year = date('Y');
- if (!isset($month)) $month = date('m');
- if (!isset($day)) $day = date('d');
+ if(($userdate = strtotime($userdate)) === false) {
+ $year = date('Y');
+ $month = date('m');
+ $day = date('d');
+ }
+ else {
+ $date = new Date();
+ $date->setDate($userdate);
+
+ $year = $date->getYear();
+ $month = $date->getMonth();
+ $day = $date->getDay();
+ }
+
$rows = 1;
$cols = 1;
$matrix = Array();
require_once CALENDAR_ROOT.'Day.php';
// Build the month
- $month = new Calendar_Month_Weekdays($year,$month);
+ $month_cal = new Calendar_Month_Weekdays($year,$month);
// Create links
- $prevStamp = $month->prevMonth(true);
+ $prevStamp = $month_cal->prevMonth(true);
$prev = "javascript:setMonth(". date('Y',$prevStamp) .", ". date('n',$prevStamp) .", ". date('j',$prevStamp) .");";
- $nextStamp = $month->nextMonth(true);
+ $nextStamp = $month_cal->nextMonth(true);
$next = "javascript:setMonth(". date('Y',$nextStamp) .", ". date('n',$nextStamp) .", ". date('j',$nextStamp) .");";
$selectedDays = array (
new Calendar_Day($year,$month,$day),
- new Calendar_Day($year,12,25),
);
// Build the days in the month
- $month->build($selectedDays);
+ $month_cal->build($selectedDays);
- $this->tmpl->assign('current_month', date('F Y',$month->getTimeStamp()));
+ $this->tmpl->assign('current_month', date('F Y',$month_cal->getTimeStamp()));
$this->tmpl->assign('prev_month', $prev);
$this->tmpl->assign('next_month', $next);
- while ( $day = $month->fetch() ) {
+ while ( $day = $month_cal->fetch() ) {
if(!isset($matrix[$rows]))
$matrix[$rows] = Array();
$string = "";
$dayStamp = $day->thisDay(true);
- $link = "javascript:setCalendarDate(". date('Y',$dayStamp) .", ". date('n',$dayStamp).", ". date('j',$dayStamp) .");";
+ $link = "javascript:setCalendarDate('"
+ . date('Y',$dayStamp)
+ . "-"
+ . date('m',$dayStamp)
+ . "-"
+ . date('d',$dayStamp)
+ ."');";
// isFirst() to find start of week
if ( $day->isFirst() )
function showCalendar(date_box, click_obj)
{
var calendar = document.getElementById('calendar');
- var year = document.getElementById(date_box+'year').value;
- var month = document.getElementById(date_box+'month').value;
+ var userdate = document.getElementById('date_' + date_box).value;
+
if(date_box == 'from') {
var xpos = document.getElementById('frompic').offsetLeft;
var ypos = document.getElementById('frompic').offsetTop;
if(calendar.style.visibility == "" || calendar.style.visibility == 'hidden') {
calendar.style.visibility = 'visible';
calendar.innerHTML = "Loading...";
- calendar.innerHTML = HTML_AJAX.grab(encodeURI(web_path +'/rpc.php?action=get_calendar_matrix&year=' + year + '&month=' + month));
+ calendar.innerHTML = HTML_AJAX.grab(encodeURI(web_path +'/rpc.php?action=get_calendar_matrix&date=' + userdate));
calendar_shown = 1;
}
else {
{
var calendar = document.getElementById('calendar');
calendar.innerHTML = "Loading...";
- calendar.innerHTML = HTML_AJAX.grab(encodeURI(web_path + '/rpc.php?action=get_calendar_matrix&year='+ year +'&month='+ month +'&day='+ day));
+ calendar.innerHTML = HTML_AJAX.grab(encodeURI(web_path + '/rpc.php?action=get_calendar_matrix&date='+ year +'-'+ month +'-'+ day));
}
/**
* get the user-selected date from the calendar and
* put it into the date-search boxes
*/
-function setCalendarDate(year, month, day)
+function setCalendarDate(userdate)
{
- document.getElementById(calendar_mode+'year').value = year;
- document.getElementById(calendar_mode+'month').value = month;
- document.getElementById(calendar_mode+'day').value = day;
+ document.getElementById('date_'+calendar_mode).value = userdate;
hideCalendar();
} // setCalendarDate()