source: trunk/jabberit_messenger/inc/class.uigroupsldap.inc.php @ 1758

Revision 1758, 5.6 KB checked in by alexandrecorreia, 14 years ago (diff)

Ticket #808 - Busca implementada utilizando somente os grupos cadastrados.

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