fmsystem-commits
[Top][All Lists]
Advanced

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

[Fmsystem-commits] [7981] set account_id at acl


From: Sigurd Nes
Subject: [Fmsystem-commits] [7981] set account_id at acl
Date: Tue, 01 Nov 2011 15:15:02 +0000

Revision: 7981
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=7981
Author:   sigurdne
Date:     2011-11-01 15:15:00 +0000 (Tue, 01 Nov 2011)
Log Message:
-----------
set account_id at acl

Modified Paths:
--------------
    trunk/addressbook/inc/class.soaddressbook.inc.php
    trunk/demo/inc/class.sodemo.inc.php
    trunk/helpdesk/inc/class.sotts.inc.php
    trunk/hrm/inc/class.souser.inc.php
    trunk/notes/inc/class.sonotes.inc.php
    trunk/notes/inc/class.uinotes.inc.php
    trunk/phpgwapi/inc/class.acl.inc.php
    trunk/property/inc/class.soentity.inc.php
    trunk/property/inc/class.sojasper.inc.php
    trunk/property/inc/class.soproject.inc.php
    trunk/property/inc/class.sotts.inc.php
    trunk/property/inc/class.soworkorder.inc.php
    trunk/property/inc/class.uijasper.inc.php
    trunk/sms/inc/class.soautoreply.inc.php
    trunk/sms/inc/class.socommand.inc.php
    trunk/sms/inc/class.sopoll.inc.php
    trunk/sms/inc/class.sosms.inc.php

Modified: trunk/addressbook/inc/class.soaddressbook.inc.php
===================================================================
--- trunk/addressbook/inc/class.soaddressbook.inc.php   2011-11-01 12:32:14 UTC 
(rev 7980)
+++ trunk/addressbook/inc/class.soaddressbook.inc.php   2011-11-01 15:15:00 UTC 
(rev 7981)
@@ -68,6 +68,7 @@
 
                        if($useacl)
                        {
+                               
$GLOBALS['phpgw']->acl->set_account_id($GLOBALS['phpgw_info']['user']['account_id']);
                                $this->grants = 
$GLOBALS['phpgw']->acl->get_grants('addressbook','.');                          
                        }
 

Modified: trunk/demo/inc/class.sodemo.inc.php
===================================================================
--- trunk/demo/inc/class.sodemo.inc.php 2011-11-01 12:32:14 UTC (rev 7980)
+++ trunk/demo/inc/class.sodemo.inc.php 2011-11-01 15:15:00 UTC (rev 7981)
@@ -59,6 +59,7 @@
 
                        $this->custom   = 
createObject('property.custom_fields');
 
+                       $GLOBALS['phpgw']->acl->set_account_id($this->account);
                        $this->grants                   = 
$GLOBALS['phpgw']->acl->get_grants('demo', $this->acl_location);
                }
 

Modified: trunk/helpdesk/inc/class.sotts.inc.php
===================================================================
--- trunk/helpdesk/inc/class.sotts.inc.php      2011-11-01 12:32:14 UTC (rev 
7980)
+++ trunk/helpdesk/inc/class.sotts.inc.php      2011-11-01 15:15:00 UTC (rev 
7981)
@@ -125,6 +125,7 @@
 
                        if(!$this->grants)
                        {
+                               
$GLOBALS['phpgw']->acl->set_account_id($this->account);
                                $this->grants   = 
$GLOBALS['phpgw']->acl->get_grants('helpdesk','.ticket');
                                
$GLOBALS['phpgw']->session->appsession('grants_ticket','helpdesk',$this->grants);
                        }

Modified: trunk/hrm/inc/class.souser.inc.php
===================================================================
--- trunk/hrm/inc/class.souser.inc.php  2011-11-01 12:32:14 UTC (rev 7980)
+++ trunk/hrm/inc/class.souser.inc.php  2011-11-01 15:15:00 UTC (rev 7981)
@@ -29,6 +29,7 @@
                        $this->like             = & $this->db->like;
                        $this->join             = & $this->db->join;
                        $this->left_join        = & $this->db->left_join;
+                       $GLOBALS['phpgw']->acl->set_account_id($this->account);
                        $this->grants           = 
$GLOBALS['phpgw']->acl->get_grants('hrm','.user');
                }
 

Modified: trunk/notes/inc/class.sonotes.inc.php
===================================================================
--- trunk/notes/inc/class.sonotes.inc.php       2011-11-01 12:32:14 UTC (rev 
7980)
+++ trunk/notes/inc/class.sonotes.inc.php       2011-11-01 15:15:00 UTC (rev 
7981)
@@ -39,8 +39,9 @@
                function sonotes()
                {
                        $this->db               = &$GLOBALS['phpgw']->db;
+                       $this->account  = 
$GLOBALS['phpgw_info']['user']['account_id'];
+                       $GLOBALS['phpgw']->acl->set_account_id($this->account);
                        $this->grants   = 
$GLOBALS['phpgw']->acl->get_grants('notes');
-                       $this->account  = 
$GLOBALS['phpgw_info']['user']['account_id'];
                }
 
                function read($data)

Modified: trunk/notes/inc/class.uinotes.inc.php
===================================================================
--- trunk/notes/inc/class.uinotes.inc.php       2011-11-01 12:32:14 UTC (rev 
7980)
+++ trunk/notes/inc/class.uinotes.inc.php       2011-11-01 15:15:00 UTC (rev 
7981)
@@ -66,6 +66,7 @@
                        $this->nextmatchs       = 
CreateObject('phpgwapi.nextmatchs');
                        $this->account          = 
$GLOBALS['phpgw_info']['user']['account_id'];
 
+                       $GLOBALS['phpgw']->acl->set_account_id($this->account);
                        $this->grants           = 
$GLOBALS['phpgw']->acl->get_grants('notes');
                        $this->grants[$this->account] = PHPGW_ACL_READ + 
PHPGW_ACL_ADD + PHPGW_ACL_EDIT + PHPGW_ACL_DELETE;
                        $this->bonotes          = 
CreateObject('notes.bonotes',true);

Modified: trunk/phpgwapi/inc/class.acl.inc.php
===================================================================
--- trunk/phpgwapi/inc/class.acl.inc.php        2011-11-01 12:32:14 UTC (rev 
7980)
+++ trunk/phpgwapi/inc/class.acl.inc.php        2011-11-01 15:15:00 UTC (rev 
7981)
@@ -173,6 +173,7 @@
                 */
                public function set_account_id($account_id = 0, $read_repo = 
false, $appname = '', $location = '', $account_type = 'accounts')
                {
+_Debug_array($account_id);
                        $this->_account_id = (int) $account_id;
 
                        if ( !$this->_account_id )

Modified: trunk/property/inc/class.soentity.inc.php
===================================================================
--- trunk/property/inc/class.soentity.inc.php   2011-11-01 12:32:14 UTC (rev 
7980)
+++ trunk/property/inc/class.soentity.inc.php   2011-11-01 15:15:00 UTC (rev 
7981)
@@ -98,7 +98,7 @@
                }
 
 
-               function read($data)
+               function get_list($data)
                {
                        $start                  = isset($data['start']) && 
$data['start'] ? $data['start'] : 0;
                        $filter                 = isset($data['filter']) && 
$data['filter'] ? $data['filter'] : 'all';
@@ -122,7 +122,7 @@
                        $p_num                  = isset($data['p_num']) ? 
$data['p_num'] : '';
                        $custom_condition= isset($data['custom_condition']) ? 
$data['custom_condition'] : '';
 
-                       if(!$entity_id || !$cat_id)
+                       if(!$entity_id || !$cat_id || !$this->type)
                        {
                                return;
                        }
@@ -136,6 +136,124 @@
                                
$GLOBALS['phpgw']->session->appsession('grants_entity_'.$entity_id.'_'.$cat_id, 
$this->type_app[$this->type], $grants);
                        }
 
+                       $admin_entity   = 
CreateObject('property.soadmin_entity');
+                       $admin_entity->type = $this->type;
+
+                       $category = 
$admin_entity->read_single_category($entity_id,$cat_id);
+
+                       $entity_table = 
"fm_{$this->type}_{$entity_id}_{$cat_id}";
+
+
+                       if ($order)
+                       {
+                               switch($order)
+                               {
+                                       case 'user_id':
+               //                              $ordermethod = " ORDER BY 
phpgw_accounts.account_lastname {$sort}";  // Don't work with LDAP. 
+                                               break;
+                                       case 'loc1_name':
+                                               $ordermethod = " ORDER BY 
fm_location1.loc1_name {$sort}";  // Don't work with LDAP. 
+                                               break;
+                                       default:
+                                               $ordermethod = " ORDER BY 
$entity_table.$order $sort";  
+                               }
+                       }
+                       else
+                       {
+                               $ordermethod = " order by $entity_table.id 
DESC";
+                       }
+
+                       $where= 'WHERE';
+                       $filtermethod = '';
+
+                       $_config        = 
CreateObject('phpgwapi.config','property');
+                       $_config->read();
+                       if(isset($_config->config_data['acl_at_location'])
+                               && $_config->config_data['acl_at_location']
+                               && $category['location_level'] > 0)
+                       {
+                               $access_location = 
$this->bocommon->get_location_list(PHPGW_ACL_READ);
+                               $filtermethod = " WHERE {$entity_table}.loc1 in 
('" . implode("','", $access_location) . "')";
+                               $where= 'AND';
+                       }
+
+                       unset($_config);
+
+                       if ($filter=='all')
+                       {
+                               if (is_array($grants))
+                               {
+                                       foreach($grants as $user => $right)
+                                       {
+                                               $public_user_list[] = $user;
+                                       }
+                                       reset($public_user_list);
+                                       $filtermethod .= " $where ( 
$entity_table.user_id IN(" . implode(',',$public_user_list) . "))";
+
+                                       $where= 'AND';
+                               }
+                       }
+                       else
+                       {
+                               $filtermethod = " $where 
$entity_table.user_id=$filter ";
+                               $where= 'AND';
+                       }
+                       $values = array();
+                       $name = 'title';
+                       $sql = "SELECT id, {$name} as name FROM {$entity_table} 
{$filtermethod}";
+
+                       $this->db->query($sql,__LINE__,__FILE__);
+                       while($this->db->next_record())
+                       {
+
+                               $values[] = array
+                               (
+                                       'id'    => $this->db->f('id'),
+                                       'name'  => $this->db->f('name', true)
+                               );
+                       }
+                       return $values;
+               }
+
+               function read($data)
+               {
+                       $start                  = isset($data['start']) && 
$data['start'] ? $data['start'] : 0;
+                       $filter                 = isset($data['filter']) && 
$data['filter'] ? $data['filter'] : 'all';
+                       $query                  = isset($data['query']) ? 
$data['query'] : '';
+                       $sort                   = isset($data['sort']) && 
$data['sort'] ? $data['sort'] : 'DESC';
+                       $order                  = isset($data['order']) ? 
$data['order'] : '';
+                       $cat_id                 = isset($data['cat_id']) && 
$data['cat_id'] ? $data['cat_id'] : 0;
+                       $district_id    = isset($data['district_id']) && 
$data['district_id'] ? $data['district_id'] : 0;
+                       $lookup                 = isset($data['lookup']) ? 
$data['lookup'] : '';
+                       $allrows                = isset($data['allrows']) ? 
$data['allrows'] : '';
+                       $entity_id              = isset($data['entity_id']) ? 
$data['entity_id'] : '';
+                       $cat_id                 = isset($data['cat_id']) ? 
$data['cat_id'] : '';
+                       $status                 = isset($data['status']) ? 
$data['status'] : '';
+                       $start_date             = isset($data['start_date']) ? 
$data['start_date'] : '';
+                       $end_date               = isset($data['end_date']) ? 
$data['end_date'] : '';
+                       $dry_run                = isset($data['dry_run']) ? 
$data['dry_run'] : '';
+                       $this->type             = isset($data['type']) && 
$data['type'] ? $data['type'] : $this->type;
+                       $location_code  = isset($data['location_code']) ? 
$data['location_code'] : '';
+                       $criteria_id    = isset($data['criteria_id']) ? 
$data['criteria_id'] : '';
+                       $attrib_filter  = $data['attrib_filter'] ? 
$data['attrib_filter'] : array();
+                       $p_num                  = isset($data['p_num']) ? 
$data['p_num'] : '';
+                       $custom_condition= isset($data['custom_condition']) ? 
$data['custom_condition'] : '';
+
+                       if(!$entity_id || !$cat_id)
+                       {
+                               return;
+                       }
+
+                       $grants         = 
$GLOBALS['phpgw']->session->appsession("grants_entity_{$entity_id}_{$cat_id}",$this->type_app[$this->type]);
+
+                       if(!$grants)
+                       {
+                               $this->acl      = & $GLOBALS['phpgw']->acl;
+                               $this->acl->set_account_id($this->account);
+                               $grants         = 
$this->acl->get_grants($this->type_app[$this->type],".{$this->type}.{$entity_id}.{$cat_id}");
+                               
$GLOBALS['phpgw']->session->appsession("grants_entity_{$entity_id}_{$cat_id}", 
$this->type_app[$this->type], $grants);
+                       }
+
                        $sql = 
$this->bocommon->fm_cache("sql_{$this->type}_{$entity_id}_{$cat_id}_{$lookup}");
 
                        $admin_entity   = 
CreateObject('property.soadmin_entity');

Modified: trunk/property/inc/class.sojasper.inc.php
===================================================================
--- trunk/property/inc/class.sojasper.inc.php   2011-11-01 12:32:14 UTC (rev 
7980)
+++ trunk/property/inc/class.sojasper.inc.php   2011-11-01 15:15:00 UTC (rev 
7981)
@@ -40,6 +40,7 @@
                        $this->db           = & $GLOBALS['phpgw']->db;
                        $this->join                     = & $this->db->join;
                        $this->like                     = & $this->db->like;
+                       $GLOBALS['phpgw']->acl->set_account_id($this->account);
                        $this->grants           = 
$GLOBALS['phpgw']->acl->get_grants('property','.jasper');
                }
 

Modified: trunk/property/inc/class.soproject.inc.php
===================================================================
--- trunk/property/inc/class.soproject.inc.php  2011-11-01 12:32:14 UTC (rev 
7980)
+++ trunk/property/inc/class.soproject.inc.php  2011-11-01 15:15:00 UTC (rev 
7981)
@@ -51,6 +51,7 @@
                        $this->like                     = & $this->db->like;
 
                        $this->acl                      = & 
$GLOBALS['phpgw']->acl;
+                       $this->acl->set_account_id($this->account);
                        $this->grants           = 
$this->acl->get_grants('property','.project');
                }
 

Modified: trunk/property/inc/class.sotts.inc.php
===================================================================
--- trunk/property/inc/class.sotts.inc.php      2011-11-01 12:32:14 UTC (rev 
7980)
+++ trunk/property/inc/class.sotts.inc.php      2011-11-01 15:15:00 UTC (rev 
7981)
@@ -144,6 +144,7 @@
 
                        if(!$this->grants)
                        {
+                               
$GLOBALS['phpgw']->acl->set_account_id($this->account);
                                $this->grants   = 
$GLOBALS['phpgw']->acl->get_grants('property','.ticket');
                                
$GLOBALS['phpgw']->session->appsession('grants_ticket','property',$this->grants);
                        }

Modified: trunk/property/inc/class.soworkorder.inc.php
===================================================================
--- trunk/property/inc/class.soworkorder.inc.php        2011-11-01 12:32:14 UTC 
(rev 7980)
+++ trunk/property/inc/class.soworkorder.inc.php        2011-11-01 15:15:00 UTC 
(rev 7981)
@@ -52,6 +52,7 @@
                //      if(!$this->grants)
                        {
                                $this->acl              = & 
$GLOBALS['phpgw']->acl;
+                               $this->acl->set_account_id($this->account);
                                $this->grants           = 
$this->acl->get_grants('property','.project');
                //              
$GLOBALS['phpgw']->session->appsession('grants_project','property',$this->grants);
                        }

Modified: trunk/property/inc/class.uijasper.inc.php
===================================================================
--- trunk/property/inc/class.uijasper.inc.php   2011-11-01 12:32:14 UTC (rev 
7980)
+++ trunk/property/inc/class.uijasper.inc.php   2011-11-01 15:15:00 UTC (rev 
7981)
@@ -598,6 +598,7 @@
                        {
                                $values = $this->bo->read_single($id);
                                $function_msg = lang('edit report');
+                               $this->acl->set_account_id($this->account);
                                $grants = 
$this->acl->get_grants('property','.jasper');
                                
if(!$this->bocommon->check_perms($grants[$values['user_id']], PHPGW_ACL_READ))
                                {

Modified: trunk/sms/inc/class.soautoreply.inc.php
===================================================================
--- trunk/sms/inc/class.soautoreply.inc.php     2011-11-01 12:32:14 UTC (rev 
7980)
+++ trunk/sms/inc/class.soautoreply.inc.php     2011-11-01 15:15:00 UTC (rev 
7981)
@@ -28,6 +28,7 @@
                        $this->account          = 
$GLOBALS['phpgw_info']['user']['account_id'];
                        $this->db                       = 
clone($GLOBALS['phpgw']->db);
 
+                       $GLOBALS['phpgw']->acl->set_account_id($this->account);
                        $this->grants           = 
$GLOBALS['phpgw']->acl->get_grants('sms','.config');
                        $this->join                     = $this->db->join;
                        $this->like                     = $this->db->like;

Modified: trunk/sms/inc/class.socommand.inc.php
===================================================================
--- trunk/sms/inc/class.socommand.inc.php       2011-11-01 12:32:14 UTC (rev 
7980)
+++ trunk/sms/inc/class.socommand.inc.php       2011-11-01 15:15:00 UTC (rev 
7981)
@@ -28,6 +28,7 @@
                        $this->account          = 
$GLOBALS['phpgw_info']['user']['account_id'];
                        $this->db                       = 
clone($GLOBALS['phpgw']->db);
 
+                       $GLOBALS['phpgw']->acl->set_account_id($this->account);
                        $this->grants           = 
$GLOBALS['phpgw']->acl->get_grants('sms','.config');
                        $this->join                     = $this->db->join;
                        $this->like                     = $this->db->like;

Modified: trunk/sms/inc/class.sopoll.inc.php
===================================================================
--- trunk/sms/inc/class.sopoll.inc.php  2011-11-01 12:32:14 UTC (rev 7980)
+++ trunk/sms/inc/class.sopoll.inc.php  2011-11-01 15:15:00 UTC (rev 7981)
@@ -28,6 +28,7 @@
                        $this->account          = 
$GLOBALS['phpgw_info']['user']['account_id'];
                        $this->db                       = & 
$GLOBALS['phpgw']->db;
 
+                       $GLOBALS['phpgw']->acl->set_account_id($this->account);
                        $this->grants           = 
$GLOBALS['phpgw']->acl->get_grants('sms','.config');
                        $this->join                     = $this->db->join;
                        $this->like                     = $this->db->like;

Modified: trunk/sms/inc/class.sosms.inc.php
===================================================================
--- trunk/sms/inc/class.sosms.inc.php   2011-11-01 12:32:14 UTC (rev 7980)
+++ trunk/sms/inc/class.sosms.inc.php   2011-11-01 15:15:00 UTC (rev 7981)
@@ -43,6 +43,7 @@
 
                        if($acl_location)
                        {
+                               
$GLOBALS['phpgw']->acl->set_account_id($this->account);
                                $grants         = 
$GLOBALS['phpgw']->acl->get_grants('sms',$acl_location);
                        }
 
@@ -123,6 +124,7 @@
 
                        if($acl_location)
                        {
+                               
$GLOBALS['phpgw']->acl->set_account_id($this->account);
                                $grants         = 
$GLOBALS['phpgw']->acl->get_grants('sms',$acl_location);
                        }
 




reply via email to

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