phpgroupware-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpgroupware-cvs] CVS: infolog/calendar/inc class.bocalendar.inc.php,1.


From: Ralf Becker <address@hidden>
Subject: [Phpgroupware-cvs] CVS: infolog/calendar/inc class.bocalendar.inc.php,1.1,1.2 class.socalendar_sql.inc.php,1.1,1.2 class.uicalendar.inc.php,1.3,1.4
Date: Sun, 12 May 2002 17:11:40 -0400

Update of /cvsroot/phpgroupware/infolog/calendar/inc
In directory subversions:/tmp/cvs-serv6621

Modified Files:
        class.bocalendar.inc.php class.socalendar_sql.inc.php 
        class.uicalendar.inc.php 
Log Message:
- corrected lots of ACL problems with a new function
  bo->rb_check_prevs(PHPGW_ACL_xyz,$cal_id_or_event)
- edit is not longer forgetting the participant status

Index: class.bocalendar.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/infolog/calendar/inc/class.bocalendar.inc.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** class.bocalendar.inc.php    12 May 2002 08:07:36 -0000      1.1
--- class.bocalendar.inc.php    12 May 2002 21:11:34 -0000      1.2
***************
*** 384,390 ****
                function read_entry($id)
                {
!                       if($this->check_perms(PHPGW_ACL_READ))
                        {
                                $event = $this->so->read_entry($id);
                                if(!isset($event['participants'][$this->owner]) 
&& $this->user_is_a_member($event,$this->owner))
                                {
--- 384,391 ----
                function read_entry($id)
                {
!                       if($this->rb_check_perms(PHPGW_ACL_READ,$id))
                        {
                                $event = $this->so->read_entry($id);
+ 
                                if(!isset($event['participants'][$this->owner]) 
&& $this->user_is_a_member($event,$this->owner))
                                {
***************
*** 400,409 ****
                {
                        
!                       if($this->check_perms(PHPGW_ACL_DELETE))
                        {
                                $temp_event = $this->get_cached_event();
                           $event = $this->read_entry(intval($param['id']));
!                          if($this->owner == $event['owner'])
!                          {
                                $exception_time = 
mktime($event['start']['hour'],$event['start']['min'],0,$param['month'],$param['day'],$param['year'])
 - $this->datetime->tz_offset;
                                $event['recur_exception'][] = 
intval($exception_time);
--- 401,410 ----
                {
                        
!                       
if($this->rb_check_perms(PHPGW_ACL_DELETE,intval($param['id'])))
                        {
                                $temp_event = $this->get_cached_event();
                           $event = $this->read_entry(intval($param['id']));
!                          //RB if($this->owner == $event['owner'])
!                          //RB {
                                $exception_time = 
mktime($event['start']['hour'],$event['start']['min'],0,$param['month'],$param['day'],$param['year'])
 - $this->datetime->tz_offset;
                                $event['recur_exception'][] = 
intval($exception_time);
***************
*** 420,424 ****
                        {
                           $cd = 60;
!                       }
                        }
                        $this->so->cal->event = $temp_event;
--- 421,425 ----
                        {
                           $cd = 60;
!                       //RB }
                        }
                        $this->so->cal->event = $temp_event;
***************
*** 429,437 ****
                function delete_entry($id)
                {
!                       if($this->check_perms(PHPGW_ACL_DELETE))
                        {
                           $temp_event = $this->read_entry($id);
!                          if($this->owner == $temp_event['owner'])
!                          {
                                $this->so->delete_entry($id);
                                $cd = 16;
--- 430,438 ----
                function delete_entry($id)
                {
!                       if($this->rb_check_perms(PHPGW_ACL_DELETE,$id))
                        {
                           $temp_event = $this->read_entry($id);
!                          //RB if($this->owner == $temp_event['owner'])
!                          //RB {
                                $this->so->delete_entry($id);
                                $cd = 16;
***************
*** 440,444 ****
                        {
                           $cd = 60;
!                       }
                        }
                        return $cd;
--- 441,445 ----
                        {
                           $cd = 60;
!                       //RB }
                        }
                        return $cd;
***************
*** 447,451 ****
                function reinstate($params='')
                {
!                       if($this->check_perms(PHPGW_ACL_EDIT) && 
isset($params['cal_id']) && isset($params['reinstate_index']))
                        {
                                $event = 
$this->so->read_entry($params['cal_id']);
--- 448,453 ----
                function reinstate($params='')
                {
!                       //RB if($this->check_perms(PHPGW_ACL_EDIT) && 
isset($params['cal_id']) && isset($params['reinstate_index']))
!                       
if($this->rb_check_perms(PHPGW_ACL_EDIT,$params['cal_id']) && 
isset($params['reinstate_index']))
                        {
                                $event = 
$this->so->read_entry($params['cal_id']);
***************
*** 512,516 ****
                function expunge()
                {
!                       if($this->check_perms(PHPGW_ACL_DELETE))
                        {
                                reset($this->so->cal->deleted_events);
--- 514,518 ----
                function expunge()
                {
!                       if($this->rb_check_perms(PHPGW_ACL_DELETE))
                        {
                                reset($this->so->cal->deleted_events);
***************
*** 574,578 ****
           else
                        {
!                       if((!$l_cal['id'] && 
!$this->check_perms(PHPGW_ACL_ADD)) || ($l_cal['id'] && 
!$this->check_perms(PHPGW_ACL_EDIT)))
                        {
                           ExecMethod('calendar.uicalendar.index');
--- 576,580 ----
           else
                        {
!                       if((!$l_cal['id'] && 
!$this->rb_check_perms(PHPGW_ACL_ADD)) || ($l_cal['id'] && 
!$this->rb_check_perms(PHPGW_ACL_EDIT,$l_cal['id'])))
                        {
                           ExecMethod('calendar.uicalendar.index');
***************
*** 657,668 ****
                                        for($i=0;$i<count($parts);$i++)
                                        {
                                                $acct_type = 
$GLOBALS['phpgw']->accounts->get_type(intval($parts[$i]));
                                                if($acct_type == 'u')
                                                {
!                                                       $part[$parts[$i]] = 1;
                                                }
                                                elseif($acct_type == 'g')
                                                {
!                                                       $part[$parts[$i]] = 1;
                                                        $groups[] = $parts[$i];
                                                        /* This pulls ALL users 
of a group and makes them as participants to the event */
--- 659,674 ----
                                        for($i=0;$i<count($parts);$i++)
                                        {
+                                               if (($accept_type = 
substr($parts[$i],-1,1)) == '0' || intval($accept_type) > 0)
+                                               {
+                                                       $accept_type = 'U';
+                                               }
                                                $acct_type = 
$GLOBALS['phpgw']->accounts->get_type(intval($parts[$i]));
                                                if($acct_type == 'u')
                                                {
!                                                       
$part[intval($parts[$i])] = $accept_type;
                                                }
                                                elseif($acct_type == 'g')
                                                {
!                                                       
$part[intval($parts[$i])] = $accept_type;
                                                        $groups[] = $parts[$i];
                                                        /* This pulls ALL users 
of a group and makes them as participants to the event */
***************
*** 677,681 ****
                                                        while($member = 
each($members))
                                                        {
!                                                               
$part[$member[1]['account_id']] = 1;
                                                        }
                                                }
--- 683,687 ----
                                                        while($member = 
each($members))
                                                        {
!                                                               
$part[$member[1]['account_id']] = $accept_type;
                                                        }
                                                }
***************
*** 690,696 ****
                                {
                                        @reset($part);
!                                       while(list($key,$value) = each($part))
                                        {
!                                               
$this->so->add_attribute('participants','U',intval($key));
                                        }
                                }
--- 696,702 ----
                                {
                                        @reset($part);
!                                       while(list($key,$accept_type) = 
each($part))
                                        {
!                                               
$this->so->add_attribute('participants',$accept_type,intval($key));
                                        }
                                }
***************
*** 852,859 ****
                }
  
                function can_user_edit($event)
                {
                        $can_edit = False;
!               
                        if(($event['owner'] == $this->owner) && 
($this->check_perms(PHPGW_ACL_EDIT) == True))
                        {
--- 858,895 ----
                }
  
+               function rb_check_perms($needed,$event=0)
+               {
+                       if (is_int($event) && $event == 0)
+                       {
+                               $owner = $this->owner;
+                       }
+                       else
+                       {
+                               if (!is_array($event))
+                               {
+                                       $event = $this->so->read_entry((int) 
$event);
+                               }
+                               if (!is_array($event))
+                               {
+                                       return False;
+                               }
+                               $owner = $event['owner'];
+                               $privat = $event['public'] == False || 
$event['public'] == 0;
+                       }
+                       $user = $GLOBALS['phpgw_info']['user']['account_id'];
+                       $grants = $this->grants[$owner];
+ 
+                       $access = $user == $owner || $grants & $needed && 
(!$privat || $grants & PHPGW_ACL_PRIVAT);
+                       //echo "<p>rb_check_perms for user $user and needed_acl 
$needed: event=$event[title]: owner=$owner, privat=$privat, grants=$grants ==> 
access=$access</p>\n";
+ 
+                       return $access;
+               }
+ 
                function can_user_edit($event)
                {
+                       return $this->rb_check_perms(PHPGW_ACL_EDIT,$event);
+ 
                        $can_edit = False;
! 
                        if(($event['owner'] == $this->owner) && 
($this->check_perms(PHPGW_ACL_EDIT) == True))
                        {
***************
*** 1198,1202 ****
                }
  
!               function is_private($event,$owner)
                {
                        if($owner == 0)
--- 1234,1238 ----
                }
  
!               function is_private($event,$owner)      //RB_NEED_WORK
                {
                        if($owner == 0)

Index: class.socalendar_sql.inc.php
===================================================================
RCS file: 
/cvsroot/phpgroupware/infolog/calendar/inc/class.socalendar_sql.inc.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** class.socalendar_sql.inc.php        12 May 2002 20:07:02 -0000      1.1
--- class.socalendar_sql.inc.php        12 May 2002 21:11:34 -0000      1.2
***************
*** 496,500 ****
                while (list($key,$value) = @each($event['participants']))
                {
!                       if(intval($key) == intval($this->user))
                        {
                                $value = 'A';
--- 496,500 ----
                while (list($key,$value) = @each($event['participants']))
                {
!                       if(intval($key) == $event['owner']/*RB 
intval($this->user)*/)
                        {
                                $value = 'A';

Index: class.uicalendar.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/infolog/calendar/inc/class.uicalendar.inc.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** class.uicalendar.inc.php    12 May 2002 07:51:51 -0000      1.3
--- class.uicalendar.inc.php    12 May 2002 21:11:34 -0000      1.4
***************
*** 628,632 ****
                        }
  
!                       if(!$this->bo->check_perms(PHPGW_ACL_READ))
                        {
                                echo lang('You do not have permission to read 
this record!').'</center>'."\n";
--- 628,633 ----
                        }
  
!                       //RB if(!$this->bo->check_perms(PHPGW_ACL_READ))
!                       if(!$this->bo->rb_check_perms(PHPGW_ACL_READ,$cal_id))
                        {
                                echo lang('You do not have permission to read 
this record!').'</center>'."\n";
***************
*** 678,684 ****
                        );
  
!                       if($this->bo->owner == $event['owner'] || 
$this->bo->member_of_group($this->bo->owner))
!                       {
!                               if 
($this->bo->check_perms(PHPGW_ACL_EDIT,$event['owner']))
                                {
                                        if($event['recur_type'] != 
MCAL_RECUR_NONE)
--- 679,687 ----
                        );
  
!                       //RB: this is handled by the acl
!                       //RB if($this->bo->owner == $event['owner'] || 
$this->bo->member_of_group($this->bo->owner))
!                       //RB {
!                               //RB if 
($this->bo->rb_check_perms(PHPGW_ACL_EDIT,$event['owner']))
!                               if 
($this->bo->rb_check_perms(PHPGW_ACL_EDIT,$event))
                                {
                                        if($event['recur_type'] != 
MCAL_RECUR_NONE)
***************
*** 725,729 ****
                                }
  
!                               if 
($this->bo->check_perms(PHPGW_ACL_DELETE,$event['owner']))
                                {
                                        if($event['recur_type'] != 
MCAL_RECUR_NONE)
--- 728,733 ----
                                }
  
!                               //RB if 
($this->bo->check_perms(PHPGW_ACL_DELETE,$event['owner']))
!                               if 
($this->bo->rb_check_perms(PHPGW_ACL_DELETE,$event))
                                {
                                        if($event['recur_type'] != 
MCAL_RECUR_NONE)
***************
*** 771,775 ****
                                        }
                                }
!                       }
  
                        $var = Array(
--- 775,779 ----
                                        }
                                }
!                       //RB}
  
                        $var = Array(
***************
*** 787,791 ****
                function edit($params='')
                {
!                       if(!$this->bo->check_perms(PHPGW_ACL_EDIT))
                        {
                           $this->no_edit();
--- 791,795 ----
                function edit($params='')
                {
!                       
if(!$this->bo->check_perms(PHPGW_ACL_EDIT))//RB_NEED_WORK
                        {
                           $this->no_edit();
***************
*** 913,921 ****
                function reinstate_list($params='')
                {
!                       if(!$this->bo->check_perms(PHPGW_ACL_EDIT))
                        {
                           $this->no_edit();
                        }
!                       elseif(!$this->bo->check_perms(PHPGW_ACL_ADD))
                        {
                                $this->index();
--- 917,925 ----
                function reinstate_list($params='')
                {
!                       
if(!$this->bo->check_perms(PHPGW_ACL_EDIT))//RB_NEED_WORK
                        {
                           $this->no_edit();
                        }
!                       
elseif(!$this->bo->check_perms(PHPGW_ACL_ADD))//RB_NEED_WORK
                        {
                                $this->index();
***************
*** 937,941 ****
                        }
  
!                       if(!$this->bo->check_perms(PHPGW_ACL_READ))
                        {
                                echo lang('You do not have permission to read 
this record!').'</center>'."\n";
--- 941,945 ----
                        }
  
!                       
if(!$this->bo->check_perms(PHPGW_ACL_READ))//RB_NEED_WORK
                        {
                                echo lang('You do not have permission to read 
this record!').'</center>'."\n";
***************
*** 1000,1008 ****
                function reinstate($params='')
                {
!                       if(!$this->bo->check_perms(PHPGW_ACL_EDIT))
                        {
                           $this->no_edit();
                        }
!                       elseif(!$this->bo->check_perms(PHPGW_ACL_ADD))
                        {
                                $this->index();
--- 1004,1012 ----
                function reinstate($params='')
                {
!                       
if(!$this->bo->check_perms(PHPGW_ACL_EDIT))//RB_NEED_WORK
                        {
                           $this->no_edit();
                        }
!                       
elseif(!$this->bo->check_perms(PHPGW_ACL_ADD))//RB_NEED_WORK
                        {
                                $this->index();
***************
*** 1033,1037 ****
                function add($cd=0,$readsess=0)
                {
!                       if(!$this->bo->check_perms(PHPGW_ACL_ADD))
                        {
                                $this->index();
--- 1037,1041 ----
                function add($cd=0,$readsess=0)
                {
!                       if(!$this->bo->rb_check_perms(PHPGW_ACL_ADD))
                        {
                                $this->index();
***************
*** 1093,1097 ****
                        $date = 
sprintf("%04d%02d%02d",$this->bo->year,$this->bo->month,$this->bo->day);
                        $event = 
$this->bo->read_entry(intval($GLOBALS['HTTP_GET_VARS']['cal_id']));
!                       if(($GLOBALS['HTTP_GET_VARS']['cal_id'] > 0) && 
($event['owner'] == $this->bo->owner) && 
$this->bo->check_perms(PHPGW_ACL_DELETE))
                        {
  
--- 1097,1102 ----
                        $date = 
sprintf("%04d%02d%02d",$this->bo->year,$this->bo->month,$this->bo->day);
                        $event = 
$this->bo->read_entry(intval($GLOBALS['HTTP_GET_VARS']['cal_id']));
!                       //if(($GLOBALS['HTTP_GET_VARS']['cal_id'] > 0) && 
($event['owner'] == $this->bo->owner) && 
$this->bo->check_perms(PHPGW_ACL_DELETE))
!                       if ($this->bo->rb_check_perms(PHPGW_ACL_DELETE,$event))
                        {
  
***************
*** 1206,1210 ****
                        }
  
!                       if(!$this->bo->check_perms(PHPGW_ACL_EDIT))
                        {
                           $this->no_edit();
--- 1211,1215 ----
                        }
  
!                       if(!$this->bo->rb_check_perms(PHPGW_ACL_EDIT))
                        {
                           $this->no_edit();
***************
*** 1230,1234 ****
                function set_action()
                {
!                       if(!$this->bo->check_perms(PHPGW_ACL_EDIT))
                        {
                                $this->no_edit();
--- 1235,1239 ----
                function set_action()
                {
!                       if(!$this->bo->rb_check_perms(PHPGW_ACL_EDIT))
                        {
                                $this->no_edit();
***************
*** 1540,1544 ****
                        while ($user = each($users))
                        {
!                               
if(($GLOBALS['phpgw']->accounts->exists($user[0]) && 
$this->bo->check_perms(PHPGW_ACL_READ,$user[0])) || 
$GLOBALS['phpgw']->accounts->get_type($user[0]) == 'g')
                                {
                                        $str .= '    <option 
value="'.$user[0].'">('.$GLOBALS['phpgw']->accounts->get_type($user[0]).') 
'.$user[1].'</option>'."\n";
--- 1545,1549 ----
                        while ($user = each($users))
                        {
!                               
if(($GLOBALS['phpgw']->accounts->exists($user[0]) && 
$this->bo->check_perms(PHPGW_ACL_READ,$user[0])) || 
$GLOBALS['phpgw']->accounts->get_type($user[0]) == 'g')//RB_NEED_WORK
                                {
                                        $str .= '    <option 
value="'.$user[0].'">('.$GLOBALS['phpgw']->accounts->get_type($user[0]).') 
'.$user[1].'</option>'."\n";
***************
*** 1582,1586 ****
                                                while($members != False && 
list($index,$member) = each($members))
                                                {
!                                                       
if($this->bo->check_perms(PHPGW_ACL_READ,$member['account_id']) && 
!isset($parts[$member['account_id']]))
                                                        {
                                                                
$parts[$member['account_id']] = 1;
--- 1587,1591 ----
                                                while($members != False && 
list($index,$member) = each($members))
                                                {
!                                                       
if($this->bo->check_perms(PHPGW_ACL_READ,$member['account_id']) && 
!isset($parts[$member['account_id']]))//RB_NEED_WORK
                                                        {
                                                                
$parts[$member['account_id']] = 1;
***************
*** 1589,1593 ****
                                                break;
                                        case 'u':
!                                               
if($this->bo->check_perms(PHPGW_ACL_READ,$participants[$i]) && 
!isset($parts[$participants[$i]]))
                                                {
                                                        
$parts[$participants[$i]] = 1;
--- 1594,1598 ----
                                                break;
                                        case 'u':
!                                               
if($this->bo->check_perms(PHPGW_ACL_READ,$participants[$i]) && 
!isset($parts[$participants[$i]]))//RB_NEED_WORK
                                                {
                                                        
$parts[$participants[$i]] = 1;
***************
*** 1724,1728 ****
                        
$p->set_block('search_form','search_list','search_list');
                        
$p->set_block('search_form','search_list_footer','search_list_footer');
!       
                        $var = Array(
                                'color'         => $this->theme['bg_text'],
--- 1729,1733 ----
                        
$p->set_block('search_form','search_list','search_list');
                        
$p->set_block('search_form','search_list_footer','search_list_footer');
! 
                        $var = Array(
                                'color'         => $this->theme['bg_text'],
***************
*** 1814,1818 ****
                {
                        $cols = 8;
!                       if($this->bo->check_perms(PHPGW_ACL_PRIVATE) == True)
                        {
                                $cols++;
--- 1819,1823 ----
                {
                        $cols = 8;
!                       if($this->bo->check_perms(PHPGW_ACL_PRIVATE) == 
True)//RB_NEED_WORK
                        {
                                $cols++;
***************
*** 1968,1972 ****
                function no_edit()
                {
!                       if(!$isset($GLOBALS['phpgw_info']['flags']['noheader']))
                        {
                                
unset($GLOBALS['phpgw_info']['flags']['noheader']);
--- 1973,1977 ----
                function no_edit()
                {
!                       if(isset($GLOBALS['phpgw_info']['flags']['noheader']))
                        {
                                
unset($GLOBALS['phpgw_info']['flags']['noheader']);
***************
*** 1983,1988 ****
                {
                        $str = '';
!                       $is_private = 
$this->bo->is_private($event,$event['owner']);
!                       $editable = ((!$this->bo->printer_friendly) && 
(($is_private && $this->bo->check_perms(PHPGW_ACL_PRIVATE)) || !$is_private));
                        $p = 
CreateObject('phpgwapi.Template',$this->template_dir);
                        $p->set_unknowns('remove');
--- 1988,1996 ----
                {
                        $str = '';
!                       //RB $is_private = 
$this->bo->is_private($event,$event['owner']);
!                       //RB $editable = ((!$this->bo->printer_friendly) && 
(($is_private && $this->bo->check_perms(PHPGW_ACL_PRIVATE)) || !$is_private));
!                       //RB editable means here, ok to set a link to view
!                       $editable = !$this->bo->printer_friendly && 
$this->bo->rb_check_perms(PHPGW_ACL_READ,$event);
!                       $is_private = !$event['public'] && 
!$this->bo->rb_check_perms(PHPGW_ACL_READ,$event);
                        $p = 
CreateObject('phpgwapi.Template',$this->template_dir);
                        $p->set_unknowns('remove');
***************
*** 2582,2586 ****
                function view_event($event,$alarms=False)
                {
!                       if((!$event['participants'][$this->bo->owner] && 
!$this->bo->member_of_group()) || (!$event['public'] && 
!$this->bo->check_perms(PHPGW_ACL_PRIVATE)))
                        {
                                return '<center>'.lang('You do not have 
permission to read this record!').'</center>';
--- 2590,2595 ----
                function view_event($event,$alarms=False)
                {
!                       //RB if((!$event['participants'][$this->bo->owner] && 
!$this->bo->member_of_group()) || (!$event['public'] && 
!$this->bo->check_perms(PHPGW_ACL_PRIVATE)))
!                       if((!$event['participants'][$this->bo->owner] && 
!$this->bo->rb_check_perms(PHPGW_ACL_READ,$event)))
                        {
                                return '<center>'.lang('You do not have 
permission to read this record!').'</center>';
***************
*** 2707,2711 ****
                                if($GLOBALS['phpgw']->accounts->exists($user))
                                {
!                                       $str .= 
($str?'<br>':'').$GLOBALS['phpgw']->common->grab_owner_name($user).' 
('.($this->bo->check_perms(PHPGW_ACL_EDIT,$user)?'<a 
href="'.$this->page('edit_status','&cal_id='.$event['id'].'&owner='.$user).'">'.$this->bo->get_long_status($short_status).'</a>':$this->bo->get_long_status($short_status)).')'."\n";
                                }
                        }
--- 2716,2720 ----
                                if($GLOBALS['phpgw']->accounts->exists($user))
                                {
!                                       $str .= 
($str?'<br>':'').$GLOBALS['phpgw']->common->grab_owner_name($user).' 
('.($this->bo->check_perms(PHPGW_ACL_EDIT,$user)?'<a 
href="'.$this->page('edit_status','&cal_id='.$event['id'].'&owner='.$user).'">'.$this->bo->get_long_status($short_status).'</a>':$this->bo->get_long_status($short_status)).')'."\n";//RB_NEED_WORK
                                }
                        }
***************
*** 3126,3130 ****
                                        $close_link = '';
                        
!                                       if(!$this->bo->printer_friendly && 
$this->bo->check_perms(PHPGW_ACL_ADD))
                                        {
                                                $new_hour = 
intval(substr($dtime,0,strpos($dtime,':')));
--- 3135,3139 ----
                                        $close_link = '';
                        
!                                       if(!$this->bo->printer_friendly && 
$this->bo->rb_check_perms(PHPGW_ACL_ADD))
                                        {
                                                $new_hour = 
intval(substr($dtime,0,strpos($dtime,':')));
***************
*** 3358,3362 ****
                                'action_url'            => 
$GLOBALS['phpgw']->link('/index.php',Array('menuaction'=>'calendar.bocalendar.update')),
                                'common_hidden' => '<input type="hidden" 
name="cal[id]" value="'.$event['id'].'">'."\n"
!                                                                               
. '<input type="hidden" name="cal[owner]" value="'.$this->bo->owner.'">'."\n"
                                                                                
. '<input type="hidden" name="cal[uid]" value="'.$event['uid'].'">'."\n"
                                                                                
. ($GLOBALS['HTTP_GET_VARS']['cal_id'] && $event['id'] == 0?'<input 
type="hidden" name="cal[reference]" 
value="'.$GLOBALS['HTTP_GET_VARS']['cal_id'].'">'."\n":
--- 3367,3371 ----
                                'action_url'            => 
$GLOBALS['phpgw']->link('/index.php',Array('menuaction'=>'calendar.bocalendar.update')),
                                'common_hidden' => '<input type="hidden" 
name="cal[id]" value="'.$event['id'].'">'."\n"
!                                                                               
. '<input type="hidden" name="cal[owner]" value="'.$event['owner']/*RB else 
owner changes if someone with edit-acl edits entry $this->bo->owner*/.'">'."\n"
                                                                                
. '<input type="hidden" name="cal[uid]" value="'.$event['uid'].'">'."\n"
                                                                                
. ($GLOBALS['HTTP_GET_VARS']['cal_id'] && $event['id'] == 0?'<input 
type="hidden" name="cal[reference]" 
value="'.$GLOBALS['HTTP_GET_VARS']['cal_id'].'">'."\n":
***************
*** 3469,3475 ****
                        {
                                $accounts = 
$GLOBALS['phpgw']->acl->get_ids_for_location('run',1,'calendar');
                                $users = Array();
!                               
$this->build_part_list($users,$accounts,$this->bo->owner);
!     
                                $str = '';
                                @asort($users);
--- 3478,3485 ----
                        {
                                $accounts = 
$GLOBALS['phpgw']->acl->get_ids_for_location('run',1,'calendar');
+ 
                                $users = Array();
!                               
$this->build_part_list($users,$accounts,$event['owner']); //RB was 
$this->bo->owner);
!                                                                               
                                                                                
                         // if the calendar of a group was selected all 
participants of this group got removed from the participants list
                                $str = '';
                                @asort($users);
***************
*** 3477,3483 ****
                                while (list($id,$user_array) = each($users))
                                {
!                                       if($id != intval($this->bo->owner))
                                        {
!                                               $str .= '    <option value="' . 
$id . '"'.($event['participants'][$id]?' 
selected':'').'>('.$user_array['type'].') 
'.$user_array['name'].'</option>'."\n";
                                        }
                                }
--- 3487,3493 ----
                                while (list($id,$user_array) = each($users))
                                {
!                                       if($id != 
intval($event['owner']/*RB$this->bo->owner*/))
                                        {
!                                               $str .= '    <option value="' . 
$id . $event['participants'][$id] . '"'.($event['participants'][$id]?' 
selected':'').'>('.$user_array['type'].') 
'.$user_array['name'].'</option>'."\n";
                                        }
                                }
***************
*** 3488,3492 ****
  
  // I Participate
!                               if((($event['id'] > 0) && 
isset($event['participants'][$this->bo->owner])) || !$event['id'])
                                {
                                        $checked = ' checked';
--- 3498,3502 ----
  
  // I Participate
!                               if((($event['id'] > 0) && 
isset($event['participants'][$event['owner']/*RB$this->bo->owner*/])) || 
!$event['id'])
                                {
                                        $checked = ' checked';
***************
*** 3497,3502 ****
                                }
                                $var[] = Array(
!                                       'field' => 
$GLOBALS['phpgw']->common->grab_owner_name($this->bo->owner).' 
'.lang('Participates'),
!                                       'data'  => '<input type="checkbox" 
name="participants[]" value="'.$this->bo->owner.'"'.$checked.'>'
                                );
                        }
--- 3507,3512 ----
                                }
                                $var[] = Array(
!                                       'field' => 
$GLOBALS['phpgw']->common->grab_owner_name($event['owner']/*RB$this->bo->owner*/).'
 '.lang('Participates'),
!                                       'data'  => '<input type="checkbox" 
name="participants[]" 
value="'.$event['owner'].$event['participants'][$event['owner']]/*RB$this->bo->owner*/.'"'.$checked.'>'
                                );
                        }
***************
*** 3690,3694 ****
                                }
  
!                               if(!$this->bo->printer_friendly && 
$this->bo->check_perms(PHPGW_ACL_ADD))
                                {
                                        $new_event = True;
--- 3700,3704 ----
                                }
  
!                               if(!$this->bo->printer_friendly && 
$this->bo->rb_check_perms(PHPGW_ACL_ADD))
                                {
                                        $new_event = True;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]