}
function isError() {
- if ($this->mParseResult!=0) return true;
+ if ($this->mParseResult != 0) return true;
return false;
}
- function getClone() {
- if (version_compare(phpversion(), '5.0') < 0) {
- $d = new DateAndTime($this->getFormat());
- $d->setTimestamp($this->getTimestamp());
- return $d;
- } else {
- return clone($this);
- }
- }
-
function before(/*DateAndTime*/ $obj) {
- if ($this->getTimestamp()<$obj->getTimestamp()) return true;
+ if ($this->getTimestamp() < $obj->getTimestamp()) return true;
return false;
}
function after(/*DateAndTime*/ $obj) {
- if ($this->getTimestamp()>$obj->getTimestamp()) return true;
+ if ($this->getTimestamp() > $obj->getTimestamp()) return true;
return false;
}
return false;
}
- function nextDate() {
- $d = $this->getClone();
- $d->incDay();
- return $d;
- }
-
function decDay(/*int*/$days=1) {
$this->setTimestamp(@mktime($this->mHour, $this->mMinute, $this->mSecond, $this->mMonth, $this->mDate - $days, $this->mYear));
}
define('INTERVAL_SELECTED_DAY', 48);
*/
+// TODO: Refactoring is needed for this class. Probably by refactoring DateAndTime first, as Period is
+// basically a collection of 2 DateAndTime instances.
+//
+// Second problem is that "today" is (most likely?) server today, so reports may give incorrect dates
+// for browser users in different time zones. Verify and fix this.
class Period {
- var $startDate;
- var $endDate;
+ var $startDate; // DateAndTime object.
+ var $endDate; // DateAndTime object.
function __construct($period_type = 0, $date_point = null) {