source: sandbox/2.3-MailArchiver/calendar/templates/classic/listUsers.php @ 6779

Revision 6779, 5.5 KB checked in by rafaelraymundo, 12 years ago (diff)

Ticket #2946 - Liberado Expresso(branch 2.3) integrado ao MailArchiver?.

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