summaryrefslogtreecommitdiff
path: root/includes/view/Rooms_view.php
blob: 1e8ae4d2ac213936c7ab7e817a6ccea5225c7592 (plain)
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
<?php
use Engelsystem\ShiftCalendarRenderer;
use Engelsystem\ShiftsFilterRenderer;

/**
 *
 * @param array $room            
 * @param ShiftsFilterRenderer $shiftsFilterRenderer            
 * @param ShiftCalendarRenderer $shiftCalendarRenderer            
 * @return string
 */
function Room_view($room, ShiftsFilterRenderer $shiftsFilterRenderer, ShiftCalendarRenderer $shiftCalendarRenderer)
{
    global $user;
    
    $assignNotice = '';
    if (config('signup_requires_arrival') && ! $user['Gekommen']) {
        $assignNotice = info(render_user_arrived_hint(), true);
    }
    
    $description = '';
    if (! empty($room['description'])) {
        $description = '<h3>' . _('Description') . '</h3>';
        $parsedown = new Parsedown();
        $description .= '<div class="well">' . $parsedown->parse($room['description']) . '</div>';
    }
    
    $tabs = [];
    if (! empty($room['map_url'])) {
        $tabs[_('Map')] = '<div class="map"><iframe style="width: 100%; min-height: 400px; border: 0px none;" src="' . $room['map_url'] . '"></iframe></div>';
    }
    
    $tabs[_('Shifts')] = div('first', [
        $shiftsFilterRenderer->render(page_link_to('rooms', [
            'action' => 'view',
            'room_id' => $room['RID']
        ])),
        $shiftCalendarRenderer->render()
    ]);
    
    $selected_tab = 0;
    $request = request();
    if ($request->has('shifts_filter_day')) {
        $selected_tab = count($tabs) - 1;
    }
    
    return page_with_title(glyph('map-marker') . $room['Name'], [
        $assignNotice,
        $description,
        tabs($tabs, $selected_tab)
    ]);
}

/**
 *
 * @param array $room            
 * @return string
 */
function Room_name_render($room)
{
    global $privileges;
    if (in_array('view_rooms', $privileges)) {
        return '<a href="' . room_link($room) . '">' . glyph('map-marker') . $room['Name'] . '</a>';
    }
    return glyph('map-marker') . $room['Name'];
}