X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2Fform%2FCalendar.class.php;h=f160cfa6cf43de12e3ce6000c0937223a9a5aa35;hb=9819bb63bec83c13dd40ebb2ffc24df5fcfeda33;hp=e9d5097622e374ae1036b1d93e63c9215ea5edf6;hpb=bd569da4f1d6ada00f5e48eac9716c068003748a;p=timetracker.git diff --git a/WEB-INF/lib/form/Calendar.class.php b/WEB-INF/lib/form/Calendar.class.php index e9d50976..f160cfa6 100644 --- a/WEB-INF/lib/form/Calendar.class.php +++ b/WEB-INF/lib/form/Calendar.class.php @@ -44,25 +44,24 @@ class Calendar extends FormElement { var $controlName = ""; var $highlight = "time"; // Determines what type of active days to highlight ("time" or "expenses"). - // var $mAllDays = true; - var $cClassName = "Calendar"; function __construct($name) { - $this->controlName = $name; - $this->mMonthNames = array('January','February','March','April','May','June','July','August','September','October','November','December'); - $this->mWeekDayShortNames = array('Su','Mo','Tu','We','Th','Fr','Sa'); + $this->class = 'Calendar'; + $this->controlName = $name; // TODO: why controlName? Other classes have "name". + $this->mMonthNames = array('January','February','March','April','May','June','July','August','September','October','November','December'); + $this->mWeekDayShortNames = array('Su','Mo','Tu','We','Th','Fr','Sa'); } - + function setHighlight($highlight) { if ($highlight && $highlight != 'time') $this->highlight = $highlight; } - function setLocalization($i18n) { + function localize() { global $user; + global $i18n; - FormElement::setLocalization($i18n); - $this->mMonthNames = $i18n->monthNames; + $this->mMonthNames = $i18n->monthNames; $this->mWeekDayShortNames = $i18n->weekdayShortNames; if (is_array($i18n->holidays)) { foreach ($i18n->holidays as $fday) { @@ -93,8 +92,6 @@ class Calendar extends FormElement { $indate = $this->value; if (!$indate) $indate = strftime(DB_DATEFORMAT); - if (!$this->isRenderable()) return ""; - //current year and month if ( strlen ( $indate ) > 0 ) { $indateObj = new DateAndTime(DB_DATEFORMAT, $indate); @@ -174,14 +171,18 @@ class Calendar extends FormElement { $stl_cell = ' class="CalendarDay"'; } - // holidays - if ($this->showHolidays) { - foreach ($this->holidays as $day) { - if($day == $date) { - $stl_cell = ' class="CalendarDayHoliday"'; - $stl_link = ' class="CalendarLinkHoliday"'; - } - } + // Handle holidays. + // Prepare a date to check in DB_DATEFORMAT. + $date_to_check = "$thisyear-"; + if (strlen($thismonth) == 1) $date_to_check .= '0'; + $date_to_check .= "$thismonth-"; + if (strlen($start_date+$j) == 1) $date_to_check .= '0'; + $date_to_check .= $start_date+$j; + + // Check if it falls on a holiday. + if (ttTimeHelper::isHoliday2($date_to_check)) { + $stl_cell = ' class="CalendarDayHoliday"'; + $stl_link = ' class="CalendarLinkHoliday"'; } // selected day @@ -208,7 +209,7 @@ class Calendar extends FormElement { $str .= "\n"; } - $str .= "controlName."=".strftime(DB_DATEFORMAT)."\" tabindex=\"-1\">".$i18n->getKey('label.today')."\n"; + $str .= "controlName."=".strftime(DB_DATEFORMAT)."\" tabindex=\"-1\">".$i18n->get('label.today')."\n"; $str .= "\n"; $str .= "controlName\" value=\"$indate\">\n"; @@ -225,7 +226,7 @@ class Calendar extends FormElement { return $str; } - function toStringControl() { + function getHtml() { return $this->toString(); } @@ -261,7 +262,7 @@ class Calendar extends FormElement { function _getActiveDates($start, $end) { global $user; - $user_id = $user->getActiveUser(); + $user_id = $user->getUser(); $table = ($this->highlight == 'expenses') ? 'tt_expense_items' : 'tt_log';