source: branches/2.2/jabberit_messenger/inc/class.uigroupsldap.inc.php @ 3102

Revision 3102, 5.6 KB checked in by amuller, 14 years ago (diff)

Ticket #986 - Efetuado merge para o Branch 2.2( atualizacao do modulo)

  • Property svn:executable set to *
Line 
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
13require_once "class.bogroupsldap.inc.php";
14
15class uigroupsldap
16{
17        private $bo;
18       
19        public $public_functions = array (
20                        'edit' => True,
21                        'editServersLdap' => True,
22                        'setAddGroups' => True
23        );             
24       
25        function __construct()
26        {
27                $this->bo = new bogroupsldap();
28                $GLOBALS['phpgw_info']['flags']['app_header'] = lang('Admin') .' - ' . 'Servidores Jabber';     
29        }
30
31        function edit()
32        {
33                if( !$GLOBALS['phpgw']->acl->check('run',1,'admin') )
34                {
35                        $GLOBALS['phpgw']->redirect_link('/admin/index.php');
36                }               
37               
38                $GLOBALS['phpgw']->common->phpgw_header();
39                echo parse_navbar();
40
41                $ldapInternal = $this->bo->getServerLdapInternal();
42
43                $valueListsLdaps = "";
44                $valueListsLdaps .= "<tr>";
45                $valueListsLdaps .= "<td>&nbsp;".$ldapInternal."</td>";
46                $valueListsLdaps .= "<td><a href='index.php?menuaction=jabberit_messenger.uigroupsldap.editServersLdap&host=".$ldapInternal."'>&nbsp;".lang('View')."</a></td>";
47                $valueListsLdaps .= "</tr>";
48
49                // Ldap Externos               
50                $serversLdap = $this->bo->getServersLdapExternal();
51
52                if(is_array($serversLdap))
53                {
54                        foreach($serversLdap as $tmp)
55                        {
56                                $valueListsLdaps .= "<tr>";     
57                                $valueListsLdaps .= "<td>&nbsp;".$tmp['serverLdap']."</td>";   
58                                $valueListsLdaps .= "<td><a href='index.php?menuaction=jabberit_messenger.uigroupsldap.editServersLdap&host=".$tmp['serverLdap']."'>&nbsp;".lang('View')."</a></td>";
59                                $valueListsLdaps .= "</tr>";
60                        }       
61                }
62               
63                $GLOBALS['phpgw']->template->set_file(array('jabberit_messenger'=>'groupsLdap.tpl'));
64                $GLOBALS['phpgw']->template->set_block('jabberit_messenger','groups_ldap');     
65                $GLOBALS['phpgw']->template->set_var(array(
66                                                                                                'action_url_back' => './index.php?menuaction=jabberit_messenger.uiconfig.configPermission',                                                                             
67                                                                                                'label_Back' => "Voltar",
68                                                                                                'lang_Edit' => lang('View'),
69                                                                                                'lang_Servers_ldap' => "Servidores Ldap",
70                                                                                                'value_lists_ldaps' => $valueListsLdaps,
71                                                                                        ));
72
73                $GLOBALS['phpgw']->template->pparse('out','groups_ldap');
74
75        }       
76       
77        function editServersLdap()
78        {
79                if( !$GLOBALS['phpgw']->acl->check('run',1,'admin') )
80                {
81                        $GLOBALS['phpgw']->redirect_link('/admin/index.php');
82                }
83
84                $GLOBALS['phpgw']->common->phpgw_header();
85                echo parse_navbar();
86               
87                $webserver_url = $GLOBALS['phpgw_info']['server']['webserver_url'];
88                $webserver_url = ( !empty($webserver_url) ) ? $webserver_url : '/';
89
90                if(strrpos($webserver_url,'/') === false || strrpos($webserver_url,'/') != (strlen($webserver_url)-1))
91                        $webserver_url .= '/';
92
93                echo '<script type="text/javascript">var path_jabberit="'.$webserver_url .'"</script>';
94               
95                $optionsOUS = "<option value='-1'>-- ".lang('Select Organization')." --</option>";     
96               
97                if( ($LdapOus = $this->bo->getOrganizationsLdap($_REQUEST['host'])) )
98                {
99                        foreach( $LdapOus as $key => $val )
100                                $optionsOUS .= "<option value='".$key."'>".$val."</option>";
101                }
102
103                $optionsGroups = "";
104               
105                if( ($groupsLdaps = unserialize($this->bo->getGroupsSearch())))
106                {
107                        if(count($groupsLdaps) > 0 )
108                        {
109                                foreach( $groupsLdaps as $key => $val )
110                                {
111                                        if( trim($key) == trim($_REQUEST['host']) )
112                                        {
113                                                $groups = unserialize($val);
114
115                                                if( $groups )
116                                                {
117                                                        natcasesort($groups);
118                                                       
119                                                        foreach($groups as $tmp)
120                                                        {
121                                                                $grp = explode(":", $tmp);
122                                                                $optionsGroups .= "<option value='".$tmp."'>".$grp[0]."</option>";
123                                                        }
124                                                }                                               
125                                        }
126                                }
127                        }       
128                }
129
130
131                $GLOBALS['phpgw']->template->set_file(array('jabberit_messenger'=>'groupsLdap.tpl'));
132                $GLOBALS['phpgw']->template->set_block('jabberit_messenger','edit_servers');   
133                $GLOBALS['phpgw']->template->set_var(array(
134                                                                                                'action_url' => $GLOBALS['phpgw']->link('/index.php','menuaction=jabberit_messenger.uigroupsldap.setAddGroups'),                                                                               
135                                                                                                'label_Back'            => "Voltar",
136                                                                                                'label_serverLdap'      => lang("Server Ldap"),
137                                                                                                'lang_add'                      => lang("add"),
138                                                                                                'lang_cancel'           => lang("Cancel"),
139                                                                                                'lang_description'      => "Adicione somente os grupos que possuem o módulo JMessenger liberado.",
140                                                                                                'lang_groups_add'       => lang("Groups Added"),
141                                                                                                'lang_groups_ldap'      => lang("Groups Ldap"),
142                                                                                                'lang_organizations'    => lang("Organizations"),
143                                                                                                'lang_remove'           => lang("Remove"),
144                                                                                                'lang_save'                     => lang("Save"),
145                                                                                                'lang_Search_quick_for' => "Busca rápida por",
146                                                                                                'lang_settings'         => lang("Settings"),
147                                                                                                'value_ous_ldap'        => $optionsOUS,
148                                                                                                'value_groups_added'    => $optionsGroups,                                                                                             
149                                                                                                'value_serverLdap'      => $_REQUEST['host']
150                                                                                        ));
151
152                $GLOBALS['phpgw']->template->pparse('out','edit_servers');
153               
154        }
155       
156        function setAddGroups()
157        {
158                if( !$GLOBALS['phpgw']->acl->check('run',1,'admin') )
159                {
160                        $GLOBALS['phpgw']->redirect_link('/admin/index.php');
161                }
162       
163                if( $_POST['cancel'] )
164                {
165                        $this->edit();
166                }
167               
168                if( $_POST['save'])
169                {
170                        $serverLdap = array( $_POST['name_serverLdap'] => serialize($_POST['groups_added_jabberit']));
171                        $this->bo->setAddGroups($serverLdap);
172                        $this->edit();
173                }
174        }
175}
176
177?>
Note: See TracBrowser for help on using the repository browser.