phpgroupware-cvs
[Top][All Lists]
Advanced

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

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


From: Ralf Becker <address@hidden>
Subject: [Phpgroupware-cvs] CVS: calendar/inc class.bocalendar.inc.php,1.71.2.33.2.10,1.71.2.33.2.11 class.socalendar.inc.php,1.22.2.5,1.22.2.5.2.1
Date: Sun, 06 Jul 2003 19:48:30 -0400

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

Modified Files:
      Tag: Version-0_9_16-branch
        class.bocalendar.inc.php class.socalendar.inc.php 
Log Message:
fixed search to search not only in own entries but in all readable ones

Index: class.bocalendar.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/calendar/inc/class.bocalendar.inc.php,v
retrieving revision 1.71.2.33.2.10
retrieving revision 1.71.2.33.2.11
diff -C2 -r1.71.2.33.2.10 -r1.71.2.33.2.11
*** class.bocalendar.inc.php    31 May 2003 22:04:56 -0000      1.71.2.33.2.10
--- class.bocalendar.inc.php    6 Jul 2003 23:48:26 -0000       1.71.2.33.2.11
***************
*** 649,653 ****
                function search_keywords($keywords)
                {
!                       return $this->so->list_events_keyword($keywords);
                }
  
--- 649,675 ----
                function search_keywords($keywords)
                {
!                       $type = 
$GLOBALS['phpgw']->accounts->get_type($this->owner);
! 
!                       if($type == 'g') 
!                       {
!                               $members = 
$GLOBALS['phpgw']->acl->get_ids_for_location($this->owner, 1, 'phpgw_group');
!                       }
!                       else
!                       {
!                               $members = array_keys($this->grants);
! 
!                               if (!in_array($this->owner,$members))
!                               {
!                                       $members[] = $this->owner;
!                               }
!                       }
!                       foreach($members as $n => $uid)
!                       {
!                               if (!($this->grants[$uid] & PHPGW_ACL_READ))
!                               {
!                                       unset($members[$n]);
!                               }
!                       }
!                       return 
$this->so->list_events_keyword($keywords,$members);
                }
  

Index: class.socalendar.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/calendar/inc/class.socalendar.inc.php,v
retrieving revision 1.22.2.5
retrieving revision 1.22.2.5.2.1
diff -C2 -r1.22.2.5 -r1.22.2.5.2.1
*** class.socalendar.inc.php    17 Sep 2002 03:03:24 -0000      1.22.2.5
--- class.socalendar.inc.php    6 Jul 2003 23:48:26 -0000       1.22.2.5.2.1
***************
*** 135,174 ****
                }
  
!               function list_events_keyword($keywords)
                {
! //                    $sql = 'AND (phpgw_cal_user.cal_login='.$this->owner.') 
';
!                       $o = $this->owner;
!                       $type = $GLOBALS['phpgw']->accounts->get_type($o);
! 
!                       if($type == 'g') 
!                       {
!                          $members = 
$GLOBALS['phpgw']->acl->get_ids_for_location($o, 1, 'phpgw_group');
!                       }
!                       else
!                       {
!                         $members[0] = $o;
!                       }
! 
!                       $sql = 'AND (phpgw_cal_user.cal_login='.$members[0];
! 
!                       for($i=1; $i<count($members); $i++)
                        {
!                         $sql .= ' OR phpgw_cal_user.cal_login='.$members[$i];
                        }
!                       $sql .= ') ';
  
                        $words = split(' ',$keywords);
!                       for ($i=0;$i<count($words);$i++)
                        {
!                               $sql .= ($i==0?' AND (':'');
!                               $sql .= ($i>0?' OR ':'');
!                               $sql .= "(UPPER(phpgw_cal.title) LIKE 
UPPER('%".$words[$i]."%') OR "
!                                               . "UPPER(phpgw_cal.description) 
LIKE UPPER('%".$words[$i]."%'))";
!                               $sql .= ($i==count($words) - 1?') ':'');
                        }
  
                        $sql .= (strpos($this->filter,'private')?'AND 
phpgw_cal.is_public=0 ':'');
                        $sql .= ($this->cat_id?"AND phpgw_cal.category like 
'%".$this->cat_id."%' ":'');
                        $sql .= 'ORDER BY phpgw_cal.datetime ASC, 
phpgw_cal.edatetime ASC, phpgw_cal.priority ASC';
                        return $this->get_event_ids(False,$sql);
                }
--- 135,160 ----
                }
  
!               function list_events_keyword($keywords,$members='')
                {
!                       if (!$members)
                        {
!                               $members[] = $this->owner;
                        }
!                       $sql = 'AND (phpgw_cal_user.cal_login IN 
('.implode(',',$members).')) AND '.
!                               
'(phpgw_cal_user.cal_login='.intval($this->owner).' OR phpgw_cal.is_public=1) 
AND (';
  
                        $words = split(' ',$keywords);
!                       foreach($words as $i => $word)
                        {
!                               $sql .= $i > 0 ? ' OR ' : '';
!                               $sql .= "(UPPER(phpgw_cal.title) LIKE 
UPPER('%".addslashes($word)."%') OR "
!                                               . "UPPER(phpgw_cal.description) 
LIKE UPPER('%".addslashes($word)."%'))";
                        }
+                       $sql .= ') ';
  
                        $sql .= (strpos($this->filter,'private')?'AND 
phpgw_cal.is_public=0 ':'');
                        $sql .= ($this->cat_id?"AND phpgw_cal.category like 
'%".$this->cat_id."%' ":'');
                        $sql .= 'ORDER BY phpgw_cal.datetime ASC, 
phpgw_cal.edatetime ASC, phpgw_cal.priority ASC';
+ 
                        return $this->get_event_ids(False,$sql);
                }





reply via email to

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