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