File: viewevent.php

package info (click to toggle)
kronolith2 2.1.4-1etch1
  • links: PTS
  • area: main
  • in suites: etch
  • size: 5,560 kB
  • ctags: 2,171
  • sloc: php: 8,755; xml: 1,049; sql: 258; makefile: 65
file content (145 lines) | stat: -rw-r--r-- 5,183 bytes parent folder | download | duplicates (2)
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
145
<?php
/**
 * $Horde: kronolith/viewevent.php,v 1.49.2.12 2006/03/03 23:00:29 chuck Exp $
 *
 * Copyright 1999-2006 Charles J. Hagenbuch <chuck@horde.org>
 *
 * See the enclosed file COPYING for license information (GPL).  If you
 * did not receive this file, see http://www.fsf.org/copyleft/gpl.html.
 */

@define('KRONOLITH_BASE', dirname(__FILE__));
require_once KRONOLITH_BASE . '/lib/base.php';
require_once 'Horde/Text.php';

if (Util::getFormData('calendar') == '**remote') {
    $event = Kronolith::getRemoteEventObject(Util::getFormData('remoteCal'),
                                             Util::getFormData('eventID'));
} elseif ($uid = Util::getFormData('uid')) {
    $event = &$kronolith->getByUID($uid);
} else {
    $kronolith->open(Util::getFormData('calendar'));
    $event = &$kronolith->getEvent(Util::getFormData('eventID'));
}
if (!$event) {
    if (($url = Util::getFormData('url')) === null) {
        $url = Horde::applicationUrl($prefs->getValue('defaultview') . '.php',
                                     true);
    }
    header('Location: ' . $url);
    exit;
}

/* Get the event's history. */
if ($event->getUID()) {
    $history = &Horde_History::singleton();
    $log = $history->getHistory('kronolith:' . $event->getCalendar() . ':' .
                                $event->getUID());
    if ($log && !is_a($log, 'PEAR_Error')) {
        foreach ($log->getData() as $entry) {
            switch ($entry['action']) {
            case 'add':
                $created = $entry['ts'];
                break;

            case 'modify':
                $modified = $entry['ts'];
                break;
            }
        }
    }
}

$category = $event->getCategory();
$description = $event->getDescription();
$location = $event->getLocation();
$status = Kronolith::statusToString($event->getStatus());
$attendees = $event->getAttendees();

if ($conf['metadata']['keywords']) {
    include KRONOLITH_BASE . '/config/keywords.php';
    $keyword_list = array();
    foreach ($keywords as $cat => $list) {
        $sub_list = array();
        foreach ($list as $entry) {
            if ($event->hasKeyword($entry)) {
                $sub_list[] = htmlspecialchars($entry);
            }
        }
        if (count($sub_list)) {
            $keyword_list[$cat] = $sub_list;
        }
    }
}

if ($timestamp = (int)Util::getFormData('timestamp')) {
    $month = date('n', $timestamp);
    $year = date('Y', $timestamp);
} else {
    $month = (int)Util::getFormData('month', date('n'));
    $year = (int)Util::getFormData('year', date('Y'));
}

$title = $event->getTitle();
$print_view = (bool)Util::getFormData('print');
if (!$print_view) {
    Horde::addScriptFile('popup.js', 'horde', true);
    Horde::addScriptFile('stripe.js', 'kronolith', true);
}
require KRONOLITH_TEMPLATES . '/common-header.inc';

if ($print_view) {
    require_once $registry->get('templates', 'horde') . '/javascript/print.js';
} else {
    $print_link = Util::addParameter(Horde::selfUrl(true), 'print', 'true');
    require KRONOLITH_TEMPLATES . '/menu.inc';
}

$mylinks = array();
$isRemote = Util::getFormData('calendar') == '**remote';

if (!$isRemote &&
    $all_calendars[$event->getCalendar()]->hasPermission(Auth::getAuth(),
                                                         PERMS_DELETE,
                                                         $event->getCreatorID())) {
    $delurl = Util::addParameter('delevent.php',
                                 array('eventID' => $event->getID(),
                                       'calendar' => $event->getCalendar(),
                                       'timestamp' => $timestamp));
    $delurl = Horde::applicationUrl($delurl);
    if ($url = Util::getFormData('url')) {
        $delurl = Util::addParameter($delurl, 'url', $url);
    }
    $mylinks[] = Horde::widget($delurl, '', '', '', '', _("De_lete"));
}

if ($isRemote ||
    $all_calendars[$event->getCalendar()]->hasPermission(Auth::getAuth(),
                                                         PERMS_EDIT,
                                                         $event->getCreatorID())) {
    $editurl = Util::addParameter('editevent.php',
                                  array('eventID' => $event->getID(),
                                        'calendar' => $isRemote ? '**remote' : $event->getCalendar(),
                                        'timestamp' => $timestamp));
    if ($isRemote) {
        $editurl = Util::addParameter($editurl, 'remoteCal', $event->remoteCal);
    }
    if ($url = Util::getFormData('url')) {
        $editurl = Util::addParameter($editurl, 'url', $url);
    } else {
        $editurl = Util::addParameter($editurl, 'url', Horde::selfUrl(true));
    }
    $editurl = Horde::applicationUrl($editurl);

    if ($isRemote) {
        $mylinks[] = Horde::widget($editurl, '', '', '', '', _("Save As New"));
    } else {
        $mylinks[] = Horde::widget($editurl, '', '', '', '', _("_Edit"));
    }
}

// Determine owner's name.
$owner = Kronolith::getUserName($event->getCreatorID());

require KRONOLITH_TEMPLATES . '/view/view.inc';
require $registry->get('templates', 'horde') . '/common-footer.inc';