1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
<?
$width1 = 0;
$width2 = 0;
$cols = ceil(($settings['end'] - $settings['start'] + 1) * 3600 / $settings['step_week_group']) + 1;
$start = $settings['start'] * 3600;
$end = ($settings['end'] + 1) * 3600;
$wlength = count($calendars[0]) - 1;
?>
<table style="width: 100%">
<tr>
<td colspan="<?= $colspan_2 ?>" style="vertical-align: middle; text-align: center;">
<div style="text-align: left; width: 25%; display: inline-block; white-space: nowrap;">
<a href="<?= $controller->url_for('calendar/group/week', ['atime' => mktime(12, 0, 0, date('n', $atime), date('j', $atime) - 7, date('Y', $atime))]) ?>">
<?= Icon::create('arr_1left', 'clickable', ['title' => _('Eine Woche zurück')])->asImg(16, ['style' => 'vertical-align: text-top;']) ?>
<?= sprintf(_('%u. Woche'), strftime('%V'), strtotime('-1 week', $atime)) ?>
</a>
</div>
<div style="display: inline-block; text-align: center;" class="calhead">
<? printf(_("%s. Woche vom %s bis %s"), strftime("%V", $calendars[0][0]->getStart()), strftime("%x", $calendars[0][0]->getStart()), strftime("%x", $calendars[0][$wlength]->getEnd())) ?>
</div>
<div style="width: 25%; text-align: right; display: inline-block; white-space: nowrap;">
<a href="<?= $controller->url_for('calendar/group/week', ['atime' => mktime(12, 0, 0, date('n', $atime), date('j', $atime) + 7, date('Y', $atime))]) ?>">
<?= sprintf(_('%u. Woche'), strftime('%V', strtotime('+1 week', $atime))) ?>
<?= Icon::create('arr_1right', 'clickable', ['title' => _('Eine Woche vor')])->asImg(16, ["style" => 'vertical-align: text-top;']) ?>
</a>
</div>
</td>
</tr>
</table>
<div style="overflow:auto; width:100%;">
<table id="main_content" style="width: 100%;">
<thead>
<tr>
<td width="<?= $width2 ?>%" class="precol1w"> </td>
<? $time = $calendars[0][0]->getStart(); ?>
<? for ($i = 0; $i <= $wlength; $i++) : ?>
<td colspan="<?= $cols ?>" style="text-align: center;" class="precol1w">
<a href="<?= $controller->url_for('calendar/group/day/' . $this->range_id, ['atime' => $time]) ?>" class="calhead">
<?= strftime('%a', $time) . ' ' . date('d', $time) ?>
</a>
</td>
<? $time += 86400; ?>
<? endfor ?>
</tr>
<tr>
<td width="<?= $width2 ?>%" class="precol1w" style="text-align: center;">
<?= _('Mitglied') ?>
</td>
<? foreach ($calendars[0] as $day) : ?>
<td class="precol1w" style="text-align: center; width: <?= $width1 ?>%;">
<a data-dialog="size=auto" title="<?= strftime(_('Neuer Tagestermin am %x'), $day->getStart()) ?>" href="<?= $controller->url_for('calendar/group/edit/' . $range_id, ['atime' => $day->getStart(), 'isdayevent' => '1']) ?>">
<?= Icon::create('schedule', 'clickable')->asImg() ?>
</a>
</td>
<? for ($i = $day->getStart() + $start; $i < $day->getStart() + $end; $i += 3600 * ceil($settings['step_week_group'] / 3600)) : ?>
<td colspan="<?= ceil(3600 / $settings['step_week_group']) ?>" class="precol2w" style="text-align: center;">
<a data-dialog="size=auto" title="<?= strftime(_('Neuer Termin um %R Uhr'), $i) ?>" href="<?= $controller->url_for('calendar/group/edit/' . $range_id, ['atime' => $i]) ?>" class="calhead">
<?= (date('G', $i) < 10 ? ' ' . date('G', $i) . ' ' : date('G', $i)) ?>
</a>
</td>
<? endfor ?>
<? endforeach ?>
</tr>
</thead>
<tbody>
<? foreach ($calendars as $user_calendar) : ?>
<tr>
<td style="width: <?= $width2 ?>%; white-space: nowrap;" class="month">
<a class="calhead" href="<?= $controller->url_for('calendar/single/week/' . $user_calendar[0]->getRangeId(), ['atime' => $atime]) ?>">
<?= htmlReady($user_calendar[0]->havePermission(Calendar::PERMISSION_OWN) ? _('Eigener Kalender') : get_fullname($user_calendar[0]->getRangeId(), 'no_title_short')) ?>
</a>
</td>
<? $k = 1; ?>
<? foreach ($user_calendar as $day) : ?>
<?
if (date('Ymd', $day->getStart()) == date('Ymd')) {
$css_class = 'celltoday';
} else {
if ($k % 2) {
$css_class = 'lightmonth';
} else {
$css_class = 'month';
}
}
$k++;
$adapted = $day->adapt_events($start, $end, $settings['step_week_group']);
// display day events
$js_events = []; ?>
<? for ($i = 0; $i < count($adapted['day_events']); $i++) : ?>
<? $js_events[] = $day->events[$adapted['day_map'][$i]]; ?>
<? endfor; ?>
<? if (count($js_events) && $day->havePermission(Calendar::PERMISSION_WRITABLE)) : ?>
<td <?= count($js_events) ? 'data-tooltip ' : '' ?>style="text-align: right; width: <?= $width1 ?>%" class="calendar-day-edit <?= $css_class ?><?= count($js_events) ? ' calendar-group-events' : '' ?>">
<?= $this->render_partial('calendar/group/_tooltip', ['calendar' => $day, 'events' => $js_events]) ?>
<a title="<?= strftime(_('Neuer Tagestermin am %x'), $day->getStart()) ?>" href="<?= $controller->url_for('calendar/group/edit/' . $range_id, ['atime' => $day->getStart(), 'isdayevent' => '1', 'user_id' => $day->getRangeId()]) ?>">+</a>
<? else : ?>
<td <?= count($js_events) ? 'data-tooltip ' : '' ?>style="text-align: right; width: <?= $width1 ?>%" class="<?= $css_class ?><?= count($js_events) ? ' calendar-group-events' : '' ?>">
<?= $this->render_partial('calendar/group/_tooltip', ['calendar' => $day, 'events' => $js_events]) ?>
<? endif;?>
</td>
<? for ($i = $start + $day->getStart(); $i < $end + $day->getStart(); $i += $settings['step_week_group']) : ?>
<? $js_events = []; ?>
<? for ($j = 0; $j < count($adapted['events']); $j++) : ?>
<? if (($adapted['events'][$j]->getStart() <= $i && $adapted['events'][$j]->getEnd() > $i) || ($adapted['events'][$j]->getStart() > $i && $adapted['events'][$j]->getStart() < $i + $settings['step_week_group'])) : ?>
<? $js_events[] = $day->events[$adapted['map'][$j]]; ?>
<? endif ?>
<? endfor ?>
<? if ($day->havePermission(Calendar::PERMISSION_WRITABLE)) : ?>
<td <?= count($js_events) ? 'data-tooltip ' : '' ?>style="text-align: right; width: <?= $width1 ?>%" class="calendar-day-edit <?= $css_class ?><?= count($js_events) ? ' calendar-group-events' : '' ?>">
<?= $this->render_partial('calendar/group/_tooltip', ['calendar' => $day, 'events' => $js_events]) ?>
<a title="<?= strftime(_('Neuer Termin um %R Uhr'), $i) ?>" href="<?= $controller->url_for('calendar/group/edit/' . $range_id, ['atime' => $i, 'user_id' => $day->getRangeId()]) ?>">+</a>
<? else : ?>
<td <?= count($js_events) ? 'data-tooltip ' : '' ?>style="text-align: right; width: <?= $width1 ?>%" class="<?= $css_class ?><?= count($js_events) ? ' calendar-group-events' : '' ?>">
<?= $this->render_partial('calendar/group/_tooltip', ['calendar' => $day, 'events' => $js_events]) ?>
<? endif; ?>
</td>
<? endfor; ?>
<? endforeach; ?>
</tr>
<? endforeach; ?>
</tbody>
<tfoot>
<tr>
<td style="width:<?= $width2 ?>%; text-align: center;" class="precol1"> </td>
<? foreach ($calendars[0] as $day) : ?>
<td style="width:<?= $width1 ?>%; text-align: center;" class="precol1w">
<a data-dialog="size=auto" title="<?= strftime(_('Neuer Tagestermin am %x'), $day->getStart()) ?>" href="<?= $controller->url_for('calendar/group/edit/' . $range_id, ['atime' => $atime, 'isdayevent' => '1']) ?>">
<?= Icon::create('schedule', 'clickable')->asImg() ?>
</a>
</td>
<? for ($i = $day->getStart() + $start; $i < $day->getStart() + $end; $i += 3600 * ceil($settings['step_week_group'] / 3600)) : ?>
<td colspan="<?= ceil(3600 / $settings['step_week_group']) ?>" class="precol2w" style="text-align: center;">
<a data-dialog="size=auto" title="<?= strftime(_('Neuer Termin um %R Uhr'), $i) ?>" href="<?= $controller->url_for('calendar/group/edit/' . $range_id, ['atime' => $i]) ?>" class="calhead">
<?= (date('G', $i) < 10 ? ' ' . date('G', $i) . ' ' : date('G', $i)) ?>
</a>
</td>
<? endfor; ?>
<? endforeach; ?>
</tr>
</tfoot>
</table>
</div>
|