source: trunk/calendar/templates/default/listUsers.php @ 2496

Revision 2496, 6.3 KB checked in by rodsouza, 14 years ago (diff)

Ticket #1009 - Correção de problemas no ExpressoCalendar? ao carregar o script 'edit.js'.

  • Property svn:executable set to *
Line 
1<?php
2
3        /***************************************************************************
4        * Expresso Livre                                                           *
5        * http://www.expressolivre.org                                             *
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        $GLOBALS['phpgw_info']['flags'] = array(
14                'noheader' => True,
15                'nonavbar' => True,
16                'currentapp' => 'calendar'             
17        );
18       
19        include('../../../header.inc.php');
20        include('../../../phpgwapi/templates/default/head.inc.php');
21
22        $owner = $GLOBALS['_GET']['owner'];
23       
24        if(!@is_object($GLOBALS['phpgw']->js))  {
25                $GLOBALS['phpgw']->js = CreateObject('phpgwapi.javascript');
26        }
27       
28        $GLOBALS['phpgw']->js->validate_file('jscode','scripts','preferences');         
29        $t = &$GLOBALS['phpgw']->template;                                             
30        // seta o Template
31        $t->set_file(array('addUser_t' => '../../../calendar/templates/default/listUsers.tpl'));
32
33        $t -> set_var( 'url', $GLOBALS[ 'phpgw' ] -> link( '/calendar' ) );
34
35        $obj_account = CreateObject('phpgwapi.accounts',$this->bo->owner);
36
37        $post_select_organization = $_POST['select_organization'];
38        $post_select_sector = $_POST['select_sector'];
39        $change_organization = $_POST['change_organization'];
40       
41        $obj_org_sector = CreateObject('phpgwapi.sector_search_ldap');
42        if ((!$post_select_organization) && (!$post_select_sector)) //primeira vez
43        {
44                $user_org = $obj_account->get_organization($GLOBALS['phpgw_info']['user']['account_dn']);
45                $user_sector = $obj_account->get_sector($GLOBALS['phpgw_info']['user']['account_dn']);
46                $user_context = $obj_account->get_context($GLOBALS['phpgw_info']['user']['account_dn']);
47               
48                $organizations_info = $obj_org_sector->organization_search($GLOBALS['phpgw_info']['server']['ldap_context']);
49                @asort($organizations_info);
50                @reset($organizations_info);                                   
51                $sectors_info = $obj_org_sector->sector_search('ou='.$user_org.','.$GLOBALS['phpgw_info']['server']['ldap_context']);
52        }
53        else //mudou uma das combos
54        {
55                $user_org = $post_select_organization;
56                $user_sector = $post_select_sector;
57                if ($change_organization == "True")
58                        $user_context = 'ou='.$user_org.','.$GLOBALS['phpgw_info']['server']['ldap_context'];
59                else
60                        $user_context = $post_select_sector;
61                $organizations_info = $obj_org_sector->organization_search($GLOBALS['phpgw_info']['server']['ldap_context']);
62                @asort($organizations_info);
63                @reset($organizations_info);                                   
64                $sectors_info = $obj_org_sector->sector_search('ou='.$user_org.','.$GLOBALS['phpgw_info']['server']['ldap_context']);
65        }
66               
67        foreach($organizations_info as $organization)
68        {
69                $combo_organization .= '<option value="' . $organization . '"';         
70               
71                if (!$post_select_organization)
72                {
73                        if(strtolower($organization) == strtolower($user_org))
74                        {
75                                $combo_organization .= ' selected';
76                        }
77                }
78                else
79                {
80                        if(strtolower($organization) == strtolower($post_select_organization))
81                        {
82                                $combo_organization .= ' selected';
83                        }
84                }       
85                $combo_organization .= '>' .$organization.'</option>'."\n";
86        }
87       
88        $combo_sector .= '<option value="ou='.$user_org.','.$GLOBALS['phpgw_info']['server']['ldap_context'].'"> --------- </option>'."\n";
89        foreach($sectors_info as $sector)
90        {
91                if ($sector->sector_level == 1)
92                {
93                        $sector->sector_name = '- '.$sector->sector_name;
94                }
95                else
96                {
97                        $sector_space = '';
98                        for ($i=1; $i < $sector->sector_level; $i++)
99                                $sector_space = '---'.$sector_space;
100                        $sector->sector_name = $sector_space.' '.$sector->sector_name;
101                }
102       
103                $combo_sector .= '<option value="' . $sector->sector_context . '"';
104
105                if (!$post_select_sector)
106                {
107                        if($sector->sector_name == $user_sector)
108                                $combo_sector .= ' selected';
109                }
110                else
111                {
112                        if($sector->sector_context == $post_select_sector)
113                                $combo_sector .= ' selected';
114                }
115                $combo_sector .= '>' .$sector->sector_name.'</option>'."\n";
116        }                       
117       
118        // Monta lista de Grupos e Usuários
119        $users = Array();
120        $groups = Array();
121
122        $ds = $GLOBALS['phpgw']->common->ldapConnect();
123    if ($ds)
124    {
125                $sr=ldap_list($ds, $user_context, ("(&(cn=*)(phpgwaccounttype=g))"));
126                $info = ldap_get_entries($ds, $sr);
127                for ($i=0; $i<$info["count"]; $i++)
128                        $groups[$uids=$info[$i]["gidnumber"][0]] = Array('name' =>      $uids=$info[$i]["cn"][0], 'type'        =>      g);
129
130                $sr=ldap_list($ds, $user_context, ("(&(cn=*)(phpgwaccounttype=u)(!(cn=lista*)))"));
131                $info = ldap_get_entries($ds, $sr);
132                for ($i=0; $i<$info["count"]; $i++)
133                {
134                        if ($info[$i]["phpgwaccountvisible"][0] == '-1')
135                                continue;
136                        $users[$uids=$info[$i]["uidnumber"][0]] = Array('name'  =>      $uids=$info[$i]["cn"][0], 'type'        =>      u);
137                }
138        }
139        ldap_close($ds);
140       
141        @asort($users);
142        @reset($users);
143        @asort($groups);
144        @reset($groups);
145
146        $options ='';
147        if(count($groups))
148                $options .= '<option  value="-1" disabled>--------------------&nbsp;&nbsp;&nbsp;&nbsp;Grupos&nbsp;&nbsp;&nbsp;&nbsp;------------------- </option>'."\n";
149               
150        foreach($groups as $id => $user_array) {
151                        $newId = $id.'U';
152                        $options .= '<option  value="'.$newId.'">'.utf8_decode($user_array['name']).$array_app.'</option>'."\n";
153        }
154       
155        if(count($users))
156                $options .= '<option  value="-1" disabled>-------------------&nbsp;&nbsp;&nbsp;&nbsp;Usuários&nbsp;&nbsp;&nbsp;&nbsp;------------------ </option>'."\n";
157       
158        foreach($users as $id => $user_array) {
159                if($owner != $id){
160                        $newId = $id.'U';
161                        $options .= '<option  value="'.$newId.'">'.utf8_decode($user_array['name']).$array_app.'</option>'."\n";
162                }
163        }
164
165        $t->set_var ('lang_Organization',lang('Organization'));
166        $t->set_var ('lang_Sector',lang('Sector'));
167        $t->set_var ('lang_Calendar',lang('Calendar'));
168        $t->set_var ('lang_Add_Participants',lang('Add Participants'));
169        $t->set_var ('lang_to_Search',lang('to Search'));
170        $t->set_var ('lang_Close',lang('Close'));
171        $t->set_var ('lang_Add',lang('Add'));
172       
173        $t->set_var('options',$options);
174        $t->set_var('combo_organization', $combo_organization);
175        $t->set_var('combo_sector', $combo_sector);
176        $t->parse('out','addUser_t',true);
177        $t->p('out');
178        $GLOBALS['phpgw']->common->phpgw_exit();       
179?>
Note: See TracBrowser for help on using the repository browser.