function render_tr(&$obj, $style = "") { if (!isset($obj) || !$obj instanceof Effort) { trigger_error("ListBlock->render_tr() called without valid object", E_USER_WARNING); return; } if ($obj->as_duration) { echo "<td>-</td>"; } else { $tmp = mysqlDatetime2utc($obj->time_start); $day_time_start = confGet('DAYGRAPH_START_HOUR') * 60 * 60; $day_time_end = confGet('DAYGRAPH_END_HOUR') * 60 * 60; $stretch = confGet('DAYGRAPH_WIDTH') / ($day_time_end - $day_time_start); $time_start = round(($tmp['hour'] * 60 * 60 + $tmp['min'] * 60 + $tmp['sec'] - $day_time_start) * $stretch, 0); if ($time_start < 0) { $time_start = 0; } $tmp = mysqlDatetime2utc($obj->time_end); $time_end = round(($tmp['hour'] * 60 * 60 + $tmp['min'] * 60 + $tmp['sec'] - $day_time_start) * $stretch, 0); if ($time_end < $time_start) { $time_end = 0; } $time_len = $time_end - $time_start; echo "<td>"; echo "<nobr>"; echo "<img src='" . getThemeFile("img/pixel.gif") . "' style='width:{$time_start}px;height:3px;'>"; echo "<img src='" . getThemeFile("img/pixel.gif") . "' style='width:{$time_len}px;height:12px;background-color:#f00;'>"; echo "</nobr>"; echo "</td>"; } }
public function __toString() { $value_date = "-"; $value_time = "-"; if ($this->value != "0000-00-00 00:00:00" && $this->value != "0000-00-00") { $time = strToClientTime($this->value); /** * if strToClientTime fails, use try mySQL */ if ($time < 0 || $time == false) { $str_array = mysqlDatetime2utc($this->value); $str = $str_array['year'] . "-" . $str_array['mon'] . '-' . $str_array['day'] . " " . $str_array['hour'] . ":" . $str_array['min'] . ":" . $str_array['sec']; $time = strToClientTime($str); } /** * @@@ this format must be parsable by jsCalendar */ if ($time != -1) { $value_date = gmdate("D, d.m.Y", $time); $value_time = gmdate("H:i", $time); } } else { $time = 0; } $label = isset($this->title) ? $this->title : ucwords(str_replace('_', ' ', $this->name)); $tooltip = isset($this->tooltip) ? "title='{$this->tooltip}'" : ucwords($this->name); $field_id = $this->name; $buffer = "<p {$tooltip} " . $this->renderCssClasses() . ">" . "<label>{$label}</label>" . "<input class=inp_date id='{$field_id}_date' name='{$field_id}_date' value='{$value_date}'>" . "<span class=button_calendar id='trigger_{$field_id}_date'>...</span>" . "<input class=inp_time id='{$field_id}_time' name='{$field_id}_time' value='{$value_time}'>" . "<span class=slider_time id='drag_{$field_id}' > </span>" . "</p>" . "<script>" . "DragSlider.init('drag_{$field_id}','{$field_id}_time','time');\r\n Calendar.setup({\r\n inputField : \"{$field_id}_date\", // ID of the input field\r\n ifFormat : \"%a, %d.%m.%Y\", // the date format\r\n button : \"trigger_{$field_id}_date\" // ID of the button\r\n }\r\n );" . "</script>"; return $buffer; }