[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] calendar/inc class.uicalendar.inc.php,1.119
From: |
skwashd |
Subject: |
[Phpgroupware-cvs] calendar/inc class.uicalendar.inc.php,1.119 |
Date: |
Thu, 8 Dec 2005 07:24:00 +0100 |
Update of calendar/inc
Modified Files:
Branch: MAIN
class.uicalendar.inc.php lines: +66 -52
Log Message:
fix planner view and matrix selection, also switched to jscal for matrix date
====================================================
Index: calendar/inc/class.uicalendar.inc.php
diff -u calendar/inc/class.uicalendar.inc.php:1.118
calendar/inc/class.uicalendar.inc.php:1.119
--- calendar/inc/class.uicalendar.inc.php:1.118 Tue Dec 6 10:42:26 2005
+++ calendar/inc/class.uicalendar.inc.php Thu Dec 8 06:24:18 2005
@@ -1345,27 +1345,21 @@
function set_planner_group_members()
{
- $type =
$GLOBALS['phpgw']->accounts->get_type($this->bo->owner);
-
- if ($type == 'g') // display schedule of all group
members
+ $this->planner_group_members = array();
+ if (is_array($this->bo->g_owner) &&
count($this->bo->g_owner) ) // display schedule of all group members
{
- $members = array();
- $ids =
$GLOBALS['phpgw']->acl->get_ids_for_location($this->bo->owner, 1,
'phpgw_group');
- while (list(,$id) = each($ids))
+ foreach ( $this->bo->g_owner as $id)
{
if
($this->bo->check_perms(PHPGW_ACL_READ,0,$id))
{
-
$members[$GLOBALS['phpgw']->common->grab_owner_name($id)] = $id;
+
$this->planner_group_members[$this->bo->contacts->get_name_of_person_id($id)] =
$id;
}
}
- ksort($members);
- $this->planner_group_members = $members;
+ ksort($this->planner_group_members);
}
else
{
- $this->planner_group_members = array(
-
$GLOBALS['phpgw']->common->grab_owner_name($this->bo->owner) => $this->bo->owner
- );
+
$this->planner_group_members[$this->bo->contacts->get_name_of_person_id($this->bo->owner)]
= $this->bo->owner;
}
}
@@ -1392,6 +1386,7 @@
//
if (!
$this->bo->prefs['calendar']['planner_intervals_per_day'])
{
+
$GLOBALS['phpgw']->preferences->read_repository();
$GLOBALS['phpgw']->preferences->add('calendar','planner_intervals_per_day',3);
$GLOBALS['phpgw']->preferences->save_repository();
$this->bo->prefs['calendar']['planner_intervals_per_day'] = 3;
@@ -1455,11 +1450,11 @@
&&
!$this->bo->check_perms(PHPGW_ACL_ADD)
||
!$this->bo->check_perms(PHPGW_ACL_ADD,0,$this->bo->save_owner))
{
- $add_owner = array('owner' =>
$this->contacts->is_contact($GLOBALS['phpgw_info']['user']['account_id']));
+ $add_owner = array('owner' =>
$this->bo->contacts->is_contact($GLOBALS['phpgw_info']['user']['account_id']));
}
else
{
- $add_owner = array('owner' =>
$this->bo->save_onwer);
+ $add_owner = array('owner' =>
$this->bo->save_owner);
}
for ($d=1; $d<=$days; $d++)
@@ -1915,6 +1910,7 @@
$datetime =
mktime(0,0,0,$this->bo->month,$this->bo->day,$this->bo->year) -
$GLOBALS['phpgw']->datetime->tz_offset;
$sb = CreateObject('phpgwapi.sbox');
+ $jscal = CreateObject('phpgwapi.jscalendar');
unset($GLOBALS['phpgw_info']['flags']['noheader']);
unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
@@ -1938,14 +1934,11 @@
));
// Date
- $var[] = Array(
- 'field' => lang('Date'),
- 'data' =>
$GLOBALS['phpgw']->common->dateformatorder(
-
$sb->getYears('year',intval($GLOBALS['phpgw']->common->show_date($datetime,'Y')),intval($GLOBALS['phpgw']->common->show_date($datetime,'Y'))),
-
$sb->getMonthText('month',intval($GLOBALS['phpgw']->common->show_date($datetime,'n'))),
-
$sb->getDays('day',intval($GLOBALS['phpgw']->common->show_date($datetime,'d')))
- )
- );
+ $var[] = array
+ (
+ 'field' => lang('Date'),
+ 'data' => $jscal->input('date_select',
$datetime)
+ );
// View type
$var[] = Array(
@@ -1957,29 +1950,42 @@
);
// Participants
- $accounts =
$GLOBALS['phpgw']->acl->get_ids_for_location('run',1,'calendar');
- $users = Array();
- for($i=0;$i<count($accounts);$i++)
+ $accounts =
$GLOBALS['phpgw']->acl->get_ids_for_location('run', 1, 'calendar');
+ if ( !is_array($accounts) )
{
- $user = $accounts[$i];
- if(!isset($users[$user]))
+ $accounts = array();
+ }
+ $users = array();
+ foreach ( $accounts as $user )
+ {
+ if (
$GLOBALS['phpgw']->accounts->get_type($user) == 'g' )
{
- $users[$user] =
$GLOBALS['phpgw']->common->grab_owner_name($user);
-
if($GLOBALS['phpgw']->accounts->get_type($user) == 'g')
+ if ( !isset($users["g_{$user}"]) )
{
+ $users["g_{$user}"] =
$GLOBALS['phpgw']->common->grab_owner_name($user);
$group_members =
$GLOBALS['phpgw']->acl->get_ids_for_location($user,1,'phpgw_group');
- if($group_members != False)
+ if ( is_array($group_members)
&& count($group_members) )
{
-
for($j=0;$j<count($group_members);$j++)
+ foreach (
$group_members as $member )
{
-
if(!isset($users[$group_members[$j]]))
+ $person_id =
intval($this->bo->contacts->is_contact($member));
+ if ( $person_id
> 0 && !isset($users[$person_id]) )
{
-
$users[$group_members[$j]] =
$GLOBALS['phpgw']->common->grab_owner_name($group_members[$j]);
+
$users[$person_id] = $this->bo->contacts->get_name_of_person_id($person_id);
}
}
}
}
}
+ else
+ {
+ $person_id =
intval($this->bo->contacts->is_contact($user));
+ if ( $person_id > 0 &&
!isset($users[$person_id]) )
+ {
+ $users[$person_id] =
$this->bo->contacts->get_name_of_person_id($person_id);
+ }
+ }
+ echo '<br />';
}
$num_users = count($users);
@@ -1996,21 +2002,24 @@
{
$size = $num_users;
}
- $str = '';
+ $groups = $usrs = '';
@asort($users);
- @reset($users);
- while ($user = each($users))
+ foreach ( $users as $user_id => $user )
{
-
if(($GLOBALS['phpgw']->accounts->exists($user[0]) &&
$this->bo->check_perms(PHPGW_ACL_READ,0,$user[0])) ||
$GLOBALS['phpgw']->accounts->get_type($user[0]) == 'g')
+ if( strpos($user_id, 'g') !== false )
{
- $prefix =
$GLOBALS['phpgw']->accounts->get_type($user[0]) == 'g' ? 'g_' : '';
- $str .= ' <option
value="'.$prefix.$user[0].'">('.$GLOBALS['phpgw']->accounts->get_type($user[0]).')
'.$user[1].'</option>'."\n";
+ $groups .= "\t<option
value=\"$user_id\">$user [g]</option>\n";
+ }
+ else if( $this->bo->check_perms(PHPGW_ACL_READ,
0, $user_id) )
+ {
+ $usrs .= "\t<option
value=\"$user_id\">$user</option>\n";
}
}
- $var[] = Array(
- 'field' => lang('Participants'),
- 'data' => "\n".' <select
name="participants[]" multiple size="'.$size.'">'."\n".$str.' </select>'."\n"
- );
+ $var[] = array
+ (
+ 'field' => lang('Participants'),
+ 'data' => "\n<select
name=\"participants[]\" multiple size=\"$size\">\n{$groups}{$usrs}\n</select>\n"
+ );
for($i=0;$i<count($var);$i++)
{
@@ -2051,38 +2060,43 @@
{
foreach($members as $member)
{
-
if($this->bo->check_perms(PHPGW_ACL_READ, 0,
$this->bo->contacts->is_contact($member['account_id'])))
+
$person_id = $this->bo->contacts->is_contact($member['account_id']);
+ if (
$this->bo->check_perms(PHPGW_ACL_READ, 0, $person_id) )
{
-
$parts[$this->bo->contacts->is_contact($member['account_id'])] = True;
+
$parts[$person_id] = True;
}
}
}
break;
default:
-
if($this->bo->check_perms(PHPGW_ACL_READ, 0,
$this->bo->contacts->is_contact($participant)))
+
if($this->bo->check_perms(PHPGW_ACL_READ, 0,
$this->bo->contacts->is_contact($participant) ) )
{
-
$parts[$this->bo->contacts->is_contact($participant)] = 1;
+
$parts[$participant] = True;
}
break;
}
}
- unset($acct);
}
+ unset($acct);
+
$participants = array_keys($parts); // get id's as
values and a numeric index
+ $jscal = CreateObject('phpgwapi.jscalendar', false);
+ $date_selected =
$jscal->input2date($_POST['date_select']);
+
unset($GLOBALS['phpgw_info']['flags']['noheader']);
unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
if ($this->always_app_header)
$GLOBALS['phpgw_info']['flags']['app_header'] =
$GLOBALS['phpgw_info']['apps']['calendar']['title'].' - '.lang('Matrixview');
$GLOBALS['phpgw']->common->phpgw_header();
+
switch($_POST['matrixtype'])
{
case 'free/busy':
- $freetime =
$GLOBALS['phpgw']->datetime->gmtdate(mktime(0,0,0,$this->bo->month,$this->bo->day,$this->bo->year));
echo '<br />'.$this->timematrix(
Array(
- 'date' =>
$freetime,
+ 'date' =>
$GLOBALS['phpgw']->datetime->gmtdate($date_selected['raw']),
'starttime' =>
$this->bo->splittime('000000',False),
'endtime' => 0,
'participants' =>
$parts
@@ -2092,7 +2106,7 @@
case 'weekly':
echo '<br />'.$this->display_weekly(
Array(
- 'date' =>
sprintf("%04d%02d%02d",$this->bo->year,$this->bo->month,$this->bo->day),
+ 'date' =>
date('Ymd', $GLOBALS['phpgw']->datetime->gmtdate($date_selected['raw'])),
'showyear' => true,
'owners' =>
$participants
)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] calendar/inc class.uicalendar.inc.php,1.119,
skwashd <=