egroupware/calendar/view.php
2001-02-14 02:58:46 +00:00

224 lines
6.8 KiB
PHP
Executable File

<?php
/**************************************************************************\
* phpGroupWare - Calendar *
* http://www.phpgroupware.org *
* Based on Webcalendar by Craig Knudsen <cknudsen@radix.net> *
* http://www.radix.net/~cknudsen *
* Modified by Mark Peters <skeeter@phpgroupware.org> *
* -------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
\**************************************************************************/
/* $Id$ */
$phpgw_flags = array(
'currentapp' => 'calendar',
'enable_nextmatchs_class' => True
);
$phpgw_info["flags"] = $phpgw_flags;
include('../header.inc.php');
if(! ($rights & PHPGW_ACL_READ))
{
echo lang('You do not have permission to read this record');
$phpgw->common->phpgw_exit();
}
if ($id < 1)
{
echo lang("Invalid entry id.");
$phpgw->common->phpgw_exit();
}
function add_day(&$repeat_days,$day)
{
if($repeat_days) $repeat_days .= ", ";
$repeat_days .= $day;
}
function display_item($field,$data) {
global $phpgw;
$phpgw->template->set_var('field',$field);
$phpgw->template->set_var('data',$data);
$phpgw->template->parse('output','list',True);
}
$pri = Array(
1 => lang('Low'),
2 => lang('Normal'),
3 => lang('High')
);
$db = $phpgw->db;
$unapproved = FALSE;
$cal = $phpgw->calendar->getevent(intval($id));
$cal_info = $cal[0];
reset($cal_info->participants);
$participating = False;
while($participant = each($cal_info->participants))
{
if($participant[1] == $owner)
{
$participating = True;
break;
}
}
if($cal_info->owner != $phpgw_info['user']['account_id'] || $participating == False)
{
echo lang('You do not have permission to read this record');
$phpgw->common->phpgw_exit();
}
$description = nl2br($description);
$templates = Array(
'view_begin' => 'view.tpl',
'list' => 'list.tpl',
'view_end' => 'view.tpl',
'form_button' => 'form_button_script.tpl'
);
$phpgw->template->set_file($templates);
$phpgw->template->set_block('view_begin','list','view_end','form_button');
$phpgw->template->set_var('bg_text',$phpgw_info['theme']['bg_text']);
$phpgw->template->set_var('name',$cal_info->name);
$phpgw->template->parse('out','view_begin');
// Some browser add a \n when its entered in the database. Not a big deal
// this will be printed even though its not needed.
if (nl2br($cal_info->description)) {
display_item(lang("Description"),nl2br($cal_info->description));
}
display_item(lang('Start Date/Time'),$phpgw->common->show_date($cal_info->datetime));
// save date so the trailer links are for the same time period
$thisyear = (int)$cal_info->year;
$thismonth = (int)$cal_info->month;
$thisday = (int)$cal_info->day;
display_item(lang('End Date/Time'),$phpgw->common->show_date($cal_info->edatetime));
display_item(lang('Priority'),$pri[$cal_info->priority]);
$phpgw->template->set_var('field',lang('Created by'));
$participate = False;
for($i=0;$i<count($cal_info->participants);$i++) {
if($cal_info->participants[$i] == $phpgw_info['user']['account_id']) {
$participate = True;
}
}
if($cal_info->owner == $phpgw_info['user']['account_id'] && $participate)
{
display_item(lang('Created by'),'<a href="'
.$phpgw->link('viewmatrix.php','participants='.$cal_info->owner.'&date='.$cal_info->year.$cal_info->month.$cal_info->day.'&matrixtype=free/busy&owner='.$owner)
.'">'.$phpgw->common->grab_owner_name($cal_info->owner).'</a>');
}
else
{
display_item(lang('Created by'),$phpgw->common->grab_owner_name($cal_info->owner));
}
display_item(lang('Updated'),$phpgw->common->show_date($cal_info->mdatetime));
if($cal_info->groups[0]) {
$cal_grps = '';
for($i=0;$i<count($cal_info->groups);$i++) {
if($i>0) $cal_grps .= '<br>';
$cal_grps .= $phpgw->accounts->id2name($cal_info->groups[$i]);
}
display_item(lang('Groups'),$cal_grps);
}
$str = '';
for($i=0;$i<count($cal_info->participants);$i++) {
if($i) $str .= '<br>';
$str .= $phpgw->common->grab_owner_name($cal_info->participants[$i]);
}
display_item(lang('Participants'),$str);
// Repeated Events
$str = $cal_info->rpt_type;
if($str <> 'none' || $cal_info->rpt_use_end) {
$str .= ' (';
if($cal_info->rpt_use_end)
{
$str .= lang('ends').': '.$phpgw->common->show_date($cal_info->rpt_end,'l, F d, Y').' ';
}
if($cal_info->rpt_type == 'weekly' || $cal_info->rpt_type == 'daily')
{
$repeat_days = '';
if ($cal_info->rpt_sun)
{
add_day($repeat_days,lang('Sunday '));
}
if ($cal_info->rpt_mon)
{
add_day($repeat_days,lang('Monday '));
}
if ($cal_info->rpt_tue)
{
add_day($repeat_days,lang('Tuesay '));
}
if ($cal_info->rpt_wed)
{
add_day($repeat_days,lang('Wednesday '));
}
if ($cal_info->rpt_thu)
{
add_day($repeat_days,lang('Thursday '));
}
if ($cal_info->rpt_fri)
{
add_day($repeat_days,lang('Friday '));
}
if ($cal_info->rpt_sat)
{
add_day($repeat_days,lang('Saturday '));
}
$str .= lang('days repeated').': '.$repeat_days;
}
if($cal_info->rpt_freq) $str .= lang('frequency').' '.$cal_info->rpt_freq;
$str .= ')';
display_item(lang('Repetition'),$str);
}
if ($rights & PHPGW_ACL_EDIT)
{
$phpgw->template->set_var('action_url_button',$phpgw->link('edit_entry.php','id='.$id.'&owner='.$owner));
$phpgw->template->set_var('action_text_button',' '.lang('Edit').' ');
$phpgw->template->set_var('action_confirm_button','');
$phpgw->template->parse('edit_button','form_button');
}
else
{
$phpgw->template->set_var('edit_button','');
}
if ($rights & PHPGW_ACL_DELETE)
{
$phpgw->template->set_var('action_url_button',$phpgw->link('delete.php','id='.$id.'&owner='.$owner));
$phpgw->template->set_var('action_text_button',lang('Delete'));
$phpgw->template->set_var('action_confirm_button',"onClick=\"return confirm('".lang("Are you sure\\nyou want to\\ndelete this entry ?\\n\\nThis will delete\\nthis entry for all users.")."')\"");
$phpgw->template->parse('delete_button','form_button');
}
else
{
$phpgw->template->set_var('delete_button','');
}
$phpgw->template->pparse('out','view_end');
$phpgw->common->phpgw_footer();
?>