source: trunk/expressoAdmin1_2/inc/class.uidomains.inc.php @ 283

Revision 283, 7.6 KB checked in by wmerlotto, 13 years ago (diff)

Internacionalizacao do ExpressoAdmin

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1<?php
2        /************************************************************************************\
3        * Expresso Administração                                                                                                     *
4        * by Joao Alfredo Knopik Junior (joao.alfredo@gmail.com, jakjr@celepar.pr.gov.br)        *
5        * -----------------------------------------------------------------------------------*
6        *  This program is free software; you can redistribute it and/or modify it                       *
7        *  under the terms of the GNU General Public License as published by the                         *
8        *  Free Software Foundation; either version 2 of the License, or (at your                        *
9        *  option) any later version.                                                                                                            *
10        \************************************************************************************/
11
12        class uidomains
13        {
14                var $public_functions = array
15                (
16                        'list_domains'  => True,
17                        'add'                   => True,
18                        'delete'                => True,
19                        'validate_data' => True
20                );
21
22                var $db;
23                var $ldap_functions;
24                var $functions;
25                var $nextmatchs;
26                       
27                function uidomains()
28                {
29                        $this->db = CreateObject('expressoAdmin1_2.db_functions');
30                        $this->ldap_functions = CreateObject('expressoAdmin1_2.ldap_functions');
31                        $this->functions = CreateObject('expressoAdmin1_2.functions');
32                        $this->nextmatchs = CreateObject('phpgwapi.nextmatchs');
33                }
34               
35                function list_domains()
36                {
37                        $account_lid = $GLOBALS['phpgw']->accounts->data['account_lid'];
38                        $tmp = $this->functions->read_acl($account_lid);
39                        $manager_context = $tmp[0]['context'];
40                        $context_display = $tmp[0]['context_display'];
41                       
42                        // Verifica se o administrador tem acesso.
43                        if (!$this->functions->check_acl($account_lid,'edit_sambadomains'))
44                        {
45                                $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/expressoAdmin1_2/inc/access_denied.php'));
46                        }
47                       
48                        unset($GLOBALS['phpgw_info']['flags']['noheader']);
49                        unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
50
51                        $GLOBALS['phpgw_info']['flags']['app_header'] = $GLOBALS['phpgw_info']['apps']['expressoAdmin1_2']['title'].' - '.lang('Samba domains');
52                        $GLOBALS['phpgw']->common->phpgw_header();
53
54                        $p = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
55                        $p->set_file(array('domains' => 'domains.tpl'));
56                        $p->set_block('domains','list','list');
57                        $p->set_block('domains','row','row');
58                        $p->set_block('domains','row_empty','row_empty');
59                       
60                        $sambadomains_info = $this->db->get_sambadomains_list();
61
62                        if (!count($sambadomains_info))
63                        {
64                                $p->set_var('message',lang('No matches found'));
65                        }
66                        else
67                        {
68                                foreach($sambadomains_info as $domains)
69                                {
70                                        $tr_color = $this->nextmatchs->alternate_row_color($tr_color);
71                                       
72                                        $var = Array(
73                                                'tr_color'              => $tr_color,
74                                                'sambadomainname'       => $domains['samba_domain_name'],
75                                                'sambaSID'                      => $domains['samba_domain_sid'],
76                                                'delete_link'           => $this->row_action('delete',$domains['samba_domain_name'])
77                                        );
78                                        $p->set_var($var);
79                                        $p->fp('rows','row',True);
80                                }
81                        }
82                       
83                        $var = Array(
84                                'th_bg'                         => $GLOBALS['phpgw_info']['theme']['th_bg'],
85                                'back_url'                      => $GLOBALS['phpgw']->link('/expressoAdmin1_2/index.php'),
86                                'lang_sambadomainsname'         => lang('Samba domain name'),
87                                'lang_sambaSID'                 => lang('Samba domain SID'),
88                                'lang_delete'                   => lang('Delete'),                             
89                                'lang_back'                     => lang('Back'),
90                                'action'        => $GLOBALS['phpgw']->link('/index.php','menuaction=expressoAdmin1_2.uidomains.add'),
91                                'input_add'                     => '<input type="submit" value="' . lang('Create Samba domain') . '">'
92                        );
93                        $p->set_var($var);
94                        $p->parse('rows','row_empty',True);
95                        $p->pfp('out','list');
96                }
97
98               
99                function add()
100                {
101                        $account_lid = $GLOBALS['phpgw']->accounts->data['account_lid'];
102                        $acl = $this->functions->read_acl($account_lid);
103                        $manager_context = $acl[0]['context'];
104                       
105                        $context = $_GET['context'];
106                       
107                        // Verifica se tem acesso a este modulo
108                        if (!$this->functions->check_acl($account_lid,'edit_sambadomains'))
109                        {
110                                $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/expressoAdmin1_2/inc/access_denied.php'));
111                        }
112
113                        // Pega combo das organizações e seleciona, caso seja um post, o setor que o usuario selecionou.
114                        $organizations = $this->functions->get_sectors($_POST['context'], false, false);
115                       
116                        unset($GLOBALS['phpgw_info']['flags']['noheader']);
117                        unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
118                        $GLOBALS['phpgw_info']['flags']['app_header'] = $GLOBALS['phpgw_info']['apps']['expressoAdmin1_2']['title'].' - '.lang('Create Samba domain');
119                        $GLOBALS['phpgw']->common->phpgw_header();
120                       
121                        // Set o template
122                        $p = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
123                        $p->set_file(Array('create_sambadomains' => 'domains_form.tpl'));
124                                               
125                        // Seta variaveis utilizadas pelo tpl.
126                        $var = Array(
127                                'action'                => $GLOBALS['phpgw']->link('/index.php','menuaction=expressoAdmin1_2.uidomains.validate_data'),
128                                'back_url'              => $GLOBALS['phpgw']->link('/index.php','menuaction=expressoAdmin1_2.uidomains.list_domains'),
129                                'row_on'                => "#DDDDDD",
130                                'row_off'               => "#EEEEEE",
131                                'color_bg1'             => "#E8F0F0",
132                               
133                                'lang_organizations'    => lang('Organizations'),
134                                'lang_name'                             => lang('Samba domain name'),
135                                'lang_sid'                              => lang('Samba domain SID'),
136                                'lang_save'                             => lang('Save'),
137                                'lang_back'                             => lang('Back'),
138                               
139                                'organizations'         => $organizations,
140                                'sambadomainname'       => $_POST['sambadomainname'],
141                                'sambasid'                      => $_POST['sambasid'],
142                               
143                                'error_messages' => $_POST['error_messages'] == '' ? '' : "<script type='text/javascript'>alert('".$_POST['error_messages']."')</script>",
144                        );
145                        $p->set_var($var);
146
147                        $p->pfp('out','create_sambadomains');
148                }
149               
150                function validate_data()
151                {
152                        if ($_POST['sambadomainname'] == '')
153                        {
154                                $_POST['error_messages'] = lang('Samba domain name is empty') . '.';
155                                ExecMethod('expressoAdmin1_2.uidomains.add');
156                                return;
157                        }
158
159                        if ($_POST['sambasid'] == '')
160                        {
161                                $_POST['error_messages'] = lang('Samba domain SID is empty') . '.';
162                                ExecMethod('expressoAdmin1_2.uidomains.add');
163                                return;
164                        }
165
166                        // Verifica se o name do dominio está sendo usado.
167                        if ($this->db->exist_domain_name_sid($_POST['sambadomainname'], $_POST['sambasid']))
168                        {
169                                $_POST['error_messages'] = lang('Samba domain name or SID already exists') . '.';
170                                ExecMethod('expressoAdmin1_2.uidomains.add');
171                                return;
172                        }
173                       
174                        $return = $this->ldap_functions->add_sambadomain(strtoupper($_POST['sambadomainname']), $_POST['sambasid'], $_POST['context']);
175                        if (!$return['status'])
176                        {
177                                $_POST['error_messages'] = $return['msg'];
178                                ExecMethod('expressoAdmin1_2.uidomains.add');
179                                return;
180                        }
181                       
182                        $this->db->add_sambadomain(strtoupper($_POST['sambadomainname']), $_POST['sambasid']);
183                       
184                        ExecMethod('expressoAdmin1_2.uidomains.list_domains');
185                        return;
186                }
187               
188                function delete()
189                {
190                        $account_lid = $GLOBALS['phpgw']->accounts->data['account_lid'];
191                        $acl = $this->functions->read_acl($account_lid);
192                        $manager_context = $acl[0]['context'];
193                       
194                        // Verifica se tem acesso a este modulo
195                        if (!$this->functions->check_acl($account_lid,'edit_sambadomains'))
196                        {
197                                $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/expressoAdmin1_2/inc/access_denied.php'));
198                        }
199                       
200                        $return = $this->ldap_functions->delete_sambadomain($_GET['sambadomainname']);
201                        if (!$return['status'])
202                        {
203                                echo $return['msg'];
204                                //ExecMethod('expressoAdmin1_2.uidomains.add');
205                                return;
206                        }
207                        $this->db->delete_sambadomain($_GET['sambadomainname']);
208                       
209                        ExecMethod('expressoAdmin1_2.uidomains.list_domains');
210                        return;
211                }
212               
213                function row_action($action,$sambadomainname)
214                {
215                        return '<a href="'.$GLOBALS['phpgw']->link('/index.php',Array(
216                                'menuaction'            => 'expressoAdmin1_2.uidomains.'.$action,
217                                'sambadomainname'       => $sambadomainname
218                        )).'"> '.lang($action).' </a>';
219                }
220        }
221?>
Note: See TracBrowser for help on using the repository browser.