Changeset:
1a178d511adc
https://sourceforge.net/p/mrbs/hg-code/ci/1a178d511adc6d0713a87b42da2339690d0ee1d4
Author:
Campbell Morrison <[email protected]>
Date:
Wed Mar 15 09:20:34 2017 +0000
Log message:
Changed calculation of whether a day is a weeekend day to use $working_days,
instead of Saturday and Sunday, to allow for locales, eg Saudi Arabia, where
the weekend does not fall on Sat and Sun.
diffstat:
web/functions.inc | 21 ++++++++++++++++++++-
web/mincals.inc | 25 ++++++++++++-------------
2 files changed, 32 insertions(+), 14 deletions(-)
diffs (88 lines):
diff -r f279a0acaebb -r 1a178d511adc web/functions.inc
--- a/web/functions.inc Wed Mar 15 00:03:42 2017 +0000
+++ b/web/functions.inc Wed Mar 15 09:20:34 2017 +0000
@@ -2785,13 +2785,32 @@
return (int) $diff;
}
+
// checks whether a given day of the week is supposed to be hidden in the
display
-function is_hidden_day ($dow)
+function is_hidden_day($dow)
{
global $hidden_days;
+
return (isset($hidden_days) && in_array($dow, $hidden_days));
}
+
+// checks whether a given day of the week is a weekend day
+function is_weekend($dow)
+{
+ global $working_days;
+
+ // We are using $working_days to define weekdays and therefore weekend
+ // days. This may not be correct as people might want to define a weekend
+ // day (eg Saturday) to be a working day.
+
+ // An alternative could be to use IntlCalendar::getDayOfWeekType(), but
+ // that isn't available on all systems.
+
+ return !in_array($dow, $working_days);
+}
+
+
// returns true if event should be considered private based on
// config settings and event's privacy status (passed to function)
function is_private_event($privacy_status)
diff -r f279a0acaebb -r 1a178d511adc web/mincals.inc
--- a/web/mincals.inc Wed Mar 15 00:03:42 2017 +0000
+++ b/web/mincals.inc Wed Mar 15 09:20:34 2017 +0000
@@ -139,10 +139,9 @@
}
for ($i = 0; $i < 7; $i++)
{
- $currentday = gmmktime (12, 0, 0, $this->month, $d, $this->year);
- $baseclass = ((date('w', $currentday) == 0) ||
- (date('w', $currentday) == 6)) ? "day_weekend" :
"day_weekday";
- $hide_this_day = is_hidden_day(($i + $weekstarts) % 7);
+ $day_of_week = ($i + $weekstarts) % 7;
+ $baseclass = is_weekend($day_of_week) ? "day_weekend" : "day_weekday";
+ $hide_this_day = is_hidden_day($day_of_week);
if ($hide_this_day)
{
@@ -309,24 +308,24 @@
{
global $weekstarts, $strftime_format;
- $basetime = mktime(12,0,0,6,11+$weekstarts,2000);
+ $basetime = mktime(12, 0, 0, 6, 11+$weekstarts, 2000);
+
for ($i = 0, $s = ""; $i < 7; $i++)
{
$show = $basetime + ($i * SECONDS_PER_DAY);
$fl = utf8_strftime($strftime_format['dayname_cal'], $show);
- $baseclass = ((date('w', $show) == 0) ||
- (date('w', $show) == 6)) ? "day_weekend" : "day_weekday";
+ $day_of_week = ($i + $weekstarts) % 7;
+ $baseclass = is_weekend($day_of_week) ? "day_weekend" : "day_weekday";
// add a class if it's a hidden day so that we can apply special styling
- if (is_hidden_day(($i + $weekstarts) % 7))
+ if (is_hidden_day($day_of_week))
{
- $s .= "<th class=\"$baseclass hidden\">$fl</th>\n";
+ $baseclass .= " hidden";
}
- else
- {
- $s .= "<th class=\"$baseclass\">$fl</th>\n";
- }
+
+ $s .= "<th class=\"$baseclass\">$fl</th>\n";
}
+
return $s;
}
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mrbs-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mrbs-commits