var $controlName = "";
var $highlight = "time"; // Determines what type of active days to highlight ("time" or "expenses").
- // var $mAllDays = true;
- var $class = "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) {
- $date_a = explode("/",$fday); // format mm/dd
- $this->holidays[] = mktime(0,0,0, $date_a[0], $date_a[1], date("Y"));// + 7200;
- }
- }
- $this->weekStartDay = $user->week_start;
+ $this->weekStartDay = $user->getWeekStart();
}
function setStyle($style) { $this->style = $style; }
$str .= "<tr>";
+ // TODO: refactor this entire class, as $weekend_start and $weekend_end
+ // are not what their names suggest (debug with non zero week start to see it).
$weekend_start = 6 - $this->weekStartDay; // Saturday by default.
$weekend_end = (7 - $this->weekStartDay) % 7; // Sunday by default.
if (defined('WEEKEND_START_DAY')) {
$stl_cell = ' class="CalendarDay"';
}
- // holidays
- if ($this->showHolidays) {
- foreach ($this->holidays as $day) {
- if($day == $date) {
- $stl_cell = ' class="CalendarDayHoliday"';
- $stl_link = ' class="CalendarLinkHoliday"';
- }
- }
+ // holidays
+ $date_to_check = ttTimeHelper::dateInDatabaseFormat($thisyear, $thismonth, $start_date+$j);
+ if (ttTimeHelper::isHoliday($date_to_check)) {
+ $stl_cell = ' class="CalendarDayHoliday"';
+ $stl_link = ' class="CalendarLinkHoliday"';
}
// selected day
$str .= "</TR>\n";
}
- $str .= "<tr><td colspan=\"7\" align=\"center\"><a id=\"today_link\" href=\"?".$this->controlName."=".strftime(DB_DATEFORMAT)."\" tabindex=\"-1\">".$i18n->getKey('label.today')."</a></td></tr>\n";
+ $str .= "<tr><td colspan=\"7\" align=\"center\"><a id=\"today_link\" href=\"?".$this->controlName."=".strftime(DB_DATEFORMAT)."\" tabindex=\"-1\">".$i18n->get('label.today')."</a></td></tr>\n";
$str .= "</table>\n";
$str .= "<input type=\"hidden\" name=\"$this->controlName\" value=\"$indate\">\n";
return $str;
}
- function toStringControl() {
+ function getHtml() {
return $this->toString();
}
function _getActiveDates($start, $end) {
global $user;
- $user_id = $user->getActiveUser();
+ $user_id = $user->getUser();
$table = ($this->highlight == 'expenses') ? 'tt_expense_items' : 'tt_log';