phpgroupware-cvs
[Top][All Lists]
Advanced

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

[Phpgroupware-cvs] admin/inc class.boaclmanager.inc.php, 1.2, 1.3 class.


From: Bettina Gille <address@hidden>
Subject: [Phpgroupware-cvs] admin/inc class.boaclmanager.inc.php, 1.2, 1.3 class.uiaclmanager.inc.php, 1.6, 1.7 hook_admin.inc.php, 1.33, 1.34
Date: Thu, 06 Nov 2003 17:21:36 +0000

Update of /cvsroot/phpgroupware/admin/inc
In directory subversions:/tmp/cvs-serv7865

Modified Files:
        class.boaclmanager.inc.php class.uiaclmanager.inc.php 
        hook_admin.inc.php 
Log Message:
accounts_popup port to head

Index: hook_admin.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/admin/inc/hook_admin.inc.php,v
retrieving revision 1.33
retrieving revision 1.34
diff -C2 -d -r1.33 -r1.34
*** hook_admin.inc.php  21 Jul 2003 18:21:30 -0000      1.33
--- hook_admin.inc.php  6 Nov 2003 17:21:34 -0000       1.34
***************
*** 23,26 ****
--- 23,31 ----
        if (! $GLOBALS['phpgw']->acl->check('account_access',1,'admin'))
        {
+               $file['addressmasters'] = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaclmanager.list_addressmasters&account_id='
 . $GLOBALS['phpgw_info']['user']['account_id']);
+       }
+ 
+       if (! $GLOBALS['phpgw']->acl->check('account_access',1,'admin'))
+       {
                $file['User Accounts'] = 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaccounts.list_users');
        }

Index: class.uiaclmanager.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/admin/inc/class.uiaclmanager.inc.php,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** class.uiaclmanager.inc.php  24 May 2002 10:38:02 -0000      1.6
--- class.uiaclmanager.inc.php  6 Nov 2003 17:21:33 -0000       1.7
***************
*** 9,13 ****
        *  option) any later version.                                           
   *
        
\**************************************************************************/
- 
        /* $Id$ */
  
--- 9,12 ----
***************
*** 17,28 ****
                var $nextmatchs;
                var $public_functions = array(
!                       'list_apps'    => True,
!                       'access_form'  => True,
!                       'account_list' => True
                );
  
                function uiaclmanager()
                {
!                       $this->template = 
createobject('phpgwapi.Template',PHPGW_APP_TPL);
                }
  
--- 16,38 ----
                var $nextmatchs;
                var $public_functions = array(
!                       'list_apps'                             => True,
!                       'access_form'                   => True,
!                       'account_list'                  => True,
!                       'list_addressmasters'   => True,
!                       'edit_addressmasters'   => True,
!                       'accounts_popup'                => True
                );
  
                function uiaclmanager()
                {
!                       $this->account_id       = 
(intval($_GET['account_id'])?intval($_GET['account_id']):$GLOBALS['phpgw_info']['user']['account_id']);
! 
!                       if (!$this->account_id || 
$GLOBALS['phpgw']->acl->check('account_access',64,'admin'))
!                       {
!                               $GLOBALS['phpgw']->redirect_link('/index.php');
!                       }
!                       $this->template         = 
createobject('phpgwapi.Template',PHPGW_APP_TPL);
!                       $this->nextmatchs       = 
CreateObject('phpgwapi.nextmatchs');
!                       $this->boacl            = 
CreateObject('admin.boaclmanager');
                }
  
***************
*** 150,152 ****
--- 160,366 ----
                        $this->template->pfp('out','form');
                }
+ 
+               function list_addressmasters()
+               {
+                       $link_data = array
+                       (
+                               'menuaction'    => 
'admin.uiaclmanager.edit_addressmasters',
+                               'account_id'    => 
$GLOBALS['phpgw_info']['user']['account_id']
+                       );
+ 
+                       if ($_POST['edit'])
+                       {
+                               
$GLOBALS['phpgw']->redirect_link('/index.php',$link_data);
+                       }
+ 
+                       if ($_POST['done'])
+                       {
+                               
$GLOBALS['phpgw']->redirect_link('/admin/index.php');
+                       }
+ 
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('admin') . ': ' . lang('list addressmasters');
+                       $GLOBALS['phpgw']->common->phpgw_header();
+                       echo parse_navbar();
+ 
+                       
$GLOBALS['phpgw']->template->set_file(array('admin_list_t' => 
'list_accountmasters.tpl'));
+                       
$GLOBALS['phpgw']->template->set_block('admin_list_t','user_list','list');
+                       
$GLOBALS['phpgw']->template->set_block('admin_list_t','group_list','glist');
+ 
+                       
$GLOBALS['phpgw']->template->set_var('th_bg',$GLOBALS['phpgw_info']['theme']['th_bg']);
+ 
+                       
$GLOBALS['phpgw']->template->set_var('sort_lid',lang('loginid'));
+                       
$GLOBALS['phpgw']->template->set_var('sort_firstname',lang('firstname'));
+                       
$GLOBALS['phpgw']->template->set_var('sort_lastname',lang('lastname'));
+                       
$GLOBALS['phpgw']->template->set_var('sort_name',lang('name'));
+                       
$GLOBALS['phpgw']->template->set_var('lang_edit',lang('edit'));
+                       
$GLOBALS['phpgw']->template->set_var('lang_done',lang('done'));
+                       
$GLOBALS['phpgw']->template->set_var('lang_users',lang('users'));
+                       
$GLOBALS['phpgw']->template->set_var('lang_groups',lang('groups'));
+ 
+                       $admins = $this->boacl->list_addressmasters();
+                       
+                       //_debug_array($admins);
+ 
+                       if(is_array($admins))
+                       {
+                               foreach($admins as $admin)
+                               {
+                                       if ($admin['lastname'] != 'Group')
+                                       {
+                                               
$this->nextmatchs->template_alternate_row_color(&$GLOBALS['phpgw']->template);
+                                       
+                                               
$GLOBALS['phpgw']->template->set_var(array
+                                                                               
     (
+                                                                               
             'lid'              => $admin['lid'],
+                                                                               
             'firstname'=> $admin['firstname'],
+                                                                               
             'lastname' => $admin['lastname'])
+                                                       );
+ 
+                                               
$GLOBALS['phpgw']->template->fp('list','user_list',True);
+                                       }
+                               }
+                       }
+ 
+                       $gadmins = $this->boacl->list_addressmasters(8);
+                       
+                       if(is_array($gadmins))
+                       {
+                               foreach($gadmins as $gadmin)
+                               {
+                                       if ($gadmin['lastname'] == 'Group')
+                                       {
+                                               
$this->nextmatchs->template_alternate_row_color(&$GLOBALS['phpgw']->template);
+                                       
+                                               
$GLOBALS['phpgw']->template->set_var(array
+                                                                               
     (
+                                                                               
             'lid'              => $gadmin['lid'],
+                                                                               
             'firstname'=> $gadmin['firstname'],
+                                                                               
             'lastname' => $gadmin['lastname'])
+                                                       );
+                                               
$GLOBALS['phpgw']->template->fp('glist','group_list',True);
+                                       }
+                               }
+                       }
+ 
+ 
+ 
+                       
$GLOBALS['phpgw']->template->pfp('out','admin_list_t',True);
+               }
+ 
+               function accounts_popup()
+               {
+                       
$GLOBALS['phpgw']->accounts->accounts_popup('admin_acl');
+               }
+ 
+               function edit_addressmasters()
+               {
+                       $link_data = array
+                       (
+                               'menuaction'    => 
'admin.uiaclmanager.list_addressmasters',
+                               'account_id'    => 
$GLOBALS['phpgw_info']['user']['account_id']
+                       );
+ 
+                       if ($_POST['save'])
+                       {
+                               $error = 
$this->boacl->check_values($_POST['account_addressmaster'],$_POST['group_addressmaster']);
+                               if(is_array($error))
+                               {
+                                       
$GLOBALS['phpgw']->template->set_var('error_message',$GLOBALS['phpgw']->common->error_list($error));
+                               }
+                               else
+                               {
+                                       
$this->boacl->edit_addressmasters($_POST['account_addressmaster'],$_POST['group_addressmaster']);
+                                       
$GLOBALS['phpgw']->redirect_link('/index.php',$link_data);
+                               }
+                       }
+ 
+                       if ($_POST['cancel'])
+                       {
+                               
$GLOBALS['phpgw']->redirect_link('/index.php',$link_data);
+                       }
+ 
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('admin') . ': ' . lang('edit addressmaster list');
+                       $GLOBALS['phpgw']->common->phpgw_header();
+                       echo parse_navbar();
+ 
+                       $GLOBALS['phpgw']->template->set_file(array('admin_add' 
=> 'form_accountmasters.tpl'));
+                       
$GLOBALS['phpgw']->template->set_block('admin_add','select');
+                       
$GLOBALS['phpgw']->template->set_block('admin_add','popwin');
+ 
+                       
$GLOBALS['phpgw']->template->set_var('lang_select_addressmasters',lang('Select 
addressmasters'));
+                       
$GLOBALS['phpgw']->template->set_var('lang_save',lang('save'));
+                       
$GLOBALS['phpgw']->template->set_var('lang_cancel',lang('cancel'));
+ 
+                       $link_data['menuaction'] = 
'admin.uiaclmanager.edit_addressmasters';
+                       
$GLOBALS['phpgw']->template->set_var('action_url',$GLOBALS['phpgw']->link('/index.php',$link_data));
+ 
+                       if 
($GLOBALS['phpgw_info']['user']['preferences']['common']['account_selection'] 
== 'popup')
+                       {
+                               $usel = $this->boacl->list_addressmasters();
+                               
$GLOBALS['phpgw']->template->set_var('accounts_link',$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiaclmanager.accounts_popup'));
+                               
$GLOBALS['phpgw']->template->set_var('lang_open_popup',lang('open popup 
window'));
+ 
+                               while(is_array($usel) && list(,$acc) = 
each($usel))
+                               {
+                                       $user_list .= '<option value="' . 
$acc['account_id'] . '" selected>'
+                                                               . 
$GLOBALS['phpgw']->common->display_fullname($acc['lid'],$acc['firstname'],$acc['lastname'])
+                                                               . 
'</option>'."\n";
+                               }
+                               $account_num = count($sel_accounts);
+                               
$GLOBALS['phpgw']->template->set_var('select_size',($account_num < 
7?$account_num:7));
+                               
$GLOBALS['phpgw']->template->set_var('account_list',$user_list);
+                               
$GLOBALS['phpgw']->template->fp('accounts','popwin',True);
+                       }
+                       else
+                       {
+                               
$GLOBALS['phpgw']->template->set_var('lang_select_users',lang('Select users'));
+                               
$GLOBALS['phpgw']->template->set_var('lang_select_groups',lang('Select 
groups'));
+ 
+                               $app_user = 
$GLOBALS['phpgw']->acl->get_ids_for_location('run',1,'addressbook');
+ 
+                               $add_users = 
$GLOBALS['phpgw']->accounts->return_members($app_user);
+ 
+                               $usel = $this->boacl->get_addressmaster_ids();
+ 
+                               //_debug_array($usel);
+                               for($i=0;$i<count($add_users['users']);$i++)
+                               {
+                                       $user_list .= '<option value="' . 
$add_users['users'][$i] . '"';
+                                       if (is_array($usel) && 
in_array($add_users['users'][$i],$usel))
+                                       {
+                                               $user_list .= ' SELECTED';
+                                       }
+                                       $user_list .= '>';
+                                       $user_list .= 
$GLOBALS['phpgw']->common->grab_owner_name($add_users['users'][$i])
+                                                       . '</option>' . "\n";
+                               }
+ 
+                               $add_user_num = count($add_users['users']);
+                               
$GLOBALS['phpgw']->template->set_var('u_select_size',($add_user_num < 
7?$add_user_num:7));
+                               
$GLOBALS['phpgw']->template->set_var('user_list',$user_list);
+ 
+                               for($i=0;$i<count($add_users['groups']);$i++)
+                               {
+                                       $group_list .= '<option value="' . 
$add_users['groups'][$i] . '"';
+                                       if (is_array($usel) && 
in_array($add_users['groups'][$i],$usel))
+                                       {
+                                               $group_list .= ' selected';
+                                       }
+                                       $group_list .= '>';
+                                       $group_list .= 
$GLOBALS['phpgw']->common->grab_owner_name($add_users['groups'][$i])
+                                                       . '</option>' . "\n";
+                               }
+ 
+                               $add_group_num = count($add_users['groups']);
+                               
$GLOBALS['phpgw']->template->set_var('g_select_size',($add_group_num < 
7?$add_group_num:7));
+                               
$GLOBALS['phpgw']->template->set_var('group_list',$group_list);
+ 
+                               
$GLOBALS['phpgw']->template->fp('accounts','select',True);
+                       }
+ 
+                       $GLOBALS['phpgw']->template->set_var('select','');
+                       $GLOBALS['phpgw']->template->set_var('popwin','');
+                       $GLOBALS['phpgw']->template->pfp('out','admin_add');
+               }
        }
+ ?>

Index: class.boaclmanager.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/admin/inc/class.boaclmanager.inc.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** class.boaclmanager.inc.php  4 Sep 2001 03:34:02 -0000       1.2
--- class.boaclmanager.inc.php  6 Nov 2003 17:21:33 -0000       1.3
***************
*** 9,20 ****
        *  option) any later version.                                           
   *
        
\**************************************************************************/
- 
        /* $Id$ */
  
        class boaclmanager
        {
!               var $ui;
!               var $so;
!               var $public_functions = array(
                        'submit' => True
                );
--- 9,18 ----
        *  option) any later version.                                           
   *
        
\**************************************************************************/
        /* $Id$ */
  
        class boaclmanager
        {
!               var $public_functions = array
!               (
                        'submit' => True
                );
***************
*** 22,27 ****
                function boaclmanager()
                {
!                       //$this->so = createobject('admin.soaclmanager');
!                       $this->ui = createobject('admin.uiaclmanager');
                }
  
--- 20,24 ----
                function boaclmanager()
                {
!                       //$this->ui = createobject('admin.uiaclmanager');
                }
  
***************
*** 30,34 ****
                        if ($GLOBALS['cancel'])
                        {
!                               $this->ui->list_apps();
                                return False;
                        }
--- 27,31 ----
                        if ($GLOBALS['cancel'])
                        {
!                               //$this->ui->list_apps();
                                return False;
                        }
***************
*** 44,49 ****
                        
$GLOBALS['phpgw']->acl->add_repository($GLOBALS['acl_app'], $location, 
$GLOBALS['account_id'], $total_rights);
  
!                       $this->ui->list_apps();
                }
  
        }
--- 41,98 ----
                        
$GLOBALS['phpgw']->acl->add_repository($GLOBALS['acl_app'], $location, 
$GLOBALS['account_id'], $total_rights);
  
!                       //$this->ui->list_apps();
                }
  
+               function get_addressmaster_ids()
+               {
+                       return 
$GLOBALS['phpgw']->acl->get_ids_for_location('addressmaster',7,'addressbook');
+               }
+ 
+               function list_addressmasters($rights=7)
+               {
+                       $admins = $this->get_addressmaster_ids($rights);
+                       //_debug_array($admins);
+ 
+                       for($i=0;$i<count($admins);$i++)
+                       {
+                               $acc_name = 
$GLOBALS['phpgw']->accounts->get_account_data($admins[$i]);
+                               $data[] = array(
+                                               'account_id'    => $admins[$i],
+                                               'lid'                   => 
$acc_name[$admins[$i]]['lid'],
+                                               'firstname'             => 
$acc_name[$admins[$i]]['firstname'],
+                                               'lastname'              => 
$acc_name[$admins[$i]]['lastname']
+                                               );
+                       }
+ 
+                       $this->total = count($data);
+                       return $data;
+               }
+ 
+               function check_values($users = 0, $groups = 0)
+               {
+                       if(!is_array($users) && !is_array($groups))
+                       {
+                               $error[] = lang('please choose at least one 
addressmaster');
+                       }
+                       if (is_array($error))
+                       {
+                               return $error;
+                       }
+               }
+ 
+               function edit_addressmasters($master,$group = 0)
+               {
+                       
$GLOBALS['phpgw']->acl->delete_repository('addressbook','addressmaster',False);
+ 
+                       for($i=0;$i<count($master);$i++)
+                       {
+                               
$GLOBALS['phpgw']->acl->add_repository('addressbook', 
'addressmaster',$master[$i],7);
+                       }
+ 
+                       for($i=0;$i<count($group);$i++)
+                       {
+                               
$GLOBALS['phpgw']->acl->add_repository('addressbook', 
'addressmaster',$group[$i],7);
+                       }
+               }
        }
+ ?>





reply via email to

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