1 | <?php |
---|
2 | |
---|
3 | /***************************************************************************\ |
---|
4 | * Expresso - Expresso Messenger * |
---|
5 | * - Alexandre Correia / Rodrigo Souza * |
---|
6 | * ------------------------------------------------------------------------- * |
---|
7 | * This program is free software; you can redistribute it and/or modify it * |
---|
8 | * under the terms of the GNU General Public License as published by the * |
---|
9 | * Free Software Foundation; either version 2 of the License, or (at your * |
---|
10 | * option) any later version. * |
---|
11 | \***************************************************************************/ |
---|
12 | |
---|
13 | require_once "class.bogroupslocked.inc.php"; |
---|
14 | |
---|
15 | class uigroupslocked |
---|
16 | { |
---|
17 | |
---|
18 | private $bo; |
---|
19 | |
---|
20 | public $public_functions = array( |
---|
21 | 'add' => True, |
---|
22 | 'editGroups' => True, |
---|
23 | ); |
---|
24 | |
---|
25 | function __construct() |
---|
26 | { |
---|
27 | $this->bo = new bogroupslocked(); |
---|
28 | |
---|
29 | if(!isset($_SESSION['phpgw_info']['jabberit_messenger']['ldapManager']['host'])) |
---|
30 | { |
---|
31 | $_SESSION['phpgw_info']['jabberit_messenger']['ldapManager']['host'] = $GLOBALS['phpgw_info']['server']['ldap_host']; |
---|
32 | $_SESSION['phpgw_info']['jabberit_messenger']['ldapManager']['acc'] = $GLOBALS['phpgw_info']['server']['ldap_root_dn']; |
---|
33 | $_SESSION['phpgw_info']['jabberit_messenger']['ldapManager']['pw'] = $GLOBALS['phpgw_info']['server']['ldap_root_pw']; |
---|
34 | $_SESSION['phpgw_info']['jabberit_messenger']['ldapManager']['dn'] = $GLOBALS['phpgw_info']['server']['ldap_context']; |
---|
35 | } |
---|
36 | } |
---|
37 | |
---|
38 | public final function editGroups() |
---|
39 | { |
---|
40 | if($GLOBALS['phpgw']->acl->check('applications_access',1,'admin')) |
---|
41 | { |
---|
42 | $GLOBALS['phpgw']->redirect_link('/index.php'); |
---|
43 | } |
---|
44 | |
---|
45 | $GLOBALS['phpgw_info']['flags']['app_header'] = lang('Admin') .' - ' . 'Restringir o Uso do Módulo por Grupo'; |
---|
46 | |
---|
47 | $_SESSION['phpgwinfo']['db_host'] = $GLOBALS['phpgw_info']['server']['db_host']; |
---|
48 | $_SESSION['phpgwinfo']['db_port'] = $GLOBALS['phpgw_info']['server']['db_port']; |
---|
49 | $_SESSION['phpgwinfo']['db_name'] = $GLOBALS['phpgw_info']['server']['db_name']; |
---|
50 | $_SESSION['phpgwinfo']['db_user'] = $GLOBALS['phpgw_info']['server']['db_user']; |
---|
51 | $_SESSION['phpgwinfo']['db_pass'] = $GLOBALS['phpgw_info']['server']['db_pass']; |
---|
52 | $_SESSION['phpgwinfo']['db_type'] = $GLOBALS['phpgw_info']['server']['db_type']; |
---|
53 | |
---|
54 | $GLOBALS['phpgw']->common->phpgw_header(); |
---|
55 | echo parse_navbar(); |
---|
56 | |
---|
57 | $webserver_url = $GLOBALS['phpgw_info']['server']['webserver_url']; |
---|
58 | $webserver_url = ( !empty($webserver_url) ) ? $webserver_url : '/'; |
---|
59 | |
---|
60 | if(strrpos($webserver_url,'/') === false || strrpos($webserver_url,'/') != (strlen($webserver_url)-1)) |
---|
61 | $webserver_url .= '/'; |
---|
62 | |
---|
63 | echo '<script type="text/javascript">var path_jabberit="'.$webserver_url .'"</script>'; |
---|
64 | |
---|
65 | // Load Language; |
---|
66 | require_once "load_lang.php"; |
---|
67 | require_once "class.ldap_im.inc.php"; |
---|
68 | |
---|
69 | $ldap = new ldap_im(); |
---|
70 | |
---|
71 | $ous = "<option value='-1'>-- ".lang('Select Organization')." --</option>"; |
---|
72 | |
---|
73 | if( ($LdapOus = $ldap->getOrganizationsLdap()) ) |
---|
74 | { |
---|
75 | foreach($LdapOus as $key=>$val ) |
---|
76 | $ous .= "<option value='".$val."'>".$val."</option>"; |
---|
77 | } |
---|
78 | |
---|
79 | $groupsRestricts = ""; |
---|
80 | |
---|
81 | if(isset($GLOBALS['phpgw_info']['server']['groups_locked_jabberit'])) |
---|
82 | { |
---|
83 | $glocked = explode(';',$GLOBALS['phpgw_info']['server']['groups_locked_jabberit']); |
---|
84 | natcasesort($glocked); |
---|
85 | |
---|
86 | foreach( $glocked as $tmp ){ |
---|
87 | $option = explode(":",$tmp); |
---|
88 | $groupsRestricts .= "<option value='".$tmp."'>".$option[0]."</option>"; |
---|
89 | } |
---|
90 | } |
---|
91 | |
---|
92 | $GLOBALS['phpgw']->template->set_file(array('jabberit_messenger'=>'groupslocked.tpl')); |
---|
93 | $GLOBALS['phpgw']->template->set_block('jabberit_messenger','groups_locked'); |
---|
94 | $GLOBALS['phpgw']->template->set_var(array( |
---|
95 | 'action_url' => $GLOBALS['phpgw']->link('/index.php','menuaction=jabberit_messenger.uigroupslocked.add'), |
---|
96 | 'lang_add' => "Adicionar", |
---|
97 | 'lang_cancel' => lang('Cancel'), |
---|
98 | 'lang_description' => "Os grupos cadastrados como restritos, só poderão adicionar contatos da sua própria organização", |
---|
99 | 'lang_grupos_ldap' => "Grupos Ldap", |
---|
100 | 'lang_grupos_restritos' => "Grupos Restritos", |
---|
101 | 'lang_save' => lang('Save'), |
---|
102 | 'lang_Jabberit_settings' => "Configurações", |
---|
103 | 'lang_remove' => "Remover", |
---|
104 | 'lang_organizations' => lang('Organizations'), |
---|
105 | 'groups_restricts' => trim($groupsRestricts), |
---|
106 | 'ous_ldap' => $ous |
---|
107 | )); |
---|
108 | |
---|
109 | $GLOBALS['phpgw']->template->pparse('out','groups_locked'); |
---|
110 | } |
---|
111 | |
---|
112 | public final function add() |
---|
113 | { |
---|
114 | if( !$GLOBALS['phpgw']->acl->check('run',1,'admin') ) |
---|
115 | { |
---|
116 | $GLOBALS['phpgw']->redirect_link('/admin/index.php'); |
---|
117 | } |
---|
118 | |
---|
119 | if ( $_POST['save'] ) |
---|
120 | { |
---|
121 | $this->bo->setGroupsLocked($_POST['groups_locked_jabberit']); |
---|
122 | } |
---|
123 | |
---|
124 | $GLOBALS['phpgw']->redirect_link('/admin/index.php'); |
---|
125 | } |
---|
126 | } |
---|
127 | |
---|
128 | ?> |
---|