summaryrefslogtreecommitdiffstats
path: root/phpfspot.class.php
diff options
context:
space:
mode:
authorAndreas Unterkircher <unki@netshadow.at>2009-05-23 12:48:50 +0200
committerAndreas Unterkircher <unki@netshadow.at>2009-05-23 12:48:50 +0200
commit5bc4f09805223539cd593ccbe7ed49955dd58775 (patch)
treeb7971b858a06dd6a340f55fc39c4f27efcc89d30 /phpfspot.class.php
parentea36e81b91c8689ae44d413eca4697d1993ac30b (diff)
make calendar window working again, fixes #78
Signed-off-by: Andreas Unterkircher <unki@netshadow.at>
Diffstat (limited to 'phpfspot.class.php')
-rw-r--r--phpfspot.class.php45
1 files changed, 33 insertions, 12 deletions
diff --git a/phpfspot.class.php b/phpfspot.class.php
index 1423f98..89f924d 100644
--- a/phpfspot.class.php
+++ b/phpfspot.class.php
@@ -2561,6 +2561,11 @@ class PHPFSPOT {
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";
@@ -2665,11 +2670,22 @@ class PHPFSPOT {
* @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();
@@ -2678,27 +2694,26 @@ class PHPFSPOT {
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();
@@ -2706,7 +2721,13 @@ class PHPFSPOT {
$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() )