egroupware/calendar/viewmatrix.php

95 lines
3.2 KiB
PHP
Raw Normal View History

2000-11-22 05:16:18 +01:00
<?php
/**************************************************************************\
* phpGroupWare - Calendar *
* http://www.phpgroupware.org *
* Based on Webcalendar by Craig Knudsen <cknudsen@radix.net> *
* http://www.radix.net/~cknudsen *
2001-01-17 13:35:43 +01:00
* Written by Mark Peters <skeeter@phpgroupware.org> *
2000-11-22 05:16:18 +01:00
* -------------------------------------------- *
* 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$ */
2000-11-22 05:16:18 +01:00
$phpgw_flags = Array(
'currentapp' => 'calendar',
'enable_nextmatchs_class' => True,
);
2000-12-10 17:03:08 +01:00
$phpgw_info['flags'] = $phpgw_flags;
2000-11-24 14:54:49 +01:00
include('../header.inc.php');
2000-11-22 05:16:18 +01:00
2001-03-03 04:55:01 +01:00
// $date = $thisyear;
// $date .= ($thismonth<=9?"0":"").$thismonth;
// $date .= ($thisday<=9?"0":"").$thisday;
2000-12-29 19:06:01 +01:00
$parts = Array();
2001-03-03 04:55:01 +01:00
$acct = CreateObject('phpgwapi.accounts');
for($i=0;$i<count($participants);$i++)
{
switch ($phpgw->accounts->get_type($participants[$i]))
{
case 'g':
$members = $acct->members(intval($participants[$i]));
while($members != False && $member = each($members))
{
2001-03-03 04:55:01 +01:00
if(!!($grants[$member[1]['account_id']] & PHPGW_ACL_READ == True) && !isset($parts[$member[1]['account_id']]))
{
$parts[$member[1]['account_id']] = 1;
}
}
break;
case 'u':
2001-03-03 04:55:01 +01:00
if(!!($grants[$participants[$i]] & PHPGW_ACL_READ == True) && !isset($parts[$participants[$i]]))
{
$parts[$participants[$i]] = 1;
}
break;
}
}
2001-03-03 04:55:01 +01:00
unset($acct);
2000-11-24 13:57:45 +01:00
$participants = Array();
reset($parts);
while($part = each($parts))
{
$participants[] = $part[0];
2000-11-26 21:10:35 +01:00
}
reset($participants);
2000-12-10 17:03:08 +01:00
switch($matrixtype)
{
case 'free/busy':
2001-03-03 04:55:01 +01:00
$freetime = $phpgw->calendar->makegmttime(0,0,0,$thismonth,$thisday,$thisyear);
echo $phpgw->calendar->timematrix($freetime,$phpgw->calendar->splittime('000000'),0,$participants);
break;
case 'weekly':
echo $phpgw->calendar->display_large_week($thisday,$thismonth,$thisyear,true,$participants);
break;
}
2001-03-03 04:55:01 +01:00
echo "\n".'<center>'."\n";
echo ' <form action="'.$phpgw->link('viewmatrix.php').'" method="post" name="matrixform" target="viewmatrix">'."\n";
echo ' <input type="hidden" name="year" value="'.$thisyear.'">'."\n";
echo ' <input type="hidden" name="month" value="'.$thismonth.'">'."\n";
echo ' <input type="hidden" name="day" value="'.$thisday.'">'."\n";
echo ' <input type="hidden" name="matrixtype" value="'.$matrixtype.'">'."\n";
for ($i=0;$i<count($participants);$i++)
{
2001-03-03 04:55:01 +01:00
echo ' <input type="hidden" name="participants[]" value="'.$participants[$i].'">'."\n";
}
if(isset($filter) && $filter)
{
2001-03-03 04:55:01 +01:00
echo ' <input type="hidden" name="filter" value="'.$filter.'">'."\n";
}
2001-03-03 04:55:01 +01:00
echo ' <input type="submit" value="Refresh">'."\n";
echo ' </form>'."\n";
echo '</center>'."\n";
$phpgw->common->phpgw_footer();
2000-11-22 05:16:18 +01:00
?>