summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/Date.php10
-rw-r--r--app/Date/CalendarDate.php78
-rw-r--r--app/Functions/FunctionsImport.php8
-rw-r--r--app/Http/Controllers/CalendarController.php26
4 files changed, 67 insertions, 55 deletions
diff --git a/app/Date.php b/app/Date.php
index 97319ed39f..9552e4c407 100644
--- a/app/Date.php
+++ b/app/Date.php
@@ -410,11 +410,7 @@ class Date
*/
public function maximumDate()
{
- if ($this->date2 === null) {
- return $this->date1;
- }
-
- return $this->date2;
+ return $this->date2 ?? $this->date1;
}
/**
@@ -424,7 +420,7 @@ class Date
*/
public function minimumJulianDay(): int
{
- return $this->minimumDate()->minJD;
+ return $this->minimumDate()->minimumJulianDay();
}
/**
@@ -434,7 +430,7 @@ class Date
*/
public function maximumJulianDay(): int
{
- return $this->maximumDate()->maxJD;
+ return $this->maximumDate()->maximumJulianDay();
}
/**
diff --git a/app/Date/CalendarDate.php b/app/Date/CalendarDate.php
index 8315a42d28..f0ac1d735e 100644
--- a/app/Date/CalendarDate.php
+++ b/app/Date/CalendarDate.php
@@ -81,10 +81,10 @@ class CalendarDate
public $d;
/** @var int Earliest Julian day number (start of month/year for imprecise dates) */
- public $minJD;
+ private $minimum_julian_day;
/** @var int Latest Julian day number (end of month/year for imprecise dates) */
- public $maxJD;
+ private $maximum_julian_day;
/**
* Create a date from either:
@@ -98,8 +98,8 @@ class CalendarDate
{
// Construct from an integer (a julian day number)
if (is_int($date)) {
- $this->minJD = $date;
- $this->maxJD = $date;
+ $this->minimum_julian_day = $date;
+ $this->maximum_julian_day = $date;
list($this->y, $this->m, $this->d) = $this->calendar->jdToYmd($date);
return;
@@ -127,8 +127,8 @@ class CalendarDate
}
// Contruct from a CalendarDate
- $this->minJD = $date->minJD;
- $this->maxJD = $date->maxJD;
+ $this->minimum_julian_day = $date->minimum_julian_day;
+ $this->maximum_julian_day = $date->maximum_julian_day;
// Construct from an equivalent xxxxDate object
if (get_class($this) == get_class($date)) {
@@ -155,7 +155,7 @@ class CalendarDate
$jd = $date->calendar->ymdToJd($today[0], $date->m, $date->d == 0 ? $today[2] : $date->d);
} else {
// Complete date
- $jd = (int) (($date->maxJD + $date->minJD) / 2);
+ $jd = (int) (($date->maximum_julian_day + $date->minimum_julian_day) / 2);
}
list($this->y, $this->m, $this->d) = $this->calendar->jdToYmd($jd);
// New date has same precision as original date
@@ -172,6 +172,22 @@ class CalendarDate
}
/**
+ * @return int
+ */
+ public function maximumJulianDay(): int
+ {
+ return $this->maximum_julian_day;
+ }
+
+ /**
+ * @return int
+ */
+ public function minimumJulianDay(): int
+ {
+ return $this->minimum_julian_day;
+ }
+
+ /**
* Is the current year a leap year?
*
* @return bool
@@ -189,18 +205,18 @@ class CalendarDate
public function setJdFromYmd()
{
if ($this->y == 0) {
- $this->minJD = 0;
- $this->maxJD = 0;
+ $this->minimum_julian_day = 0;
+ $this->maximum_julian_day = 0;
} elseif ($this->m == 0) {
- $this->minJD = $this->calendar->ymdToJd($this->y, 1, 1);
- $this->maxJD = $this->calendar->ymdToJd($this->nextYear($this->y), 1, 1) - 1;
+ $this->minimum_julian_day = $this->calendar->ymdToJd($this->y, 1, 1);
+ $this->maximum_julian_day = $this->calendar->ymdToJd($this->nextYear($this->y), 1, 1) - 1;
} elseif ($this->d == 0) {
list($ny, $nm) = $this->nextMonth();
- $this->minJD = $this->calendar->ymdToJd($this->y, $this->m, 1);
- $this->maxJD = $this->calendar->ymdToJd($ny, $nm, 1) - 1;
+ $this->minimum_julian_day = $this->calendar->ymdToJd($this->y, $this->m, 1);
+ $this->maximum_julian_day = $this->calendar->ymdToJd($ny, $nm, 1) - 1;
} else {
- $this->minJD = $this->calendar->ymdToJd($this->y, $this->m, $this->d);
- $this->maxJD = $this->minJD;
+ $this->minimum_julian_day = $this->calendar->ymdToJd($this->y, $this->m, $this->d);
+ $this->maximum_julian_day = $this->minimum_julian_day;
}
}
@@ -470,11 +486,11 @@ class CalendarDate
*/
public static function compare(CalendarDate $d1, CalendarDate $d2): int
{
- if ($d1->maxJD < $d2->minJD) {
+ if ($d1->maximum_julian_day < $d2->minimum_julian_day) {
return -1;
}
- if ($d2->maxJD < $d1->minJD) {
+ if ($d2->maximum_julian_day < $d1->minimum_julian_day) {
return 1;
}
@@ -505,8 +521,8 @@ class CalendarDate
}
// Perform all calculations using the calendar of the first date
- list($year1, $month1, $day1) = $this->calendar->jdToYmd($this->minJD);
- list($year2, $month2, $day2) = $this->calendar->jdToYmd($date->minJD);
+ list($year1, $month1, $day1) = $this->calendar->jdToYmd($this->minimum_julian_day);
+ list($year2, $month2, $day2) = $this->calendar->jdToYmd($date->minimum_julian_day);
$years = $year2 - $year1;
$months = $month2 - $month1;
@@ -538,10 +554,10 @@ class CalendarDate
if ($this->y == 0 || $jd == 0) {
return 0;
}
- if ($this->minJD < $jd && $this->maxJD > $jd) {
+ if ($this->minimum_julian_day < $jd && $this->maximum_julian_day > $jd) {
return 0;
}
- if ($this->minJD == $jd) {
+ if ($this->minimum_julian_day == $jd) {
return 0;
}
list($y, $m, $d) = $this->calendar->jdToYmd($jd);
@@ -573,13 +589,13 @@ class CalendarDate
if ($this->y == 0 || $jd == 0) {
return '';
}
- if ($this->minJD < $jd && $this->maxJD > $jd) {
+ if ($this->minimum_julian_day < $jd && $this->maximum_julian_day > $jd) {
return '';
}
- if ($this->minJD == $jd) {
+ if ($this->minimum_julian_day == $jd) {
return '';
}
- if ($jd < $this->minJD) {
+ if ($jd < $this->minimum_julian_day) {
return '<i class="icon-warning"></i>';
}
list($y, $m, $d) = $this->calendar->jdToYmd($jd);
@@ -604,7 +620,7 @@ class CalendarDate
}
// Age in days?
- return ($jd - $this->minJD) . 'd';
+ return ($jd - $this->minimum_julian_day) . 'd';
}
/**
@@ -641,7 +657,7 @@ class CalendarDate
*/
public function inValidRange(): bool
{
- return $this->minJD >= $this->calendar->jdStart() && $this->maxJD <= $this->calendar->jdEnd();
+ return $this->minimum_julian_day >= $this->calendar->jdStart() && $this->maximum_julian_day <= $this->calendar->jdEnd();
}
/**
@@ -845,7 +861,7 @@ class CalendarDate
*/
protected function formatLongWeekday(): string
{
- return $this->dayNames($this->minJD % $this->calendar->daysInWeek());
+ return $this->dayNames($this->minimum_julian_day % $this->calendar->daysInWeek());
}
/**
@@ -855,7 +871,7 @@ class CalendarDate
*/
protected function formatShortWeekday(): string
{
- return $this->dayNamesAbbreviated($this->minJD % $this->calendar->daysInWeek());
+ return $this->dayNamesAbbreviated($this->minimum_julian_day % $this->calendar->daysInWeek());
}
/**
@@ -865,7 +881,7 @@ class CalendarDate
*/
protected function formatIsoWeekday(): string
{
- return I18N::digits($this->minJD % 7 + 1);
+ return I18N::digits($this->minimum_julian_day % 7 + 1);
}
/**
@@ -875,7 +891,7 @@ class CalendarDate
*/
protected function formatNumericWeekday(): string
{
- return I18N::digits(($this->minJD + 1) % $this->calendar->daysInWeek());
+ return I18N::digits(($this->minimum_julian_day + 1) % $this->calendar->daysInWeek());
}
/**
@@ -885,7 +901,7 @@ class CalendarDate
*/
protected function formatDayOfYear(): string
{
- return I18N::digits($this->minJD - $this->calendar->ymdToJd($this->y, 1, 1));
+ return I18N::digits($this->minimum_julian_day - $this->calendar->ymdToJd($this->y, 1, 1));
}
/**
diff --git a/app/Functions/FunctionsImport.php b/app/Functions/FunctionsImport.php
index 67e527f942..2702c86cad 100644
--- a/app/Functions/FunctionsImport.php
+++ b/app/Functions/FunctionsImport.php
@@ -927,8 +927,8 @@ class FunctionsImport
$date->minimumDate()->format('%O'),
$date->minimumDate()->m,
$date->minimumDate()->y,
- $date->minimumDate()->minJD,
- $date->minimumDate()->maxJD,
+ $date->minimumDate()->minimumJulianDay(),
+ $date->minimumDate()->maximumJulianDay(),
$fact,
$xref,
$ged_id,
@@ -942,8 +942,8 @@ class FunctionsImport
$date->maximumDate()->format('%O'),
$date->maximumDate()->m,
$date->maximumDate()->y,
- $date->maximumDate()->minJD,
- $date->maximumDate()->maxJD,
+ $date->maximumDate()->minimumJulianDay(),
+ $date->maximumDate()->maximumJulianDay(),
$fact,
$xref,
$ged_id,
diff --git a/app/Http/Controllers/CalendarController.php b/app/Http/Controllers/CalendarController.php
index ba9b655de0..7abcdd3208 100644
--- a/app/Http/Controllers/CalendarController.php
+++ b/app/Http/Controllers/CalendarController.php
@@ -256,7 +256,7 @@ class CalendarController extends AbstractBaseController
switch ($view) {
case 'day':
- $found_facts = $this->applyFilter($calendar_service->getAnniversaryEvents($cal_date->minJD, $filterev, $tree), $filterof, $filtersx);
+ $found_facts = $this->applyFilter($calendar_service->getAnniversaryEvents($cal_date->minimumJulianDay(), $filterev, $tree), $filterof, $filtersx);
break;
case 'month':
$cal_date->d = 0;
@@ -266,13 +266,13 @@ class CalendarController extends AbstractBaseController
$found_facts[$d] = [];
}
// Fetch events for each day
- for ($jd = $cal_date->minJD; $jd <= $cal_date->maxJD; ++$jd) {
+ for ($jd = $cal_date->minimumJulianDay(); $jd <= $cal_date->maximumJulianDay(); ++$jd) {
foreach ($this->applyFilter($calendar_service->getAnniversaryEvents($jd, $filterev, $tree), $filterof, $filtersx) as $fact) {
$tmp = $fact->getDate()->minimumDate();
if ($tmp->d >= 1 && $tmp->d <= $tmp->daysInMonth()) {
// If the day is valid (for its own calendar), display it in the
// anniversary day (for the display calendar).
- $found_facts[$jd - $cal_date->minJD + 1][] = $fact;
+ $found_facts[$jd - $cal_date->minimumJulianDay() + 1][] = $fact;
} else {
// Otherwise, display it in the "Day not set" box.
$found_facts[0][] = $fact;
@@ -386,14 +386,14 @@ class CalendarController extends AbstractBaseController
echo '<tbody>';
// Print days 1 to n of the month, but extend to cover "empty" days before/after the month to make whole weeks.
// e.g. instead of 1 -> 30 (=30 days), we might have -1 -> 33 (=35 days)
- $start_d = 1 - ($cal_date->minJD - $week_start) % $days_in_week;
- $end_d = $days_in_month + ($days_in_week - ($cal_date->maxJD - $week_start + 1) % $days_in_week) % $days_in_week;
+ $start_d = 1 - ($cal_date->minimumJulianDay() - $week_start) % $days_in_week;
+ $end_d = $days_in_month + ($days_in_week - ($cal_date->maximumJulianDay() - $week_start + 1) % $days_in_week) % $days_in_week;
// Make sure that there is an empty box for any leap/missing days
if ($start_d === 1 && $end_d === $days_in_month && count($found_facts[0]) > 0) {
$end_d += $days_in_week;
}
for ($d = $start_d; $d <= $end_d; ++$d) {
- if (($d + $cal_date->minJD - $week_start) % $days_in_week === 1) {
+ if (($d + $cal_date->minimumJulianDay() - $week_start) % $days_in_week === 1) {
echo '<tr>';
}
echo '<td class="optionbox wrap">';
@@ -418,22 +418,22 @@ class CalendarController extends AbstractBaseController
foreach (explode('_and_', $CALENDAR_FORMAT) as $convcal) {
switch ($convcal) {
case 'french':
- $alt_date = new FrenchDate($cal_date->minJD + $d - 1);
+ $alt_date = new FrenchDate($cal_date->minimumJulianDay() + $d - 1);
break;
case 'gregorian':
- $alt_date = new GregorianDate($cal_date->minJD + $d - 1);
+ $alt_date = new GregorianDate($cal_date->minimumJulianDay() + $d - 1);
break;
case 'jewish':
- $alt_date = new JewishDate($cal_date->minJD + $d - 1);
+ $alt_date = new JewishDate($cal_date->minimumJulianDay() + $d - 1);
break;
case 'julian':
- $alt_date = new JulianDate($cal_date->minJD + $d - 1);
+ $alt_date = new JulianDate($cal_date->minimumJulianDay() + $d - 1);
break;
case 'hijri':
- $alt_date = new HijriDate($cal_date->minJD + $d - 1);
+ $alt_date = new HijriDate($cal_date->minimumJulianDay() + $d - 1);
break;
case 'jalali':
- $alt_date = new JalaliDate($cal_date->minJD + $d - 1);
+ $alt_date = new JalaliDate($cal_date->minimumJulianDay() + $d - 1);
break;
default:
break 2;
@@ -449,7 +449,7 @@ class CalendarController extends AbstractBaseController
echo '</div>';
}
echo '</td>';
- if (($d + $cal_date->minJD - $week_start) % $days_in_week === 0) {
+ if (($d + $cal_date->minimumJulianDay() - $week_start) % $days_in_week === 0) {
echo '</tr>';
}
}