Ticket #1955: report_addNewReports.patch

File report_addNewReports.patch, 114.2 KB (added by joaquim.ferraz, 13 years ago)
Line 
1diff -NEbBaur -x '\.svn' reports/inc/class.functions.inc.php reports_alt/inc/class.functions.inc.php
2--- reports/inc/class.functions.inc.php 2011-05-31 01:50:24.000000000 -0300
3+++ reports_alt/inc/class.functions.inc.php     2011-05-31 01:34:43.000000000 -0300
4@@ -23,6 +23,9 @@
5                        'exist_email'                           => True,
6                        'array_invert'                          => True,
7                        'Paginate_user'                         => True,
8+                       'Paginate_cota'                         => True,
9+                       'Paginate_shareAccount'                 => True,
10+                       'Paginate_institutionalAccount'         => True,
11                        'Paginate_user_logon'           => True,
12                        'get_list_all'                          => True,
13                        'get_groups_list'                       => True,
14@@ -853,6 +856,137 @@
15                        return $return;
16                }
17 
18+                function get_list_cota_sector($query, $contexts,$sizelimit)
19+                {
20+                        $dn                     = $GLOBALS['phpgw_info']['server']['ldap_root_dn'];
21+                        $passwd         = $GLOBALS['phpgw_info']['server']['ldap_root_pw'];
22+                        $ldap_conn      = ldap_connect($GLOBALS['phpgw_info']['server']['ldap_host']);
23+                        ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3);
24+                        ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0);
25+                        ldap_bind($ldap_conn,$dn,$passwd);
26+
27+                        $filter="(|(phpgwAccountType=u)(|(phpgwAccountType=s)))";
28+                        $justthese = array("uidnumber", "uid", "cn", "mail","accountstatus","dn","createtimestamp","telephoneNumber");
29+
30+                        $tmp = array();
31+
32+                        foreach ($contexts as $index=>$context)
33+                        {
34+
35+                                $search = ldap_search($ldap_conn, $query, $filter, $justthese, 0, $sizelimit);
36+                                $info = ldap_get_entries($ldap_conn, $search);
37+
38+                                for ($i=0; $i < $info['count']; $i++)
39+                                {
40+                                        $tmp[$info[$i]['uid'][0]]['account_id']  = $info[$i]['uidnumber'][0];
41+                                        $tmp[$info[$i]['uid'][0]]['account_lid'] = $info[$i]['uid'][0];
42+                                        $tmp[$info[$i]['uid'][0]]['account_cn']  = $info[$i]['cn'][0];
43+                                        $tmp[$info[$i]['uid'][0]]['account_mail']= $info[$i]['mail'][0];
44+                                        $tmp[$info[$i]['uid'][0]]['account_phone']= $info[$i]['telephonenumber'][0];
45+                                        $tmp[$info[$i]['uid'][0]]['account_accountstatus']= $info[$i]['accountstatus'][0];
46+                                        $tmp[$info[$i]['uid'][0]]['createtimestamp']= $info[$i]['createtimestamp'][0];
47+                                        $sort[] = $info[$i]['uid'][0];
48+                                }
49+                        }
50+
51+                        ldap_close($ldap_conn);
52+
53+                        if (count($sort))
54+                        {
55+                                natcasesort($sort);
56+                                foreach ($sort as $user_uid)
57+                                        $return[$user_uid] = $tmp[$user_uid];
58+                        }
59+
60+                        return $return;
61+
62+                }
63+
64+
65+                function get_list_shareAccounts_sector($query, $contexts,$sizelimit)
66+                {
67+                        $dn            = $GLOBALS['phpgw_info']['server']['ldap_root_dn'];
68+                        $passwd         = $GLOBALS['phpgw_info']['server']['ldap_root_pw'];
69+                        $ldap_conn      = ldap_connect($GLOBALS['phpgw_info']['server']['ldap_host']);
70+                        ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3);
71+                        ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0);
72+                        ldap_bind($ldap_conn,$dn,$passwd);
73+
74+                        $filter="(phpgwAccountType=s)";
75+                        $justthese = array("uid", "cn", "mail","accountstatus");
76+
77+                        $tmp = array();
78+
79+                        foreach ($contexts as $index=>$context)
80+                        {
81+
82+                                $search = ldap_search($ldap_conn, $query, $filter, $justthese, 0, $sizelimit);
83+                                $info = ldap_get_entries($ldap_conn, $search);
84+
85+                                for ($i=0; $i < $info['count']; $i++)
86+                                {
87+                                        $tmp[$info[$i]['uid'][0]]['account_lid'] = $info[$i]['uid'][0];
88+                                        $tmp[$info[$i]['uid'][0]]['account_cn']  = $info[$i]['cn'][0];
89+                                        $tmp[$info[$i]['uid'][0]]['account_mail']= $info[$i]['mail'][0];
90+                                        $tmp[$info[$i]['uid'][0]]['account_accountstatus']= $info[$i]['accountstatus'][0];
91+                                        $sort[] = $info[$i]['uid'][0];
92+                                }
93+                        }
94+
95+                        ldap_close($ldap_conn);
96+
97+                        if (count($sort))
98+                        {
99+                                natcasesort($sort);
100+                                foreach ($sort as $user_uid)
101+                                        $return[$user_uid] = $tmp[$user_uid];
102+                        }
103+
104+                        return $return;
105+                }
106+
107+                function get_list_institutionalAccounts_sector($query, $contexts,$sizelimit)
108+                {
109+                        $dn             = $GLOBALS['phpgw_info']['server']['ldap_root_dn'];
110+                        $passwd         = $GLOBALS['phpgw_info']['server']['ldap_root_pw'];
111+                        $ldap_conn      = ldap_connect($GLOBALS['phpgw_info']['server']['ldap_host']);
112+                        ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3);
113+                        ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0);
114+                        ldap_bind($ldap_conn,$dn,$passwd);
115+
116+                        $filter="(phpgwAccountType=i)";
117+                        $justthese = array("uid", "cn", "mail","accountstatus","mailForwardingAddress");
118+
119+                        $tmp = array();
120+
121+                        foreach ($contexts as $index=>$context)
122+                        {
123+
124+                                $search = ldap_search($ldap_conn, $query, $filter, $justthese, 0, $sizelimit);
125+                                $info = ldap_get_entries($ldap_conn, $search);
126+
127+                                for ($i=0; $i < $info['count']; $i++)
128+                                {
129+                                        $tmp[$info[$i]['uid'][0]]['account_cn']  = $info[$i]['cn'][0];
130+                                        $tmp[$info[$i]['uid'][0]]['account_mail']= $info[$i]['mail'][0];
131+                                        $tmp[$info[$i]['uid'][0]]['account_accountstatus']= $info[$i]['accountstatus'][0];
132+                                       $tmp[$info[$i]['uid'][0]]['account_mailforwardingaddress']= $info[$i]['mailforwardingaddress'];
133+                                        $sort[] = $info[$i]['uid'][0];
134+                                }
135+                        }
136+
137+                        ldap_close($ldap_conn);
138+
139+                        if (count($sort))
140+                        {
141+                                natcasesort($sort);
142+                                foreach ($sort as $user_uid)
143+                                        $return[$user_uid] = $tmp[$user_uid];
144+                        }
145+
146+                        return $return;
147+                }
148+
149                function get_count_user_sector($query, $contexts,$sizelimit)
150                {
151                        $dn                     = $GLOBALS['phpgw_info']['server']['ldap_root_dn'];
152@@ -870,20 +1004,110 @@
153                                        $search = ldap_list($ldap_conn, $context, $filter, $justthese);
154                                        $entries = ldap_get_entries($ldap_conn, $search);
155                                        $contexts = array();
156-                                       for ($i=0; $i< $entries['count']; $i++){
157-                                               $contexts[] = $entries[$i]['dn'];
158                                        }
159                                }
160+
161+                        $filter="(phpgwAccountType=u)";
162+                        $justthese = array("dn");
163+                        $search = ldap_search($ldap_conn, $context, $filter, $justthese, 0, $sizelimit);
164+                        $entries = ldap_get_entries($ldap_conn, $search);
165+                        $total_count = $entries["count"];
166+
167+                        ldap_close($ldap_conn);
168+
169+                        return $total_count;
170                        }       
171-                       $filter="(&(phpgwAccountType=u)(|(uid=*)))";
172-                       $justthese = array("uidnumber");
173-                       $total_count = 0;
174                       
175+                function get_count_cota_sector($query, $contexts,$sizelimit)
176+                {
177+                        $dn                     = $GLOBALS['phpgw_info']['server']['ldap_root_dn'];
178+                        $passwd         = $GLOBALS['phpgw_info']['server']['ldap_root_pw'];
179+                        $ldap_conn      = ldap_connect($GLOBALS['phpgw_info']['server']['ldap_host']);
180+                        ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3);
181+                        ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0);
182+                        ldap_bind($ldap_conn,$dn,$passwd);
183+                        // counting users by sector.
184                        foreach ($contexts as $index=>$context) {                               
185+                                if($context == $GLOBALS['phpgw_info']['server'] ["ldap_context"]) {
186+                                        $contexts[$index] = null;
187+                                        $justthese = array("dn");
188+                                        $filter="(objectClass=OrganizationalUnit)";
189+                                        $search = ldap_list($ldap_conn, $context, $filter, $justthese);
190+                                        $entries = ldap_get_entries($ldap_conn, $search);
191+                                        $contexts = array();
192+                                }
193+                        }
194+
195+                        $filter="(|(phpgwAccountType=u)(|(phpgwAccountType=s)))";
196+                        $justthese = array("dn");
197                                $search = ldap_search($ldap_conn, $context, $filter, $justthese, 0, $sizelimit);
198-                               $total_count += ldap_count_entries($ldap_conn, $search);                                                       
199+                        $entries = ldap_get_entries($ldap_conn, $search);
200+                        $total_count = $entries["count"];
201+
202+                        ldap_close($ldap_conn);
203+
204+                        return $total_count;
205                        }
206+
207+                function get_count_shareAccount_sector($query, $contexts,$sizelimit)
208+                {
209+                        $dn             = $GLOBALS['phpgw_info']['server']['ldap_root_dn'];
210+                        $passwd         = $GLOBALS['phpgw_info']['server']['ldap_root_pw'];
211+                        $ldap_conn      = ldap_connect($GLOBALS['phpgw_info']['server']['ldap_host']);
212+                        ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3);
213+                        ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0);
214+                        ldap_bind($ldap_conn,$dn,$passwd);
215+                        // counting users by sector.
216+                        foreach ($contexts as $index=>$context) {
217+                                if($context == $GLOBALS['phpgw_info']['server'] ["ldap_context"]) {
218+                                        $contexts[$index] = null;
219+                                        $justthese = array("dn");
220+                                        $filter="(objectClass=OrganizationalUnit)";
221+                                        $search = ldap_list($ldap_conn, $context, $filter, $justthese);
222+                                        $entries = ldap_get_entries($ldap_conn, $search);
223+                                        $contexts = array();
224+                                }
225+                        }
226+
227+                        $filter="(phpgwAccountType=s)";
228+                        $justthese = array("dn");
229+                       $search = ldap_search($ldap_conn, $context, $filter, $justthese, 0, $sizelimit);
230+                       $entries = ldap_get_entries($ldap_conn, $search);
231+                       $total_count = $entries["count"];
232+
233+                        ldap_close($ldap_conn);
234+                       
235+                       return $total_count;
236+                }
237+
238+                function get_count_institutionalAccount_sector($query, $contexts,$sizelimit)
239+                {
240+                        $dn             = $GLOBALS['phpgw_info']['server']['ldap_root_dn'];
241+                        $passwd         = $GLOBALS['phpgw_info']['server']['ldap_root_pw'];
242+                        $ldap_conn      = ldap_connect($GLOBALS['phpgw_info']['server']['ldap_host']);
243+                        ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3);
244+                        ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0);
245+                        ldap_bind($ldap_conn,$dn,$passwd);
246+                        // counting users by sector.
247+                        foreach ($contexts as $index=>$context) {
248+                                if($context == $GLOBALS['phpgw_info']['server'] ["ldap_context"]) {
249+                                        $contexts[$index] = null;
250+                                        $justthese = array("dn");
251+                                        $filter="(objectClass=OrganizationalUnit)";
252+                                        $search = ldap_list($ldap_conn, $context, $filter, $justthese);
253+                                        $entries = ldap_get_entries($ldap_conn, $search);
254+                                        $contexts = array();
255+                                }
256+                        }
257+                       
258+                       $filter="(phpgwAccountType=i)";
259+                        $justthese = array("dn");
260+                        $search = ldap_search($ldap_conn, $context, $filter, $justthese, 0, $sizelimit);
261+                        $entries = ldap_get_entries($ldap_conn, $search);
262+                        $total_count = $entries["count"];
263+
264                        ldap_close($ldap_conn);
265+
266                        return $total_count;
267                }
268 
269@@ -896,7 +1120,7 @@
270                        ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0);
271                        ldap_bind($ldap_conn,$dn,$passwd);
272 
273-                       $filter="(&(phpgwAccountType=u)(|(uid=*)))";
274+                       $filter="(phpgwAccountType=u)";
275                        $justthese = array("uidnumber", "uid", "cn", "mail","accountstatus","dn","createtimestamp");
276                       
277                        $tmp = array();
278@@ -1253,7 +1477,7 @@
279                        ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0);
280                        ldap_bind($ldap_conn,$dn,$passwd);
281                       
282-                       $filter="(&(phpgwAccountType=u)(|(uid=*)))";
283+                       $filter="(&(phpgwAccountType=u))";
284                        $justthese = array("uidnumber", "uid", "cn", "mail","accountstatus","dn","createtimestamp","telephoneNumber");                                                                                 
285                                                       
286                        foreach ($contexts as $index=>$context)
287@@ -1318,6 +1542,223 @@
288                        return $sOrder === "desc" ? array_reverse( $aList ) : $aList;
289                }
290 
291+               function Paginate_cota($type, $query, $contexts, $Field, $Order = 'asc', $Page = null, $PerPage = null )
292+                {
293+                        $dn                     = $GLOBALS['phpgw_info']['server']['ldap_root_dn'];
294+                        $passwd         = $GLOBALS['phpgw_info']['server']['ldap_root_pw'];
295+                        $ldap_conn      = ldap_connect($GLOBALS['phpgw_info']['server']['ldap_host']);
296+                        ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3);
297+                        ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0);
298+                        ldap_bind($ldap_conn,$dn,$passwd);
299+
300+                        $filter="(|(phpgwAccountType=u)(|(phpgwAccountType=s)))";
301+                        $justthese = array("uidnumber", "uid", "cn", "mail","accountstatus","dn","createtimestamp","telephoneNumber");                                 
302+
303+                        foreach ($contexts as $index=>$context)
304+                        {
305+                                $search=ldap_search($ldap_conn, $query, $filter, $justthese);
306+
307+                                $rConnection = $ldap_conn;
308+                                $rSearch = $search;
309+                                $sOrder = $Order;
310+                                $iPage = $Page;
311+                                $iPerPage = $PerPage;
312+                                $sField = $Field;
313+
314+                                $iTotalEntries = ldap_count_entries( $rConnection, $rSearch );
315+
316+                                if ( $iPage === null || $iPerPage === null )
317+                                {
318+                                        # fetch all in one page
319+                                        $iStart = 0;
320+                                        $iEnd = $iTotalEntries - 1;
321+                                }
322+                                else
323+                                {
324+                                        # calculate range of page
325+                                        $iFimPage = ( ceil( $iTotalEntries / $iPerPage ) - 1 ) * $iPage;
326+
327+                                        $iStart = ( ceil( ($iPage -1) * $iPerPage ));
328+                                        $iEnd = $iPage * $iPerPage;
329+
330+
331+                                        if ( $sOrder === "desc" )
332+                                        {
333+                                                # revert range
334+                                                $iStart = $iTotalEntries - 1 - $iEnd;
335+                                                $iEnd = $iStart + $iPerPage - 1;
336+                                        }
337+                                }
338+
339+                                /********* Importante Mostra o resultado da paginação **********
340+                                var_dump( $iStart . " " . $iEnd );
341+                                ****************** Só descomentar ******************************/
342+
343+                                 # fetch entries
344+                               ldap_sort( $rConnection, $rSearch, $sField );
345+
346+                                $aList = array();
347+                                for (
348+                                        $iCurrent = 0, $rEntry = ldap_first_entry( $rConnection, $rSearch );
349+                                        $iCurrent <= $iEnd && is_resource( $rEntry );
350+                                        $iCurrent++, $rEntry = ldap_next_entry( $rConnection, $rEntry )
351+                                        )
352+                                {
353+                                        if ( $iCurrent >= $iStart )
354+                                        {
355+                                                array_push( $aList, ldap_get_attributes( $rConnection, $rEntry ));
356+                                        }
357+                                }
358+                        }
359+
360+                        ldap_close($ldap_conn);
361+
362+                        # if order is desc revert page's entries
363+                        return $sOrder === "desc" ? array_reverse( $aList ) : $aList;
364+                }
365+
366+                function Paginate_shareAccount($type, $query, $contexts, $Field, $Order = 'asc', $Page = null, $PerPage = null )
367+
368+                {
369+                        $dn                     = $GLOBALS['phpgw_info']['server']['ldap_root_dn'];
370+                        $passwd         = $GLOBALS['phpgw_info']['server']['ldap_root_pw'];
371+                        $ldap_conn      = ldap_connect($GLOBALS['phpgw_info']['server']['ldap_host']);
372+                        ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3);
373+                        ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0);
374+                        ldap_bind($ldap_conn,$dn,$passwd);
375+
376+                        $filter="(phpgwAccountType=s)";
377+                        $justthese = array("uid", "cn", "mail","accountstatus");                                 
378+
379+                        foreach ($contexts as $index=>$context)
380+                        {
381+                                $search=ldap_search($ldap_conn, $query, $filter, $justthese);
382+
383+                                $rConnection = $ldap_conn;
384+                                $rSearch = $search;
385+                                $sOrder = $Order;
386+                                $iPage = $Page;
387+                                $iPerPage = $PerPage;
388+                                $sField = $Field;
389+
390+                                $iTotalEntries = ldap_count_entries( $rConnection, $rSearch );
391+
392+                                if ( $iPage === null || $iPerPage === null )
393+                                {
394+                                        # fetch all in one page
395+                                        $iStart = 0;
396+                                        $iEnd = $iTotalEntries - 1;
397+                                }
398+                                else
399+                                {
400+                                        # calculate range of page
401+                                        $iFimPage = ( ceil( $iTotalEntries / $iPerPage ) - 1 ) * $iPage;
402+
403+                                        $iStart = ( ceil( ($iPage -1) * $iPerPage ));
404+                                        $iEnd = $iPage * $iPerPage;
405+
406+                                        if ( $sOrder === "desc" )
407+                                        {
408+                                                # revert range
409+                                                $iStart = $iTotalEntries - 1 - $iEnd;
410+                                                $iEnd = $iStart + $iPerPage - 1;
411+                                        }
412+                                }
413+
414+                                 # fetch entries
415+                               ldap_sort( $rConnection, $rSearch, $sField );
416+
417+                                $aList = array();
418+                                for (
419+                                        $iCurrent = 0, $rEntry = ldap_first_entry( $rConnection, $rSearch );
420+                                        $iCurrent <= $iEnd && is_resource( $rEntry );
421+                                        $iCurrent++, $rEntry = ldap_next_entry( $rConnection, $rEntry )
422+                                        )
423+                                {
424+                                        if ( $iCurrent >= $iStart )
425+                                        {
426+                                                array_push( $aList, ldap_get_attributes( $rConnection, $rEntry ));
427+                                        }
428+                                }
429+                        }
430+
431+                        ldap_close($ldap_conn);
432+
433+                        # if order is desc revert page's entries
434+                        return $sOrder === "desc" ? array_reverse( $aList ) : $aList;
435+                }
436+
437+                function Paginate_institutionalAccount($type, $query, $contexts, $Field, $Order = 'asc', $Page = null, $PerPage = null )
438+                {
439+                        $dn                     = $GLOBALS['phpgw_info']['server']['ldap_root_dn'];
440+                        $passwd         = $GLOBALS['phpgw_info']['server']['ldap_root_pw'];
441+                        $ldap_conn      = ldap_connect($GLOBALS['phpgw_info']['server']['ldap_host']);
442+                        ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3);
443+                        ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0);
444+                        ldap_bind($ldap_conn,$dn,$passwd);
445+
446+                        $filter="(phpgwAccountType=i)";
447+                        $justthese = array("uid", "cn", "mail","accountstatus","mailforwardingaddress");
448+
449+                        foreach ($contexts as $index=>$context)
450+                        {
451+                                $search=ldap_search($ldap_conn, $query, $filter, $justthese);
452+
453+                                $rConnection = $ldap_conn;
454+                                $rSearch = $search;
455+                                $sOrder = $Order;
456+                                $iPage = $Page;
457+                                $iPerPage = $PerPage;
458+                                $sField = $Field;
459+
460+                                $iTotalEntries = ldap_count_entries( $rConnection, $rSearch );
461+
462+                                if ( $iPage === null || $iPerPage === null )
463+                                {
464+                                        # fetch all in one page
465+                                        $iStart = 0;
466+                                        $iEnd = $iTotalEntries - 1;
467+                                }
468+                                else
469+                                {
470+                                        # calculate range of page
471+                                        $iFimPage = ( ceil( $iTotalEntries / $iPerPage ) - 1 ) * $iPage;
472+
473+                                        $iStart = ( ceil( ($iPage -1) * $iPerPage ));
474+                                        $iEnd = $iPage * $iPerPage;
475+
476+                                        if ( $sOrder === "desc" )
477+                                        {
478+                                                # revert range
479+                                                $iStart = $iTotalEntries - 1 - $iEnd;
480+                                                $iEnd = $iStart + $iPerPage - 1;
481+                                        }
482+                                }
483+
484+                                 # fetch entries
485+                                ldap_sort( $rConnection, $rSearch, $sField );
486+
487+                                $aList = array();
488+                                for (
489+                                        $iCurrent = 0, $rEntry = ldap_first_entry( $rConnection, $rSearch );
490+                                        $iCurrent <= $iEnd && is_resource( $rEntry );
491+                                        $iCurrent++, $rEntry = ldap_next_entry( $rConnection, $rEntry )
492+                                        )
493+                                {
494+                                        if ( $iCurrent >= $iStart )
495+                                        {
496+                                                array_push( $aList, ldap_get_attributes( $rConnection, $rEntry ));
497+                                        }
498+                                }
499+                        }
500+
501+                        ldap_close($ldap_conn);
502+
503+                        # if order is desc revert page's entries
504+                        return $sOrder === "desc" ? array_reverse( $aList ) : $aList;
505+                }
506+
507+
508                function get_list_ou_user_logon($query,$contexts,$sizelimit)
509                {
510                        $dn                     = $GLOBALS['phpgw_info']['server']['ldap_root_dn'];
511diff -NEbBaur -x '\.svn' reports/inc/class.imap_functions.inc.php reports_alt/inc/class.imap_functions.inc.php
512--- reports/inc/class.imap_functions.inc.php    2011-05-31 01:50:24.000000000 -0300
513+++ reports_alt/inc/class.imap_functions.inc.php        2011-05-30 21:43:52.000000000 -0300
514@@ -38,4 +38,26 @@
515                }
516                return $quota;
517        }
518+
519+       function getMembersShareAccount($uid)
520+       {
521+               $owner_user_share = imap_getacl($this->imap, "user" . $this->imapDelimiter . $uid);
522+
523+                //Organiza participantes da conta compartilha em um array, retira apenas os members,
524+               $i =0;
525+               foreach($owner_user_share as $key => $value)
526+               {
527+                       if ($i != 0)
528+                       {
529+                               $return[$i] = $key;
530+                       }
531+                       $i++;
532+               }
533+
534+               //Ordena os participantes da conta compartilhada
535+               sort($return);
536+
537+               return $return;
538+       }
539+
540 }
541diff -NEbBaur -x '\.svn' reports/inc/class.uireports_cota.inc.php reports_alt/inc/class.uireports_cota.inc.php
542--- reports/inc/class.uireports_cota.inc.php    2011-05-31 01:50:24.000000000 -0300
543+++ reports_alt/inc/class.uireports_cota.inc.php        2011-05-20 21:27:06.000000000 -0300
544@@ -37,7 +37,6 @@
545                        $this->db_functions = CreateObject('reports.db_functions');
546                        $this->imap_functions = CreateObject('reports.imap_functions');
547                        $this->fpdf = CreateObject('reports.uireports_fpdf'); // Class para PDF
548-//                     $this->fpdf = CreateObject('reports.fpdf'); // Class para PDF
549                                               
550                        $c = CreateObject('phpgwapi.config','reports'); // cria o objeto relatorio no $c
551                        $c->read_repository(); // na classe config do phpgwapi le os dados da tabela phpgw_config where relatorio, como passagem acima
552@@ -156,7 +155,7 @@
553                        if ($GLOBALS['organizacaodn'] != '')
554                        {
555                                // Conta a quantidade de Usuario do grupo raiz
556-                               $account_user = $this->functions->get_count_user_sector($contextsdn,$contexts,0);
557+                               $account_user = $this->functions->get_count_cota_sector($contextsdn,$contexts,0);
558                                $totaluser = "(".$account_user.")";
559 
560                                $p->set_var('organizacao', $varorganizacao_nome);
561@@ -276,7 +275,7 @@
562                        // ************ PAGINAÇÃO *******************************
563 
564                        // verifica se exixte usuarios no LDAP
565-                       $account_info = $this->functions->get_list_user_sector ($setordn,$contexts,0);
566+                       $account_info = $this->functions->get_list_cota_sector ($setordn,$contexts,0);
567 
568                        if (!count($account_info))
569                        {
570@@ -356,7 +355,7 @@
571                                $p->set_var('page_now',$npag);
572 
573                                // ********** busca no LDAP as informação paginada e imprime ****************
574-                               $paginas =  $this->functions->Paginate_user('accounts',$setordn,$contexts,'cn','asc',$npag,$numpage);
575+                               $paginas =  $this->functions->Paginate_cota('accounts',$setordn,$contexts,'cn','asc',$npag,$numpage);
576 
577                                $tmpp = array();
578 
579@@ -417,8 +416,8 @@
580                                                'row_loginid'           => $accountr['account_lid'],
581                                                'row_cn'                        => $accountr['account_cn'],
582                                                'percent_cota'          => $percent_cota_c,
583-                                               'row_status'            => $accountr['account_status'] == 'active' ? '<font color="#0033FF">Ativado</font> ' : '<font color="#FF0000">Desativado</font>',
584-                                               'row_mail'                      => (!$accountr['account_mail']?'<font color=red>Sem E-mail</font>':$accountr['account_mail'])
585+                                               'row_status'            => $accountr['account_status'] == 'active' ? '<font color="#0033FF">'.lang('Activated').'</font> ' : '<font color="#FF0000">'.lang('Disabled').'</font>',
586+                                               'row_mail'                      => (!$accountr['account_mail']?'<font color=red>'.lang('Without E-mail').'</font>':$accountr['account_mail'])
587                                        );
588                                       
589                                        $p->set_var($varr);
590@@ -525,7 +524,6 @@
591                        $pdf=new uireports_fpdf("L");
592                        $pdf->Open();
593                        $pdf->AddPage();
594-                       $pdf->SetTitle('Relatório Gerado pelo Expresso Reports');
595 
596                        //Set font and colors
597                        $pdf->SetFont('Arial','B',14);
598@@ -536,7 +534,7 @@
599 
600                        //Table header
601                        $SubTitulo = lang('reports title4');
602-                       $SubTituloR = lang('report cota organization');
603+                       $SubTituloR = lang('Report Generated by Expresso Reports');
604                        $SubTitulo1 = $subtitulo1;
605                        $GLOBALS['phpgw_info']['apps']['reports']['subtitle'] = $SubTituloR;
606                        $pdf->Cell(0,8,$SubTitulo,0,1,'C',0);
607@@ -549,7 +547,6 @@
608                        $pdf->SetDrawColor(0,0,0);
609                        $pdf->SetLineWidth(.3);
610 
611-//                     $pdf->Cell(0,10,$SubTitulo1,0,1,'C',0);
612                        $pdf->MultiCell(0,3,$SubTitulo1,0,'C',0);
613 
614                       
615@@ -557,7 +554,7 @@
616                        $pdf->Cell(0,5,'Data..: '.$data_atual,0,0,'L',0);
617                        $pdf->Cell(0,5,$titulo_system,0,1,'R',0);
618                                                                                               
619-                       $account_info = $this->functions->get_list_user_sector($setordn,$contexts,0);
620+                       $account_info = $this->functions->get_list_cota_sector($setordn,$contexts,0);
621 
622                        if (count($account_info))
623                        {
624@@ -595,11 +592,11 @@
625 
626                                        $account_lid = $account['account_lid'];
627                                        $row_cn = $account['account_cn'];
628-                                       $row_mail = (!$account['account_mail']?'<font color=red>Sem E-mail</font>':$account['account_mail']);
629+                                       $row_mail = (!$account['account_mail']?'<font color=red>'.lang('Without E-mail').'</font>':$account['account_mail']);
630                                        $row_mailquota = $user_mailquota;
631                                        $row_mailquota_used = $user_mailquota_used;
632                                        $row_percent_cota = $percent_cota;
633-                                       $row_status = $account['account_accountstatus'] == 'active' ? 'Ativado' : 'Desativado';
634+                                       $row_status = $account['account_accountstatus'] == 'active' ? lang('Activated') : lang('Disabled');
635 
636                                       
637                                        $pdf->Cell(55,5,$account_lid,0,0,'L',0);
638@@ -655,7 +652,6 @@
639 
640                function get_user_info($userdn,$usercontexts,$usersizelimit)
641                {
642-//                     $user_info = $this->functions->Paginate_user('accounts',$setordn,$contexts,'cn','asc',$npag,$numpage);
643                        $user_info_imap = $this->imap_functions->get_user_info($user_info_ldap['uid']);
644 
645                        return $user_info;
646diff -NEbBaur -x '\.svn' reports/inc/class.uireports_fpdf.inc.php reports_alt/inc/class.uireports_fpdf.inc.php
647--- reports/inc/class.uireports_fpdf.inc.php    2011-05-31 01:50:24.000000000 -0300
648+++ reports_alt/inc/class.uireports_fpdf.inc.php        2011-05-20 21:27:06.000000000 -0300
649@@ -119,29 +119,9 @@
650                return $nl;
651        }
652 
653-       /*      function Header()
654-        {
655-               $SubTituloR = lang('report cota organization');
656-
657-               //Restore font and colors
658-               $this->SetFont('Arial','',8);
659-               $this->SetFillColor(224,235,255);
660-               $this->SetTextColor(0);
661-
662-               $this->Cell(95,5,lang('name'),1,0,'L',1);
663-               //                              $pdf->Cell(53,5,lang('report email'),1,0,'L',1);
664-               $this->Cell(17,5,lang('cota'),1,0,'C',1);
665-               $this->Cell(31,5,lang('cota used'),1,0,'C',1);
666-               $this->Cell(29,5,lang('percent cota'),1,0,'C',1);
667-               $this->Cell(20,5,lang('status'),1,1,'C',1);
668-
669-               return;
670-               }
671-               */
672        function Footer()
673        {
674                // Esta função foi implemantada para realizar o rodapé dos relatórios
675-
676                $titulo_system = $GLOBALS['phpgw_info']['apps']['reports']['title'];
677                $SubTitulo = $GLOBALS['phpgw_info']['apps']['reports']['subtitle'];
678 
679@@ -152,8 +132,6 @@
680                $this->SetFillColor(224,235,255);
681 
682                //Imprime o número da página
683-               //              $this->Cell(0,5,$titulo_system.'                  '.$SubTitulo.'                  Página n. '.$this->PageNo(),1,0,'C',1);
684-
685                $this->Rect(9,281,197,6,'D');
686                $this->Cell(55,4,$titulo_system,0,0,'L',1);
687                $this->Cell(100,4,$SubTitulo,0,0,'C',1);
688diff -NEbBaur -x '\.svn' reports/inc/class.uireports_institutionalAccounts.inc.php reports_alt/inc/class.uireports_institutionalAccounts.inc.php
689--- reports/inc/class.uireports_institutionalAccounts.inc.php   1969-12-31 21:00:00.000000000 -0300
690+++ reports_alt/inc/class.uireports_institutionalAccounts.inc.php       2011-05-31 01:43:53.000000000 -0300
691@@ -0,0 +1,651 @@
692+<?php
693+       /*************************************************************************************\
694+       * Expresso Relatório                                                                                                     *
695+       * by Elvio Rufino da Silva (elviosilva@yahoo.com.br, elviosilva@cepromat.mt.gov.br)  *
696+       * -----------------------------------------------------------------------------------*
697+       *  This program is free software; you can redistribute it and/or modify it                       *
698+       *  under the terms of the GNU General Public License as published by the                         *
699+       *  Free Software Foundation; either version 2 of the License, or (at your                        *
700+       *  option) any later version.                                                                                                            *
701+       *************************************************************************************/
702+
703+       class uireports_institutionalAccounts
704+       {
705+               var $public_functions = array
706+               (
707+                       'report_institutionalAccounts_print_pdf'                => True,
708+                       'report_institutionalAccounts_group'                    => True,
709+                       'report_institutionalAccounts_group_setor_print'        => True,
710+                       'get_institutionalAccount_info'                         => True,
711+                       'css'                                           => True
712+               );
713+
714+               var $nextmatchs;
715+               var $user;
716+               var $functions;
717+               var $current_config;
718+               var $ldap_functions;
719+               var $db_functions;
720+
721+               function uireports_institutionalAccounts()
722+               {
723+                       $this->user             = CreateObject('reports.user');
724+                       $this->nextmatchs       = CreateObject('phpgwapi.nextmatchs');
725+                       $this->functions        = CreateObject('reports.functions');
726+                       $this->ldap_functions   = CreateObject('reports.ldap_functions');
727+                       $this->db_functions     = CreateObject('reports.db_functions');
728+                       $this->fpdf             = CreateObject('reports.uireports_fpdf'); // Class para PDF
729+                                                                       
730+                       $c = CreateObject('phpgwapi.config','reports'); // cria o objeto relatorio no $c
731+                       $c->read_repository(); // na classe config do phpgwapi le os dados da tabela phpgw_config where relatorio, como passagem acima
732+                       $this->current_config = $c->config_data; // carrega os dados em do array no current_config
733+
734+                       if(!@is_object($GLOBALS['phpgw']->js))
735+                       {
736+                               $GLOBALS['phpgw']->js = CreateObject('phpgwapi.javascript');
737+                       }
738+                       $GLOBALS['phpgw']->js->validate_file('jscode','cc','reports');
739+               }
740+               
741+               function report_institutionalAccounts_print_pdf()
742+               {
743+                       $account_lid = $GLOBALS['phpgw']->accounts->data['account_lid'];
744+                       $acl = $this->functions->read_acl($account_lid);
745+                       $raw_context = $acl['raw_context'];
746+                       $contexts = $acl['contexts'];
747+                       foreach ($acl['contexts_display'] as $index=>$tmp_context)
748+                       {
749+                               $context_display .= $tmp_context;
750+                       }
751+
752+
753+                       if (!$this->functions->check_acl($account_lid,'list_users'))
754+                       {
755+                               $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/reports/inc/access_denied.php'));
756+                       }
757+
758+                       $grouplist = trim($_POST[setor]);
759+                       $grouplist = trim(ereg_replace("-","",$grouplist));
760+
761+                       $setordn = trim($_POST[setordn]);
762+                       $subtitulo1 = trim($_POST[subtitulo]);
763+
764+                       define('FPDF_FONTPATH','font/');
765+                       $data_atual = date("d/m/Y");
766+                       $titulo_system = $GLOBALS['phpgw_info']['apps']['reports']['title'];                   
767+
768+                       $pdf=new uireports_fpdf("L");
769+                       $pdf->Open();
770+                       $pdf->AddPage();
771+
772+                       //Set font and colors
773+                       $pdf->SetFont('Arial','B',14);
774+                       $pdf->SetFillColor(0,0,0);
775+                       $pdf->SetTextColor(0,0,200);
776+                       $pdf->SetDrawColor(0,0,0);
777+                       $pdf->SetLineWidth(.2);
778+
779+                       //Table header
780+                       $SubTitulo = lang('Report of institutional accounts of the Organization');
781+                       $SubTituloR = lang('Report Generated by Expresso Reports');
782+                       $SubTitulo1 = $subtitulo1;
783+                       $GLOBALS['phpgw_info']['apps']['reports']['subtitle'] = $SubTituloR;
784+                       $pdf->Cell(0,8,$SubTitulo,0,1,'C',0);
785+
786+                       //Set font and colors
787+                       $pdf->SetFont('Arial','B',8);
788+                       $pdf->SetFillColor(0,0,0);
789+                       $pdf->SetTextColor(0,0,200);
790+                       $pdf->SetDrawColor(0,0,0);
791+                       $pdf->SetLineWidth(.3);
792+                       $pdf->MultiCell(0,3,$SubTitulo1,0,'C',0);
793+                       $pdf->Cell(0,2,' ',0,1,'C',0);
794+                       $pdf->Cell(0,5,lang('Date').'..: '.$data_atual,0,0,'L',0);
795+                       $pdf->Cell(0,5,$titulo_system,0,1,'R',0);
796+                                                                                               
797+                       $account_info = $this->functions->get_list_institutionalAccounts_sector($setordn,$contexts,0);
798+                       
799+                       sort($account_info);
800+                                                                       
801+                       if (count($account_info))
802+                       {
803+                               //Restore font and colors
804+                               $pdf->SetFont('Arial','',8);
805+                               $pdf->SetFillColor(224,235,255);
806+                               $pdf->SetTextColor(0);
807+
808+                               $pdf->Cell(80,5,lang('name'),1,0,'L',1);
809+                               $pdf->Cell(80,5,lang('report email'),1,0,'L',1);
810+                               $pdf->Cell(20,5,lang('status'),1,0,'L',1);
811+                               $pdf->Cell(80,5,lang('Participants'),1,1,'L',1);
812+
813+                               while (list($null,$account) = each($account_info))
814+                               {
815+                                               $row_cn = $account['account_cn'];
816+                                               $row_mail = (!$account['account_mail'] ? '<font color=red>'.lang('Without E-mail').'</font>' : $account['account_mail']);
817+                                               $row_status = $account['account_accountstatus'] == 'active' ? lang('Activated') : lang('Disabled');
818+                                               $row_mailforwardingaddress = $account['account_mailforwardingaddress'];
819+                                               
820+                                               $pdf->Cell(80,5,$row_cn,0,0,'L',0);
821+                                               $pdf->Cell(80,5,$row_mail,0,0,'L',0);
822+
823+                                       if ($row_status == lang('Activated'))
824+                                       {
825+                                               //Restaura cor fonte
826+                                               $pdf->SetTextColor(0);
827+                                               $pdf->Cell(20,5,$row_status,0,0,'L',0);
828+                                       }
829+                                       else
830+                                       {
831+                                               //Muda cor fonte
832+                                               $pdf->SetTextColor(256,0,0);
833+                                               $pdf->Cell(20,5,$row_status,0,0,'L',0);                                 
834+                                               //Restaura cor fonte
835+                                               $pdf->SetTextColor(0);
836+                                       }
837+
838+                                       // Lista os participantes da conta institucional
839+                                       $max = count($row_mailforwardingaddress);
840+                                       for ($i=0; $i <= $max; $i++)
841+                                       {
842+                                               if ($max == $i)
843+                                               {
844+                                                       $pdf->Cell(80,5,$row_mailforwardingaddress[$i],0,1,'L',0);
845+                                               }
846+                                               else
847+                                               {
848+                                                       $pdf->Cell(80,5,$row_mailforwardingaddress[$i],0,2,'L',0);
849+                                               }
850+                                       }
851+
852+                               }
853+                       }
854+
855+                       $pdf->Output();
856+
857+                       return;
858+               }
859+
860+               function report_institutionalAccounts_group()
861+               {
862+                       $account_lid = $GLOBALS['phpgw']->accounts->data['account_lid'];
863+                       $manager_acl = $this->functions->read_acl($account_lid);
864+                       $raw_context = $acl['raw_context'];
865+                       $contexts = $manager_acl['contexts'];
866+                       $conta_context = count($manager_acl['contexts_display']);
867+                       foreach ($manager_acl['contexts_display'] as $index=>$tmp_context)
868+                       {
869+                               $index = $index +1;
870+
871+                               if ($conta_context == $index)
872+                               {
873+                                       $context_display .= $tmp_context;
874+                               }
875+                               else
876+                               {
877+                                       $context_display .= $tmp_context.'&nbsp;|&nbsp;';
878+                               }
879+                       }
880+                       
881+                       // Verifica se tem acesso a este modulo
882+                       if (!$this->functions->check_acl($account_lid,'list_sectors'))
883+                       {
884+                               $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/reports/inc/access_denied.php'));
885+                       }
886+
887+                       unset($GLOBALS['phpgw_info']['flags']['noheader']);
888+                       unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
889+                       
890+                       $GLOBALS['phpgw_info']['flags']['app_header'] = $GLOBALS['phpgw_info']['apps']['reports']['title'].' - '.lang('Report institutional accounts by Organization');
891+                       $GLOBALS['phpgw']->common->phpgw_header();
892+
893+                       $p = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
894+                       $p->set_file(array('groups'   => 'report_institutionalAccounts_group.tpl'));
895+                       $p->set_block('groups','list','list');
896+                       $p->set_block('groups','row','row');
897+                       $p->set_block('groups','row_empty','row_empty');
898+
899+                       // Seta as variaveis padroes.
900+                       $var = Array(
901+                               'th_bg'                         => $GLOBALS['phpgw_info']['theme']['th_bg'],
902+                               'back_url'                      => $GLOBALS['phpgw']->link('/reports/index.php'),
903+                               'context_display'               => $context_display
904+                       );
905+                       $p->set_var($var);
906+                       $p->set_var($this->functions->make_dinamic_lang($p, 'list'));
907+                       
908+
909+                       $GLOBALS['organizacaodn'] = $_POST['organizacaodn'];
910+
911+                       $contextsdn = $GLOBALS['organizacaodn'];
912+
913+                       // Save query
914+                       $varorganizacao = explode(",",$contextsdn);
915+                       $varorganizacao_nome = trim(strtoupper(ereg_replace("ou=","",$varorganizacao[0])));
916+                       $varorganizacao_nome = trim(strtoupper(ereg_replace("DC=","",$varorganizacao_nome)));
917+                       $user_logon = $GLOBALS['phpgw_info']['user'][account_lid];
918+
919+                       $sectors_info = $this->functions->get_list_context_logon($user_logon,$contexts,0);
920+                       $sectors_info_dn = $this->functions->get_list_groups_dn($user_logon,$contexts,0);
921+
922+                       if (!count($sectors_info))
923+                       {
924+                               $p->set_var('notselect',lang('No matches found'));
925+                       }
926+                       else
927+                       {
928+                               foreach($sectors_info as $context=>$sector)
929+                               {
930+                                       
931+                                       $sectordn = $sectors_info_dn[$context];
932+
933+                                       $tr_color = $this->nextmatchs->alternate_row_color($tr_color);
934+                                       
935+                                       if ($context == 0 && $contextsdn <> "")
936+                                       {
937+                                               if (trim(strtoupper($varorganizacao_nome)) ==  trim(strtoupper($sector)))
938+                                               {
939+                                                       $sector_options .= "<option selected value='" .$contextsdn. "'>" .$varorganizacao_nome. "</option>";
940+                                               }
941+                                               else
942+                                               {
943+                                                       $sector_options .= "<option selected value='" .$contextsdn. "'>" .$varorganizacao_nome. "</option>";
944+                                                       $sector_options .= "<option value='" . $sectordn . "'>". $sector . "</option>";
945+                                               }
946+
947+                                       }
948+                                       else
949+                                       {
950+                                               if ( trim(strtoupper($varorganizacao_nome)) !=  trim(strtoupper($sector)))
951+                                               {
952+                                                       $sectorok = trim(strtoupper(ereg_replace("dc=","",$sector)));
953+                                                       $sectorok = trim(strtoupper(ereg_replace("dc=","",$sectorok)));
954+                                                       $sector_options .= "<option value='" . $sectordn . "'>". $sectorok . "</option>";
955+                                               }
956+                                       }
957+
958+                                       $varselect = Array(
959+                                               'tr_color'      => $tr_color,
960+                                               'organizacaodn' => $contextsdn,
961+                                               'group_name'    => $sector_options
962+                                       );                                     
963+                               }
964+
965+                               $p->set_var($varselect);
966+                       }
967+
968+                       // ************** inicio carregar a sub-lista das organizações ****************
969+                       //Admin make a search
970+                       if ($GLOBALS['organizacaodn'] != '')
971+                       {
972+                               // Conta a quantidade de Usuario do grupo raiz
973+                               $account_user = $this->functions->get_count_institutionalAccount_sector($contextsdn,$contexts,0);
974+                               $totaluser = "(".$account_user.")";
975+
976+                               $p->set_var('organizacao', $varorganizacao_nome);
977+                               $p->set_var('all_user', lang('all'));
978+                               $p->set_var('total_user', $totaluser);
979+
980+                               $setorg = $contextsdn;
981+
982+                               $groups_info = $this->functions->get_sectors_list($contexts,$setorg);
983+
984+                               if (!count($groups_info))
985+                               {
986+                                       $p->set_var('message',lang('No sector found'));
987+                                       $p->parse('rows','row_empty',True);                             
988+                               }
989+                               else
990+                               {
991+                                       $ii = 0;
992+                                       foreach($groups_info as $context=>$groups)
993+                                       {
994+                                               $explode_groups = explode("#",$groups);
995+                                               $ii = $ii + 1;
996+                                               $tr_color = $this->nextmatchs->alternate_row_color($tr_color);
997+                                               $varsuborg = Array(
998+                                                       'tr_color'                                      => $tr_color,
999+                                                       'formname'                                      => "form".$ii,
1000+                                                       'formsubmit'                            => "document.form".$ii.".submit()",
1001+                                                       'sector_name'                           => $explode_groups[0],
1002+                                                       'sector_namedn'                         => $explode_groups[1],
1003+                                                       'sector_namedn_completo'        => $explode_groups[2],                 
1004+                                               );                                     
1005+
1006+                                               $p->set_var($varsuborg);                                       
1007+                                               $p->parse('rows','row',True);
1008+                                       }
1009+                               }
1010+                       }
1011+
1012+                       $p->pfp('out','list');
1013+               }
1014+
1015+               function report_institutionalAccounts_group_setor_print()
1016+               {
1017+                       $grouplist = trim($_POST[setor]);
1018+                       $grouplist = trim(ereg_replace("-","",$grouplist));
1019+                       $organizacao = trim($_POST[organizacao]);
1020+                       $setordn = trim($_POST[setordn]);
1021+                       $organizacaodn = trim($_POST[organizacaodn]);
1022+                       $sectornamedncompleto = trim($_POST[sectornamedncompleto]);
1023+                       $Psectornamedncompleto = trim($_POST[Psectornamedncompleto]);
1024+
1025+                       if ($sectornamedncompleto=="" && $Psectornamedncompleto=="")
1026+                       {                       
1027+                               $sectornamedncompleto = $organizacao;
1028+                       }
1029+                       else if ($sectornamedncompleto=="" && $Psectornamedncompleto <> "")
1030+                       {
1031+                               $sectornamedncompleto = $Psectornamedncompleto;
1032+                       }
1033+                       else
1034+                       {
1035+                               $sectornamedncompleto = $organizacao." | ".$sectornamedncompleto;
1036+                       }
1037+
1038+                       $data_atual = date("d/m/Y");
1039+                       $titulo_system = $GLOBALS['phpgw_info']['apps']['reports']['title'];
1040+                       
1041+                       $account_lid = $GLOBALS['phpgw']->accounts->data['account_lid'];
1042+                       $acl = $this->functions->read_acl($account_lid);
1043+                       $raw_context = $acl['raw_context'];
1044+                       $contexts = $acl['contexts'];
1045+                       foreach ($acl['contexts_display'] as $index=>$tmp_context)
1046+                       {
1047+                               $context_display .= $tmp_context;
1048+                       }
1049+                       // Verifica se o administrador tem acesso.
1050+                       if (!$this->functions->check_acl($account_lid,'list_users'))
1051+                       {
1052+                               $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/reports/inc/access_denied.php'));
1053+                       }
1054+
1055+                       unset($GLOBALS['phpgw_info']['flags']['noheader']);
1056+                       unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
1057+                       $GLOBALS['phpgw_info']['flags']['app_header'] =  $GLOBALS['phpgw_info']['apps']['reports']['title'].' - '.lang('Report institutional accounts by Organization');
1058+                       $GLOBALS['phpgw']->common->phpgw_header();
1059+
1060+                       $p = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
1061+                       $p->set_file(Array('accounts' => 'report_institutionalAccounts_group_print.tpl'));
1062+                       $p->set_block('accounts','body');
1063+                       $p->set_block('accounts','rowpag');
1064+                       $p->set_block('accounts','row');
1065+                       $p->set_block('accounts','row_empty');
1066+                       
1067+                       $var = Array(
1068+                               'bg_color'                              => $GLOBALS['phpgw_info']['theme']['bg_color'],
1069+                               'th_bg'                                 => $GLOBALS['phpgw_info']['theme']['th_bg'],
1070+                               'subtitulo'                             => lang('Report of institutional accounts of the Organization'),
1071+                               'subtitulo1'                            => $sectornamedncompleto,
1072+                               'context'                               => $raw_context,
1073+                               'titulo'                                => $titulo_system,
1074+                               'data_atual'                            => $data_atual,                         
1075+                               'context_display'                       => $context_display,
1076+                               'organizacaodn'                         => $organizacaodn,
1077+                               'organizacao'                           => $organizacao,
1078+                               'sector_name'                           => $grouplist,
1079+                               'sector_namedn'                         => $setordn,
1080+                               'imapDelimiter'                         => $_SESSION['phpgw_info']['expresso']['email_server']['imapDelimiter']
1081+                       );
1082+
1083+                       $p->set_var($var);
1084+                       $p->set_var($this->functions->make_dinamic_lang($p, 'body'));
1085+
1086+                       // ************ PAGINAÇÃO *******************************
1087+
1088+                       // verifica se exixte usuarios no LDAP
1089+                       $account_info = $this->functions->get_list_institutionalAccounts_sector($setordn,$contexts,0);
1090+
1091+                       if (!count($account_info))
1092+                       {
1093+                               $p->set_var('message',lang('No user found'));
1094+                               $p->parse('rows','row_empty',True);
1095+                       }
1096+                       else if (count($account_info))
1097+                       {
1098+                               //url do paginador
1099+                               $url = $GLOBALS['phpgw_info']['server']['webserver_url'].'/index.php?menuaction=reports.uireports_institutionalAccounts.report_institutionalAccounts_group_setor_print';
1100+
1101+                               // **** Grupo de paginas ****
1102+                               $gpag = $_POST[gpage];
1103+
1104+                               $grupopage = 20;
1105+                               
1106+                               if (!$gpag){
1107+                                       $gpag  = 1;
1108+                               }
1109+
1110+                               // recebe o numero da pagina
1111+                               $npag = $_POST[page];
1112+
1113+                               // verifica se o get com o numero da pagina é nulo
1114+                               if (!$npag)
1115+                               {
1116+                                       $npag = 1;
1117+                               }
1118+
1119+                               // conta total dos registros
1120+                               $numreg = count($account_info);
1121+                               
1122+                               // numero de registro por paginação
1123+                               $numpage = 53;
1124+                               
1125+                               $tp = ceil($numreg/$numpage);
1126+                               $inicio = $page - 1;
1127+                               $inicio = $inicio * $numpage;
1128+       
1129+                               // valor maximo de paginação
1130+                               $totalnpag =  (int)($tp/$grupopage);
1131+                               $restonpag = $tp % $grupopage;
1132+
1133+                               if ($restonpag > 0)
1134+                               {
1135+                                       $maxtotalnpag = $totalnpag + 1;
1136+                               }
1137+                               else
1138+                               {
1139+                                       $maxtotalnpag = $totalnpag;
1140+                               }
1141+                               // inicio fim para imprimir a paginação
1142+                               if( $tp > $grupopage)
1143+                               {
1144+                                       // inicio do for da paginação
1145+                                       if ($gpag <= ($totalnpag))
1146+                                       {
1147+                                               $fimgpg = $gpag * $grupopage;
1148+                                               $iniciogpg = (($fimgpg - $grupopage)+1);
1149+                                       }
1150+                                       else
1151+                                       {
1152+                                               $iniciogpg = (($gpag - 1) * $grupopage);
1153+                                               $fimgpg = $iniciogpg + $restonpag;
1154+                                       }
1155+                               }
1156+                               else
1157+                               {
1158+                                       // inicio do for da paginação
1159+                                       $iniciogpg = 1;
1160+                                       $fimgpg =  $tp;
1161+                               }
1162+
1163+                               // Imprime valores de contagen de registro e pagina
1164+                               $p->set_var('cont_user',$numreg);
1165+                               $p->set_var('cont_page',$tp);
1166+                               $p->set_var('page_now',$npag);
1167+
1168+                               // ********** busca no LDAP as informação paginada e imprime ****************
1169+                               $paginas = $this->functions->Paginate_institutionalAccount('accounts',$setordn,$contexts,'cn','asc',$npag,$numpage);
1170+
1171+                               $tmpp = array();
1172+
1173+                               while (list($null,$accountp) = each($paginas))
1174+                               {
1175+                                       $tmpp[$accountp['uid'][0]]['account_cn']        = $accountp['cn'][0];
1176+                                       $tmpp[$accountp['uid'][0]]['account_status']    = $accountp['accountStatus'][0];
1177+                                       $tmpp[$accountp['uid'][0]]['account_mail']      = $accountp['mail'][0];
1178+                                       $tmpp[$accountp['uid'][0]]['account_mailForwardingAddress']      = $accountp['mailForwardingAddress'];
1179+
1180+                                       $sortp[] = $accountp['uid'][0];
1181+                                       if (count($sortp))
1182+                                       {
1183+                                               natcasesort($sortp);
1184+                                               foreach ($sortp as $user_uidp)
1185+                                               $returnp[$user_uidp] = $tmpp[$user_uidp];
1186+                                       }
1187+                               }
1188+
1189+                               while (list($null,$accountr) = each($returnp))
1190+                               {
1191+                                       $this->nextmatchs->template_alternate_row_color($p);
1192+
1193+                                        $max = count($accountr['account_mailForwardingAddress']);
1194+                                       $row_participants = '';
1195+                                        for ($i=0; $i <= $max; $i++)
1196+                                       {
1197+                                                if (0 == $i)
1198+                                                {
1199+                                                        $row_participants = $accountr['account_mailForwardingAddress'][$i];
1200+                                                }
1201+                                               elseif ($max == $i)
1202+                                               {
1203+                                                       $row_participants = $row_participants . $accountr['account_mailForwardingAddress'][$i];
1204+                                               }
1205+                                                else
1206+                                                {
1207+                                                       $row_participants = $row_participants . '<br>' . $accountr['account_mailForwardingAddress'][$i];
1208+                                                }
1209+                                        }
1210+
1211+                                       $varr = array(
1212+                                               'row_participants'    =>    $row_participants ,
1213+                                               'row_cn'        => $accountr['account_cn'],
1214+                                               'row_status'    => $accountr['account_status'] == 'active' ? '<font color="#0033FF">'.lang('Activated').'</font> ' : '<font color="#FF0000">'.lang('Disabled').'</font>',
1215+                                               'row_mail'      => (!$accountr['account_mail'] ? '<font color=red>'.lang('Without E-mail').'</font>' : $accountr['account_mail'])
1216+                                       );
1217+                                       
1218+                                       $p->set_var($varr);
1219+       
1220+                                       $p->parse('rows','row',True);
1221+                               }
1222+                               // ********************** Fim ****************************
1223+
1224+                               // grupo de pagina anteriores
1225+                               if ($gpag > 1)
1226+                               {
1227+                                       $gpaga = $gpag - 1;
1228+                                       $varp = Array(
1229+                                               'paginat'       =>      "<form name='anterior' method='POST' action='$url'>
1230+                                               <input type='hidden' name='setor' value='$grouplist'>
1231+                                               <input type='hidden' name='organizacao' value='$organizacao'>
1232+                                               <input type='hidden' name='setordn' value='$setordn'>
1233+                                               <input type='hidden' name='organizacaodn' value='$organizacaodn'>
1234+                                               <input type='hidden' name='page' value='$npag'>
1235+                                               <input type='hidden' name='gpage' value='$gpaga'>
1236+                                               <input type='hidden' name='Psectornamedncompleto' value='$sectornamedncompleto'>
1237+                                               <div style='float:left;' onClick='document.anterior.submit()'><a href='#'>".lang('Previous Pages')."<<&nbsp;&nbsp;&nbsp;</a></div></form>"
1238+                                       );
1239+                                       $p->set_var($varp);                                             
1240+       
1241+                                               $p->parse('pages','rowpag',True);
1242+                               }
1243+                               // **** FIM *******
1244+
1245+                               // imprime a paginação
1246+                               if ($fimgpg > 1)
1247+                               {
1248+                                       for($x = $iniciogpg; $x <= $fimgpg; $x++)
1249+                                       {
1250+                                               $varp = Array(
1251+                                                       'paginat'       =>  "<form name='form".$x."' method='POST' action='$url'>
1252+                                                       <input type='hidden' name='setor' value='$grouplist'>
1253+                                                       <input type='hidden' name='organizacao' value='$organizacao'>
1254+                                                       <input type='hidden' name='setordn' value='$setordn'>
1255+                                                       <input type='hidden' name='organizacaodn' value='$organizacaodn'>
1256+                                                       <input type='hidden' name='page' value='$x'>
1257+                                                       <input type='hidden' name='gpage' value='$gpag'>
1258+                                                       <input type='hidden' name='Psectornamedncompleto' value='$sectornamedncompleto'>
1259+                                                       <div style='float:left;' onClick='document.form".$x.".submit()'><a href='#'>$x&nbsp;</a></div></form>"
1260+                                               );
1261+
1262+                                               $p->set_var($varp);                                             
1263+       
1264+                                               $p->parse('pages','rowpag',True);
1265+                                       }
1266+                               }
1267+               
1268+                               // proximo grupo de pagina
1269+                               if ($gpag < $maxtotalnpag && $maxtotalnpag > 0)
1270+                               {
1271+                                       $gpagp = $gpag + 1;
1272+                                       $varp = Array(
1273+                                               'paginat'       =>  "<form name='proximo' method='POST' action='$url'>
1274+                                               <input type='hidden' name='setor' value='$grouplist'>
1275+                                               <input type='hidden' name='organizacao' value='$organizacao'>
1276+                                               <input type='hidden' name='setordn' value='$setordn'>
1277+                                               <input type='hidden' name='organizacaodn' value='$organizacaodn'>
1278+                                               <input type='hidden' name='page' value='$npag'>
1279+                                               <input type='hidden' name='gpage' value='$gpagp'>
1280+                                               <input type='hidden' name='Psectornamedncompleto' value='$sectornamedncompleto'>
1281+                                               <div style='float:left;' onClick='document.proximo.submit()'><a href='#'>&nbsp;&nbsp;&nbsp;>>".lang('Next Page')."</a></div></form>"
1282+                                       );
1283+                                       $p->set_var($varp);                                             
1284+
1285+                                       $p->parse('pages','rowpag',True);
1286+                               }
1287+
1288+                       // ************************* FIM PAGINAÇÃO ***********************                                                     
1289+                       }
1290+
1291+                       $p->pfp('out','body');
1292+               }
1293+
1294+               function get_institutionalAccount_info($userdn,$usercontexts,$usersizelimit)
1295+               {
1296+                       $user_info = $this->functions->Paginate_institutionalAccount('accounts',$setordn,$contexts,'cn','asc',$npag,$numpage);
1297+
1298+                       return $user_info;
1299+               }
1300+
1301+               function css()
1302+               {
1303+                       $appCSS =
1304+                       'th.activetab
1305+                       {
1306+                               color:#000000;
1307+                               background-color:#D3DCE3;
1308+                               border-top-width : 1px;
1309+                               border-top-style : solid;
1310+                               border-top-color : Black;
1311+                               border-left-width : 1px;
1312+                               border-left-style : solid;
1313+                               border-left-color : Black;
1314+                               border-right-width : 1px;
1315+                               border-right-style : solid;
1316+                               border-right-color : Black;
1317+                               font-size: 12px;
1318+                               font-family: Tahoma, Arial, Helvetica, sans-serif;
1319+                       }
1320+                       
1321+                       th.inactivetab
1322+                       {
1323+                               color:#000000;
1324+                               background-color:#E8F0F0;
1325+                               border-bottom-width : 1px;
1326+                               border-bottom-style : solid;
1327+                               border-bottom-color : Black;
1328+                               font-size: 12px;
1329+                               font-family: Tahoma, Arial, Helvetica, sans-serif;                             
1330+                       }
1331+                       
1332+                       .td_left {border-left:1px solid Gray; border-top:1px solid Gray; border-bottom:1px solid Gray;}
1333+                       .td_right {border-right:1px solid Gray; border-top:1px solid Gray; border-bottom:1px solid Gray;}
1334+                       
1335+                       div.activetab{ display:inline; }
1336+                       div.inactivetab{ display:none; }';
1337+                       
1338+                       return $appCSS;
1339+               }
1340+
1341+       }
1342+?>
1343diff -NEbBaur -x '\.svn' reports/inc/class.uireports_logon.inc.php reports_alt/inc/class.uireports_logon.inc.php
1344--- reports/inc/class.uireports_logon.inc.php   2011-05-31 01:50:24.000000000 -0300
1345+++ reports_alt/inc/class.uireports_logon.inc.php       2011-05-20 21:27:06.000000000 -0300
1346@@ -75,7 +75,7 @@
1347                        $numacesso = abs(round($vnumacesso));
1348 
1349                        if ($vnumacesso==999){
1350-                               $numacesso = "Nunca logou";
1351+                               $numacesso = lang('Never login');
1352                        }
1353 
1354 
1355@@ -86,7 +86,6 @@
1356                        $pdf=new uireports_fpdf("L");
1357                        $pdf->Open();
1358                        $pdf->AddPage();
1359-                       $pdf->SetTitle('Relatório Gerado pelo Expresso Reports');
1360 
1361                        //Set font and colors
1362                        $pdf->SetFont('Arial','B',14);
1363@@ -97,7 +96,7 @@
1364 
1365                        //Table header
1366                        $SubTitulo = lang('reports title6');
1367-                       $SubTituloR = lang('report of time without logging by Organization');
1368+                       $SubTituloR = lang('Report Generated by Expresso Reports');
1369                        $SubTitulo1 = $subtitulo1;
1370                        $GLOBALS['phpgw_info']['apps']['reports']['subtitle'] = $SubTituloR;
1371                        $pdf->Cell(0,8,$SubTitulo,0,1,'C',0);
1372@@ -180,18 +179,18 @@
1373                                {
1374                                                $row_cn = $accountr['account_cn'];
1375                                                $account_lid = $accountr['account_lid'];
1376-                                               $row_mail = (!$accountr['account_mail'] ? 'Sem E-mail' : $accountr['account_mail']);
1377+                                               $row_mail = (!$accountr['account_mail'] ? lang('Without E-mail') : $accountr['account_mail']);
1378                                                $row_timestamp = substr($accountr['createTimestamp'], 6, 2)."/".substr($accountr['createTimestamp'], 4, 2)."/".substr($accountr['createTimestamp'], 0, 4);
1379-                                               $row_li_date = $accountr['li_date'] == 'Nunca logou' ? 'Nunca logou' : $accountr['li_date'];
1380+                                               $row_li_date = $accountr['li_date'] == lang('Never login') ? lang('Never login') : $accountr['li_date'];
1381                                                $row_li_dias = $accountr['li_dias'];
1382-                                               $row_status = $accountr['account_status'] == 'active' ? 'Ativado' : 'Desativado';
1383+                                               $row_status = $accountr['account_status'] == 'active' ? lang('Activated') : lang('Disabled');
1384                                               
1385                                                $pdf->Cell(60,5,$account_lid,0,0,'L',0);
1386                                                $pdf->Cell(60,5,$row_cn,0,0,'L',0);
1387                                                $pdf->Cell(70,5,$row_mail,0,0,'L',0);
1388                                                $pdf->Cell(25,5,$row_timestamp,0,0,'C',0);
1389 
1390-                                               if ($row_li_date == 'Nunca logou')
1391+                                               if ($row_li_date == lang('Never login'))
1392                                                {
1393                                                        //Muda cor fonte
1394                                                        $pdf->SetTextColor(256,0,0);
1395@@ -611,7 +610,7 @@
1396                                                        'row_status'    => $accountr['account_status'] == 'active' ? '<font color="#0033FF">Ativado</font> ' : '<font color="#FF0000">Desativado</font>',
1397                                                        'row_mail'              => (!$accountr['account_mail']?'<font color=red>Sem E-mail</font>':$accountr['account_mail']),
1398                                                        'row_timestamp'         => substr($accountr['createTimestamp'], 6, 2)."/".substr($accountr['createTimestamp'], 4, 2)."/".substr($accountr['createTimestamp'], 0, 4),
1399-                                                       'row_li_date'           => $accountr['li_date'] =='Nunca logou' ? '<font color="#FF0000">'.$accountr['li_date'].'</font>' : $accountr['li_date'],
1400+                                                       'row_li_date'           => $accountr['li_date'] ==lang('Never login') ? '<font color="#FF0000">'.$accountr['li_date'].'</font>' : $accountr['li_date'],
1401                                                        'row_li_dias'           => $accountr['li_dias']
1402                                                );
1403                                               
1404@@ -717,7 +716,7 @@
1405       
1406                                                $access_log_array = explode("#",$access_log);
1407                                               
1408-                                               if ($numacesso<>"Nunca logou"){
1409+                                               if ($numacesso<>lang('Never login')){
1410                                                        $accountp['li_dias'] = $access_log_array[1];
1411                                                        $accountp['li_date'] = $access_log_array[0];
1412               
1413@@ -777,10 +776,10 @@
1414                                                        'row_idnumber'  => $accountr['account_id'],
1415                                                        'row_loginid'   => $accountr['account_lid'],
1416                                                        'row_cn'                => $accountr['account_cn'],
1417-                                                       'row_status'    => $accountr['account_status'] == 'active' ? '<font color="#0033FF">Ativado</font> ' : '<font color="#FF0000">Desativado</font>',
1418-                                                       'row_mail'              => (!$accountr['account_mail']?'<font color=red>Sem E-mail</font>':$accountr['account_mail']),
1419+                                                       'row_status'    => $accountr['account_status'] == 'active' ? '<font color="#0033FF">'.lang('Activated').'</font> ' : '<font color="#FF0000">'.lang('Disabled').'</font>',
1420+                                                       'row_mail'              => (!$accountr['account_mail']?'<font color=red>'.lang('Without E-mail').'</font>':$accountr['account_mail']),
1421                                                        'row_timestamp'         => substr($accountr['createTimestamp'], 6, 2)."/".substr($accountr['createTimestamp'], 4, 2)."/".substr($accountr['createTimestamp'], 0, 4),
1422-                                                       'row_li_date'           => $accountr['li_date'] =='Nunca logou' ? '<font color="#FF0000">'.$accountr['li_date'].'</font>' : $accountr['li_date'],
1423+                                                       'row_li_date'           => $accountr['li_date'] ==lang('Never login') ? '<font color="#FF0000">'.$accountr['li_date'].'</font>' : $accountr['li_date'],
1424                                                        'row_li_dias'           => $accountr['li_dias']
1425                                                );
1426                                               
1427diff -NEbBaur -x '\.svn' reports/inc/class.uireports_maillists.inc.php reports_alt/inc/class.uireports_maillists.inc.php
1428--- reports/inc/class.uireports_maillists.inc.php       2011-05-31 01:50:24.000000000 -0300
1429+++ reports_alt/inc/class.uireports_maillists.inc.php   2011-05-20 21:27:06.000000000 -0300
1430@@ -77,7 +77,7 @@
1431                        $pdf=new uireports_fpdf();
1432                        $pdf->Open();
1433                        $pdf->AddPage();
1434-                       $pdf->SetTitle('Relatório Gerado pelo Expresso Reports');
1435+                       $pdf->SetTitle(lang('Report Generated by Expresso Reports'));
1436 
1437                        //Set font and colors
1438                        $pdf->SetFont('Arial','B',14);
1439@@ -88,7 +88,7 @@
1440 
1441                        //Table header
1442                        $SubTitulo = lang('reports title8');
1443-                       $SubTituloR = lang('report organization');
1444+                       $SubTituloR = lang('Report Generated by Expresso Reports');
1445                        $SubTitulo1 = $subtitulo1;
1446                        $GLOBALS['phpgw_info']['apps']['reports']['subtitle'] = $SubTituloR;
1447                        $pdf->Cell(0,8,$SubTitulo,0,1,'C',0);
1448@@ -124,7 +124,7 @@
1449                                {
1450                                        $row_loginid = $account['uid'];
1451                                        $row_cn = $account['name'];
1452-                                       $row_mail = (!$account['email']?'<font color=red>Sem E-mail</font>':$account['email']);
1453+                                       $row_mail = (!$account['email']?'<font color=red>'.lang('Without E-mail').'</font>':$account['email']);
1454                                        $pdf->Cell(40,5,$row_loginid,0,0,'L',0);
1455                                        $pdf->Cell(75,5,$row_cn,0,0,'L',0);
1456                                        $pdf->Cell(75,5,$row_mail,0,1,'L',0);
1457@@ -460,7 +460,7 @@
1458                                        $tmpp[$accountp['uid'][0]]['account_id']         = $accountp['uidNumber'][0];
1459                                        $tmpp[$accountp['uid'][0]]['account_lid'] = $accountp['uid'][0];
1460                                        $tmpp[$accountp['uid'][0]]['account_cn']         = $accountp['cn'][0];
1461-                                       $tmpp[$accountp['uid'][0]]['account_mail']= $accountp['mail'][0];
1462+                                       $tmpp[$accountp['uid'][0]]['account_mail']      = $accountp['mail'][0];
1463                                        $sortp[] = $accountp['uid'][0];
1464                                        if (count($sortp))
1465                                        {
1466@@ -477,7 +477,7 @@
1467                                        $varr = array(
1468                                                'row_loginid'   => $accountr['account_lid'],
1469                                                'row_cn'                => $accountr['account_cn'],
1470-                                               'row_mail'              => (!$accountr['account_mail']?'<font color=red>Sem E-mail</font>':$accountr['account_mail'])
1471+                                               'row_mail'              => (!$accountr['account_mail']?'<font color=red>'.lang('Without E-mail').'</font>':$accountr['account_mail'])
1472                                        );
1473                                       
1474                                        $p->set_var($varr);
1475diff -NEbBaur -x '\.svn' reports/inc/class.uireports_shareAccounts.inc.php reports_alt/inc/class.uireports_shareAccounts.inc.php
1476--- reports/inc/class.uireports_shareAccounts.inc.php   1969-12-31 21:00:00.000000000 -0300
1477+++ reports_alt/inc/class.uireports_shareAccounts.inc.php       2011-05-31 01:23:52.000000000 -0300
1478@@ -0,0 +1,667 @@
1479+<?php
1480+       /*************************************************************************************\
1481+       * Expresso Relatório                                                                                                     *
1482+       * by Elvio Rufino da Silva (elviosilva@yahoo.com.br, elviosilva@cepromat.mt.gov.br)  *
1483+       * -----------------------------------------------------------------------------------*
1484+       *  This program is free software; you can redistribute it and/or modify it                       *
1485+       *  under the terms of the GNU General Public License as published by the                         *
1486+       *  Free Software Foundation; either version 2 of the License, or (at your                        *
1487+       *  option) any later version.                                                                                                            *
1488+       *************************************************************************************/
1489+
1490+       class uireports_shareAccounts
1491+       {
1492+               var $public_functions = array
1493+               (
1494+                       'report_shareAccounts_print_pdf'                => True,
1495+                       'report_shareAccounts_group'                    => True,
1496+                       'report_shareAccounts_group_setor_print'        => True,
1497+                       'get_shareAccount_info'                         => True,
1498+                       'css'                                           => True
1499+               );
1500+
1501+               var $nextmatchs;
1502+               var $user;
1503+               var $functions;
1504+               var $current_config;
1505+               var $ldap_functions;
1506+               var $db_functions;
1507+               var $imap_functions;
1508+
1509+               function uireports_shareAccounts()
1510+               {
1511+                       $this->user             = CreateObject('reports.user');
1512+                       $this->nextmatchs       = CreateObject('phpgwapi.nextmatchs');
1513+                       $this->functions        = CreateObject('reports.functions');
1514+                       $this->ldap_functions   = CreateObject('reports.ldap_functions');
1515+                       $this->db_functions     = CreateObject('reports.db_functions');
1516+                       $this->fpdf             = CreateObject('reports.uireports_fpdf'); // Class para PDF
1517+                       $this->imap_functions   = CreateObject('reports.imap_functions');
1518+                                                                       
1519+                       $c = CreateObject('phpgwapi.config','reports'); // cria o objeto relatorio no $c
1520+                       $c->read_repository(); // na classe config do phpgwapi le os dados da tabela phpgw_config where relatorio, como passagem acima
1521+                       $this->current_config = $c->config_data; // carrega os dados em do array no current_config
1522+
1523+                       if(!@is_object($GLOBALS['phpgw']->js))
1524+                       {
1525+                               $GLOBALS['phpgw']->js = CreateObject('phpgwapi.javascript');
1526+                       }
1527+                       $GLOBALS['phpgw']->js->validate_file('jscode','cc','reports');
1528+               }
1529+               
1530+               function report_shareAccounts_print_pdf()
1531+               {
1532+                       $account_lid = $GLOBALS['phpgw']->accounts->data['account_lid'];
1533+                       $acl = $this->functions->read_acl($account_lid);
1534+                       $raw_context = $acl['raw_context'];
1535+                       $contexts = $acl['contexts'];
1536+                       foreach ($acl['contexts_display'] as $index=>$tmp_context)
1537+                       {
1538+                               $context_display .= $tmp_context;
1539+                       }
1540+
1541+
1542+                       if (!$this->functions->check_acl($account_lid,'list_users'))
1543+                       {
1544+                               $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/reports/inc/access_denied.php'));
1545+                       }
1546+
1547+                       $grouplist = trim($_POST[setor]);
1548+                       $grouplist = trim(ereg_replace("-","",$grouplist));
1549+
1550+                       $setordn = trim($_POST[setordn]);
1551+                       $subtitulo1 = trim($_POST[subtitulo]);
1552+
1553+                       define('FPDF_FONTPATH','font/');
1554+                       $data_atual = date("d/m/Y");
1555+                       $titulo_system = $GLOBALS['phpgw_info']['apps']['reports']['title'];                   
1556+
1557+                       $pdf=new uireports_fpdf("L");
1558+                       $pdf->Open();
1559+                       $pdf->AddPage();
1560+
1561+                       //Set font and colors
1562+                       $pdf->SetFont('Arial','B',14);
1563+                       $pdf->SetFillColor(0,0,0);
1564+                       $pdf->SetTextColor(0,0,200);
1565+                       $pdf->SetDrawColor(0,0,0);
1566+                       $pdf->SetLineWidth(.2);
1567+
1568+                       //Table header
1569+                       $SubTitulo = lang('Report of shared accounts of the Organization');
1570+                       $SubTituloR = lang('Report Generated by Expresso Reports');
1571+                       $SubTitulo1 = $subtitulo1;
1572+                       $GLOBALS['phpgw_info']['apps']['reports']['subtitle'] = $SubTituloR;
1573+                       $pdf->Cell(0,8,$SubTitulo,0,1,'C',0);
1574+
1575+                       //Set font and colors
1576+                       $pdf->SetFont('Arial','B',8);
1577+                       $pdf->SetFillColor(0,0,0);
1578+                       $pdf->SetTextColor(0,0,200);
1579+                       $pdf->SetDrawColor(0,0,0);
1580+                       $pdf->SetLineWidth(.3);
1581+                       $pdf->MultiCell(0,3,$SubTitulo1,0,'C',0);
1582+                       $pdf->Cell(0,2,' ',0,1,'C',0);
1583+                       $pdf->Cell(0,5,lang('Date').'..: '.$data_atual,0,0,'L',0);
1584+                       $pdf->Cell(0,5,$titulo_system,0,1,'R',0);
1585+                                                                                               
1586+                       $account_info = $this->functions->get_list_shareAccounts_sector($setordn,$contexts,0);
1587+                                               
1588+                       if (count($account_info))
1589+                       {
1590+                               //Restore font and colors
1591+                               $pdf->SetFont('Arial','',8);
1592+                               $pdf->SetFillColor(224,235,255);
1593+                               $pdf->SetTextColor(0);
1594+
1595+                               $pdf->Cell(55,5,lang('loginid'),1,0,'L',1);
1596+                               $pdf->Cell(80,5,lang('name'),1,0,'L',1);
1597+                               $pdf->Cell(70,5,lang('report email'),1,0,'L',1);
1598+                                $pdf->Cell(20,5,lang('status'),1,0,'L',1);
1599+                                $pdf->Cell(55,5,lang('Participants'),1,1,'L',1);                               
1600+
1601+                               while (list($null,$account) = each($account_info))
1602+                               {
1603+                                               $row_loginid = $account['account_lid'];
1604+                                               $row_cn = $account['account_cn'];
1605+                                               $row_mail = (!$account['account_mail'] ? '<font color=red>'.lang('Without E-mail').'</font>' : $account['account_mail']);
1606+                                               $row_status = $account['account_accountstatus'] == 'active' ? lang('Activated') : lang('Disabled');
1607+
1608+                                               $pdf->Cell(55,5,$row_loginid,0,0,'L',0);
1609+                                               $pdf->Cell(80,5,$row_cn,0,0,'L',0);
1610+                                               $pdf->Cell(70,5,$row_mail,0,0,'L',0);
1611+
1612+                                       if ($row_status == lang('Activated'))
1613+                                       {
1614+                                               //Restaura cor fonte
1615+                                               $pdf->SetTextColor(0);
1616+                                               $pdf->Cell(20,5,$row_status,0,0,'L',0);
1617+                                       }
1618+                                       else
1619+                                       {
1620+                                               //Muda cor fonte
1621+                                               $pdf->SetTextColor(256,0,0);
1622+                                               $pdf->Cell(20,5,$row_status,0,0,'L',0);                                 
1623+                                               //Restaura cor fonte
1624+                                               $pdf->SetTextColor(0);
1625+                                       }
1626+
1627+
1628+                                               //Pega participantes da conta compartilhada                                             
1629+                                               $owner_user_share = $this->imap_functions->getMembersShareAccount($account['account_lid']);
1630+
1631+                                               //Imprimir os participantes da conta compartilhada no PDF
1632+                                               $max = count($owner_user_share);
1633+                                               for ($i=0; $i <= $max; $i++)
1634+                                               {
1635+                                                       if ($max == $i)
1636+                                                       {
1637+                                                               $pdf->Cell(55,5,$owner_user_share[$i],0,1,'L',0);
1638+                                                       }
1639+                                                       else
1640+                                                       {
1641+                                                               $pdf->Cell(55,5,$owner_user_share[$i],0,2,'L',0);
1642+                                                       }
1643+                                               }
1644+                               }
1645+                       }
1646+
1647+                       $pdf->Output();
1648+
1649+                       return;
1650+               }
1651+
1652+               function report_shareAccounts_group()
1653+               {
1654+                       $account_lid = $GLOBALS['phpgw']->accounts->data['account_lid'];
1655+                       $manager_acl = $this->functions->read_acl($account_lid);
1656+                       $raw_context = $acl['raw_context'];
1657+                       $contexts = $manager_acl['contexts'];
1658+                       $conta_context = count($manager_acl['contexts_display']);
1659+                       foreach ($manager_acl['contexts_display'] as $index=>$tmp_context)
1660+                       {
1661+                               $index = $index +1;
1662+
1663+                               if ($conta_context == $index)
1664+                               {
1665+                                       $context_display .= $tmp_context;
1666+                               }
1667+                               else
1668+                               {
1669+                                       $context_display .= $tmp_context.'&nbsp;|&nbsp;';
1670+                               }
1671+                       }
1672+                       
1673+                       // Verifica se tem acesso a este modulo
1674+                       if (!$this->functions->check_acl($account_lid,'list_sectors'))
1675+                       {
1676+                               $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/reports/inc/access_denied.php'));
1677+                       }
1678+
1679+                       unset($GLOBALS['phpgw_info']['flags']['noheader']);
1680+                       unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
1681+                       
1682+                       $GLOBALS['phpgw_info']['flags']['app_header'] = $GLOBALS['phpgw_info']['apps']['reports']['title'].' - '.lang('Report shared accounts by Organization');
1683+                       $GLOBALS['phpgw']->common->phpgw_header();
1684+
1685+                       $p = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
1686+                       $p->set_file(array('groups'   => 'report_shareAccounts_group.tpl'));
1687+                       $p->set_block('groups','list','list');
1688+                       $p->set_block('groups','row','row');
1689+                       $p->set_block('groups','row_empty','row_empty');
1690+
1691+                       // Seta as variaveis padroes.
1692+                       $var = Array(
1693+                               'th_bg'                         => $GLOBALS['phpgw_info']['theme']['th_bg'],
1694+                               'back_url'                      => $GLOBALS['phpgw']->link('/reports/index.php'),
1695+                               'context_display'               => $context_display
1696+                       );
1697+                       $p->set_var($var);
1698+                       $p->set_var($this->functions->make_dinamic_lang($p, 'list'));
1699+                       
1700+
1701+                       $GLOBALS['organizacaodn'] = $_POST['organizacaodn'];
1702+
1703+                       $contextsdn = $GLOBALS['organizacaodn'];
1704+
1705+                       // Save query
1706+                       $varorganizacao = explode(",",$contextsdn);
1707+                       $varorganizacao_nome = trim(strtoupper(ereg_replace("ou=","",$varorganizacao[0])));
1708+                       $varorganizacao_nome = trim(strtoupper(ereg_replace("DC=","",$varorganizacao_nome)));
1709+                       $user_logon = $GLOBALS['phpgw_info']['user'][account_lid];
1710+
1711+                       $sectors_info = $this->functions->get_list_context_logon($user_logon,$contexts,0);
1712+                       $sectors_info_dn = $this->functions->get_list_groups_dn($user_logon,$contexts,0);
1713+
1714+                       if (!count($sectors_info))
1715+                       {
1716+                               $p->set_var('notselect',lang('No matches found'));
1717+                       }
1718+                       else
1719+                       {
1720+                               foreach($sectors_info as $context=>$sector)
1721+                               {
1722+                                       
1723+                                       $sectordn = $sectors_info_dn[$context];
1724+
1725+                                       $tr_color = $this->nextmatchs->alternate_row_color($tr_color);
1726+                                       
1727+                                       if ($context == 0 && $contextsdn <> "")
1728+                                       {
1729+                                               if (trim(strtoupper($varorganizacao_nome)) ==  trim(strtoupper($sector)))
1730+                                               {
1731+                                                       $sector_options .= "<option selected value='" .$contextsdn. "'>" .$varorganizacao_nome. "</option>";
1732+                                               }
1733+                                               else
1734+                                               {
1735+                                                       $sector_options .= "<option selected value='" .$contextsdn. "'>" .$varorganizacao_nome. "</option>";
1736+                                                       $sector_options .= "<option value='" . $sectordn . "'>". $sector . "</option>";
1737+                                               }
1738+
1739+                                       }
1740+                                       else
1741+                                       {
1742+                                               if ( trim(strtoupper($varorganizacao_nome)) !=  trim(strtoupper($sector)))
1743+                                               {
1744+                                                       $sectorok = trim(strtoupper(ereg_replace("dc=","",$sector)));
1745+                                                       $sectorok = trim(strtoupper(ereg_replace("dc=","",$sectorok)));
1746+                                                       $sector_options .= "<option value='" . $sectordn . "'>". $sectorok . "</option>";
1747+                                               }
1748+                                       }
1749+
1750+                                       $varselect = Array(
1751+                                               'tr_color'      => $tr_color,
1752+                                               'organizacaodn' => $contextsdn,
1753+                                               'group_name'    => $sector_options
1754+                                       );                                     
1755+                               }
1756+
1757+                               $p->set_var($varselect);
1758+                       }
1759+
1760+                       // ************** inicio carregar a sub-lista das organizações ****************
1761+                       //Admin make a search
1762+                       if ($GLOBALS['organizacaodn'] != '')
1763+                       {
1764+                               // Conta a quantidade de Usuario do grupo raiz
1765+                               $account_user = $this->functions->get_count_shareAccount_sector($contextsdn,$contexts,0);
1766+                               $totaluser = "(".$account_user.")";
1767+
1768+                               $p->set_var('organizacao', $varorganizacao_nome);
1769+                               $p->set_var('all_user', lang('all'));
1770+                               $p->set_var('total_user', $totaluser);
1771+
1772+                               $setorg = $contextsdn;
1773+
1774+                               $groups_info = $this->functions->get_sectors_list($contexts,$setorg);
1775+
1776+                               if (!count($groups_info))
1777+                               {
1778+                                       $p->set_var('message',lang('No sector found'));
1779+                                       $p->parse('rows','row_empty',True);                             
1780+                               }
1781+                               else
1782+                               {
1783+                                       $ii = 0;
1784+                                       foreach($groups_info as $context=>$groups)
1785+                                       {
1786+                                               $explode_groups = explode("#",$groups);
1787+                                               $ii = $ii + 1;
1788+                                               $tr_color = $this->nextmatchs->alternate_row_color($tr_color);
1789+                                               $varsuborg = Array(
1790+                                                       'tr_color'                                      => $tr_color,
1791+                                                       'formname'                                      => "form".$ii,
1792+                                                       'formsubmit'                            => "document.form".$ii.".submit()",
1793+                                                       'sector_name'                           => $explode_groups[0],
1794+                                                       'sector_namedn'                         => $explode_groups[1],
1795+                                                       'sector_namedn_completo'        => $explode_groups[2],                 
1796+                                               );                                     
1797+
1798+                                               $p->set_var($varsuborg);                                       
1799+                                               $p->parse('rows','row',True);
1800+                                       }
1801+                               }
1802+                       }
1803+
1804+                       $p->pfp('out','list');
1805+               }
1806+
1807+               function report_shareAccounts_group_setor_print()
1808+               {
1809+                       $grouplist = trim($_POST[setor]);
1810+                       $grouplist = trim(ereg_replace("-","",$grouplist));
1811+                       $organizacao = trim($_POST[organizacao]);
1812+                       $setordn = trim($_POST[setordn]);
1813+                       $organizacaodn = trim($_POST[organizacaodn]);
1814+                       $sectornamedncompleto = trim($_POST[sectornamedncompleto]);
1815+                       $Psectornamedncompleto = trim($_POST[Psectornamedncompleto]);
1816+
1817+                       if ($sectornamedncompleto=="" && $Psectornamedncompleto=="")
1818+                       {                       
1819+                               $sectornamedncompleto = $organizacao;
1820+                       }
1821+                       else if ($sectornamedncompleto=="" && $Psectornamedncompleto <> "")
1822+                       {
1823+                               $sectornamedncompleto = $Psectornamedncompleto;
1824+                       }
1825+                       else
1826+                       {
1827+                               $sectornamedncompleto = $organizacao." | ".$sectornamedncompleto;
1828+                       }
1829+
1830+                       $data_atual = date("d/m/Y");
1831+                       $titulo_system = $GLOBALS['phpgw_info']['apps']['reports']['title'];
1832+                       
1833+                       $account_lid = $GLOBALS['phpgw']->accounts->data['account_lid'];
1834+                       $acl = $this->functions->read_acl($account_lid);
1835+                       $raw_context = $acl['raw_context'];
1836+                       $contexts = $acl['contexts'];
1837+                       foreach ($acl['contexts_display'] as $index=>$tmp_context)
1838+                       {
1839+                               $context_display .= $tmp_context;
1840+                       }
1841+                       // Verifica se o administrador tem acesso.
1842+                       if (!$this->functions->check_acl($account_lid,'list_users'))
1843+                       {
1844+                               $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/reports/inc/access_denied.php'));
1845+                       }
1846+
1847+                       unset($GLOBALS['phpgw_info']['flags']['noheader']);
1848+                       unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
1849+                       $GLOBALS['phpgw_info']['flags']['app_header'] =  $GLOBALS['phpgw_info']['apps']['reports']['title'].' - '.lang('Report shared accounts by Organization');
1850+                       $GLOBALS['phpgw']->common->phpgw_header();
1851+
1852+                       $p = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
1853+                       $p->set_file(Array('accounts' => 'report_shareAccounts_group_print.tpl'));
1854+                       $p->set_block('accounts','body');
1855+                       $p->set_block('accounts','rowpag');
1856+                       $p->set_block('accounts','row');
1857+                       $p->set_block('accounts','row_empty');
1858+                       
1859+                       $var = Array(
1860+                               'bg_color'                              => $GLOBALS['phpgw_info']['theme']['bg_color'],
1861+                               'th_bg'                                 => $GLOBALS['phpgw_info']['theme']['th_bg'],
1862+                               'subtitulo'                             => lang('Report of shared accounts of the Organization'),
1863+                               'subtitulo1'                            => $sectornamedncompleto,
1864+                               'context'                               => $raw_context,
1865+                               'titulo'                                => $titulo_system,
1866+                               'data_atual'                            => $data_atual,                         
1867+                               'context_display'                       => $context_display,
1868+                               'organizacaodn'                         => $organizacaodn,
1869+                               'organizacao'                           => $organizacao,
1870+                               'sector_name'                           => $grouplist,
1871+                               'sector_namedn'                         => $setordn,
1872+                               'imapDelimiter'                         => $_SESSION['phpgw_info']['expresso']['email_server']['imapDelimiter']
1873+                       );
1874+
1875+                       $p->set_var($var);
1876+                       $p->set_var($this->functions->make_dinamic_lang($p, 'body'));
1877+
1878+                       // ************ PAGINAÇÃO *******************************
1879+
1880+                       // verifica se exixte usuarios no LDAP
1881+                       $account_info = $this->functions->get_list_shareAccounts_sector($setordn,$contexts,0);
1882+
1883+                       if (!count($account_info))
1884+                       {
1885+                               $p->set_var('message',lang('No user found'));
1886+                               $p->parse('rows','row_empty',True);
1887+                       }
1888+                       else if (count($account_info))
1889+                       {
1890+                               //url do paginador
1891+                               $url = $GLOBALS['phpgw_info']['server']['webserver_url'].'/index.php?menuaction=reports.uireports_shareAccounts.report_shareAccounts_group_setor_print';
1892+
1893+                               // **** Grupo de paginas ****
1894+                               $gpag = $_POST[gpage];
1895+
1896+                               $grupopage = 20;
1897+                               
1898+                               if (!$gpag){
1899+                                       $gpag  = 1;
1900+                               }
1901+
1902+                               // recebe o numero da pagina
1903+                               $npag = $_POST[page];
1904+
1905+                               // verifica se o get com o numero da pagina é nulo
1906+                               if (!$npag)
1907+                               {
1908+                                       $npag = 1;
1909+                               }
1910+
1911+                               // conta total dos registros
1912+                               $numreg = count($account_info);
1913+                               
1914+                               // numero de registro por paginação
1915+                               $numpage = 53;
1916+                               
1917+                               $tp = ceil($numreg/$numpage);
1918+                               $inicio = $page - 1;
1919+                               $inicio = $inicio * $numpage;
1920+       
1921+                               // valor maximo de paginação
1922+                               $totalnpag =  (int)($tp/$grupopage);
1923+                               $restonpag = $tp % $grupopage;
1924+
1925+                               if ($restonpag > 0)
1926+                               {
1927+                                       $maxtotalnpag = $totalnpag + 1;
1928+                               }
1929+                               else
1930+                               {
1931+                                       $maxtotalnpag = $totalnpag;
1932+                               }
1933+                               // inicio fim para imprimir a paginação
1934+                               if( $tp > $grupopage)
1935+                               {
1936+                                       // inicio do for da paginação
1937+                                       if ($gpag <= ($totalnpag))
1938+                                       {
1939+                                               $fimgpg = $gpag * $grupopage;
1940+                                               $iniciogpg = (($fimgpg - $grupopage)+1);
1941+                                       }
1942+                                       else
1943+                                       {
1944+                                               $iniciogpg = (($gpag - 1) * $grupopage);
1945+                                               $fimgpg = $iniciogpg + $restonpag;
1946+                                       }
1947+                               }
1948+                               else
1949+                               {
1950+                                       // inicio do for da paginação
1951+                                       $iniciogpg = 1;
1952+                                       $fimgpg =  $tp;
1953+                               }
1954+
1955+                               // Imprime valores de contagen de registro e pagina
1956+                               $p->set_var('cont_user',$numreg);
1957+                               $p->set_var('cont_page',$tp);
1958+                               $p->set_var('page_now',$npag);
1959+
1960+                               // ********** busca no LDAP as informação paginada e imprime ****************
1961+                               $paginas = $this->functions->Paginate_shareAccount('accounts',$setordn,$contexts,'cn','asc',$npag,$numpage);
1962+
1963+                               $tmpp = array();
1964+
1965+                               while (list($null,$accountp) = each($paginas))
1966+                               {
1967+                                       $tmpp[$accountp['uid'][0]]['account_id']        = $accountp['uidNumber'][0];
1968+                                       $tmpp[$accountp['uid'][0]]['account_lid']       = $accountp['uid'][0];
1969+                                       $tmpp[$accountp['uid'][0]]['account_cn']        = $accountp['cn'][0];
1970+                                       $tmpp[$accountp['uid'][0]]['account_phone']     = $accountp['telephoneNumber'][0];
1971+                                       $tmpp[$accountp['uid'][0]]['account_status']    = $accountp['accountStatus'][0];
1972+                                       $tmpp[$accountp['uid'][0]]['account_mail']      = $accountp['mail'][0];
1973+
1974+                                       //Pega participantes da conta compartilhada
1975+                                       $owner_user_share = $this->imap_functions->getMembersShareAccount($accountp['uid'][0]);
1976+
1977+                                       //Prepara para exibição na WEB
1978+                                        $max = count($owner_user_share);
1979+                                        $row_participants = array();
1980+                                       for ($i=0; $i <= $max; $i++)
1981+                                       {
1982+                                                if (0 == $i)
1983+                                                {
1984+                                                        $row_participants = $owner_user_share[$i];
1985+                                                }
1986+                                                elseif ($max == $i)
1987+                                                {
1988+                                                        $row_participants = $row_participants . $owner_user_share[$i];
1989+                                                }
1990+                                                else
1991+                                                {
1992+                                                        $row_participants = $row_participants . '<br>' . $owner_user_share[$i];
1993+                                                }
1994+                                         }
1995+
1996+                                       $tmpp[$accountp['uid'][0]]['participants_mail']      = $row_participants;
1997+
1998+                                       $sortp[] = $accountp['uid'][0];
1999+                                       if (count($sortp))
2000+                                       {
2001+                                               natcasesort($sortp);
2002+                                               foreach ($sortp as $user_uidp)
2003+                                               $returnp[$user_uidp] = $tmpp[$user_uidp];
2004+                                       }
2005+                               }
2006+
2007+
2008+                               while (list($null,$accountr) = each($returnp))
2009+                               {
2010+                                       $this->nextmatchs->template_alternate_row_color($p);
2011+                               
2012+                                       $varr = array(
2013+                                                'row_participants'    =>   $accountr['participants_mail'],
2014+                                               'row_loginid'   => $accountr['account_lid'],
2015+                                               'row_cn'        => $accountr['account_cn'],
2016+                                               'row_status'    => $accountr['account_status'] == 'active' ? '<font color="#0033FF">'.lang('Activated').'</font> ' : '<font color="#FF0000">'.lang('Disabled').'</font>',
2017+                                               'row_mail'      => (!$accountr['account_mail'] ? '<font color=red>'.lang('Without E-mail').'</font>' : $accountr['account_mail'])
2018+                                       );
2019+
2020+
2021+                                       
2022+                                       $p->set_var($varr);
2023+                                       $p->parse('rows','row',True);
2024+                               }
2025+                               // ********************** Fim ****************************
2026+
2027+                               // grupo de pagina anteriores
2028+                               if ($gpag > 1)
2029+                               {
2030+                                       $gpaga = $gpag - 1;
2031+                                       $varp = Array(
2032+                                               'paginat'       =>      "<form name='anterior' method='POST' action='$url'>
2033+                                               <input type='hidden' name='setor' value='$grouplist'>
2034+                                               <input type='hidden' name='organizacao' value='$organizacao'>
2035+                                               <input type='hidden' name='setordn' value='$setordn'>
2036+                                               <input type='hidden' name='organizacaodn' value='$organizacaodn'>
2037+                                               <input type='hidden' name='page' value='$npag'>
2038+                                               <input type='hidden' name='gpage' value='$gpaga'>
2039+                                               <input type='hidden' name='Psectornamedncompleto' value='$sectornamedncompleto'>
2040+                                               <div style='float:left;' onClick='document.anterior.submit()'><a href='#'>".lang('Previous Pages')."<<&nbsp;&nbsp;&nbsp;</a></div></form>"
2041+                                       );
2042+                                       $p->set_var($varp);                                             
2043+       
2044+                                               $p->parse('pages','rowpag',True);
2045+                               }
2046+                               // **** FIM *******
2047+
2048+                               // imprime a paginação
2049+                               if ($fimgpg > 1)
2050+                               {
2051+                                       for($x = $iniciogpg; $x <= $fimgpg; $x++)
2052+                                       {
2053+                                               $varp = Array(
2054+                                                       'paginat'       =>  "<form name='form".$x."' method='POST' action='$url'>
2055+                                                       <input type='hidden' name='setor' value='$grouplist'>
2056+                                                       <input type='hidden' name='organizacao' value='$organizacao'>
2057+                                                       <input type='hidden' name='setordn' value='$setordn'>
2058+                                                       <input type='hidden' name='organizacaodn' value='$organizacaodn'>
2059+                                                       <input type='hidden' name='page' value='$x'>
2060+                                                       <input type='hidden' name='gpage' value='$gpag'>
2061+                                                       <input type='hidden' name='Psectornamedncompleto' value='$sectornamedncompleto'>
2062+                                                       <div style='float:left;' onClick='document.form".$x.".submit()'><a href='#'>$x&nbsp;</a></div></form>"
2063+                                               );
2064+
2065+                                               $p->set_var($varp);                                             
2066+       
2067+                                               $p->parse('pages','rowpag',True);
2068+                                       }
2069+                               }
2070+               
2071+                               // proximo grupo de pagina
2072+                               if ($gpag < $maxtotalnpag && $maxtotalnpag > 0)
2073+                               {
2074+                                       $gpagp = $gpag + 1;
2075+                                       $varp = Array(
2076+                                               'paginat'       =>  "<form name='proximo' method='POST' action='$url'>
2077+                                               <input type='hidden' name='setor' value='$grouplist'>
2078+                                               <input type='hidden' name='organizacao' value='$organizacao'>
2079+                                               <input type='hidden' name='setordn' value='$setordn'>
2080+                                               <input type='hidden' name='organizacaodn' value='$organizacaodn'>
2081+                                               <input type='hidden' name='page' value='$npag'>
2082+                                               <input type='hidden' name='gpage' value='$gpagp'>
2083+                                               <input type='hidden' name='Psectornamedncompleto' value='$sectornamedncompleto'>
2084+                                               <div style='float:left;' onClick='document.proximo.submit()'><a href='#'>&nbsp;&nbsp;&nbsp;>>".lang('Next Page')."</a></div></form>"
2085+                                       );
2086+                                       $p->set_var($varp);                                             
2087+
2088+                                       $p->parse('pages','rowpag',True);
2089+                               }
2090+
2091+                       // ************************* FIM PAGINAÇÃO ***********************                                                     
2092+                       }
2093+
2094+                       $p->pfp('out','body');
2095+               }
2096+
2097+               function get_shareAccount_info($userdn,$usercontexts,$usersizelimit)
2098+               {
2099+                       $user_info = $this->functions->Paginate_shareAccount('accounts',$setordn,$contexts,'cn','asc',$npag,$numpage);
2100+
2101+                       return $user_info;
2102+               }
2103+
2104+               function css()
2105+               {
2106+                       $appCSS =
2107+                       'th.activetab
2108+                       {
2109+                               color:#000000;
2110+                               background-color:#D3DCE3;
2111+                               border-top-width : 1px;
2112+                               border-top-style : solid;
2113+                               border-top-color : Black;
2114+                               border-left-width : 1px;
2115+                               border-left-style : solid;
2116+                               border-left-color : Black;
2117+                               border-right-width : 1px;
2118+                               border-right-style : solid;
2119+                               border-right-color : Black;
2120+                               font-size: 12px;
2121+                               font-family: Tahoma, Arial, Helvetica, sans-serif;
2122+                       }
2123+                       
2124+                       th.inactivetab
2125+                       {
2126+                               color:#000000;
2127+                               background-color:#E8F0F0;
2128+                               border-bottom-width : 1px;
2129+                               border-bottom-style : solid;
2130+                               border-bottom-color : Black;
2131+                               font-size: 12px;
2132+                               font-family: Tahoma, Arial, Helvetica, sans-serif;                             
2133+                       }
2134+                       
2135+                       .td_left {border-left:1px solid Gray; border-top:1px solid Gray; border-bottom:1px solid Gray;}
2136+                       .td_right {border-right:1px solid Gray; border-top:1px solid Gray; border-bottom:1px solid Gray;}
2137+                       
2138+                       div.activetab{ display:inline; }
2139+                       div.inactivetab{ display:none; }';
2140+                       
2141+                       return $appCSS;
2142+               }
2143+
2144+       }
2145+?>
2146diff -NEbBaur -x '\.svn' reports/inc/class.uireports_usersgroups.inc.php reports_alt/inc/class.uireports_usersgroups.inc.php
2147--- reports/inc/class.uireports_usersgroups.inc.php     2011-05-31 01:50:24.000000000 -0300
2148+++ reports_alt/inc/class.uireports_usersgroups.inc.php 2011-05-20 21:27:06.000000000 -0300
2149@@ -77,7 +77,7 @@
2150                        $pdf=new uireports_fpdf();
2151                        $pdf->Open();
2152                        $pdf->AddPage();
2153-                       $pdf->SetTitle('Relatório Gerado pelo Expresso Reports');
2154+                       $pdf->SetTitle(lang('Report of institutional accounts of the Organization'));
2155 
2156                        //Set font and colors
2157                        $pdf->SetFont('Arial','B',14);
2158@@ -88,7 +88,7 @@
2159 
2160                        //Table header
2161                        $SubTitulo = lang('reports title10');
2162-                       $SubTituloR = lang('report organization');
2163+                       $SubTituloR = lang('Report Generated by Expresso Reports');
2164                        $SubTitulo1 = $subtitulo1;
2165                        $GLOBALS['phpgw_info']['apps']['reports']['subtitle'] = $SubTituloR;
2166                        $pdf->Cell(0,8,$SubTitulo,0,1,'C',0);
2167diff -NEbBaur -x '\.svn' reports/inc/class.uireports_users.inc.php reports_alt/inc/class.uireports_users.inc.php
2168--- reports/inc/class.uireports_users.inc.php   2011-05-31 01:50:24.000000000 -0300
2169+++ reports_alt/inc/class.uireports_users.inc.php       2011-05-20 21:27:06.000000000 -0300
2170@@ -77,7 +77,7 @@
2171                        $pdf=new uireports_fpdf("L");
2172                        $pdf->Open();
2173                        $pdf->AddPage();
2174-                       $pdf->SetTitle('Relatório Gerado pelo Expresso Reports');
2175+                       $pdf->SetTitle(lang('Report Generated by Expresso Reports'));
2176 
2177                        //Set font and colors
2178                        $pdf->SetFont('Arial','B',14);
2179@@ -88,12 +88,11 @@
2180 
2181                        //Table header
2182                        $SubTitulo = lang('reports title2');
2183-                       $SubTituloR = lang('report organization');
2184+                       $SubTituloR = lang('Report Generated by Expresso Reports');
2185                        $SubTitulo1 = $subtitulo1;
2186                        $GLOBALS['phpgw_info']['apps']['reports']['subtitle'] = $SubTituloR;
2187                        $pdf->Cell(0,8,$SubTitulo,0,1,'C',0);
2188 
2189-
2190                        //Set font and colors
2191                        $pdf->SetFont('Arial','B',8);
2192                        $pdf->SetFillColor(0,0,0);
2193@@ -126,14 +125,14 @@
2194                                {
2195                                                $row_loginid = $account['account_lid'];
2196                                                $row_cn = $account['account_cn'];
2197-                                               $row_mail = (!$account['account_mail'] ? '<font color=red>Sem E-mail</font>' : $account['account_mail']);
2198+                                               $row_mail = (!$account['account_mail'] ? '<font color=red>'.lang('Without E-mail').'</font>' : $account['account_mail']);
2199                                                $row_phone = (!$account['account_phone'] ? '-' : $account['account_phone']);
2200-                                               $row_status = $account['account_accountstatus'] == 'active' ? 'Ativado' : 'Desativado';
2201+                                               $row_status = $account['account_accountstatus'] == 'active' ? lang('Activated') : lang('Disabled');
2202                                                $pdf->Cell(55,5,$row_loginid,0,0,'L',0);
2203                                                $pdf->Cell(80,5,$row_cn,0,0,'L',0);
2204                                                $pdf->Cell(80,5,$row_mail,0,0,'L',0);
2205                                                $pdf->Cell(35,5,$row_phone,0,0,'L',0);
2206-                                       if ($row_status == 'Ativado')
2207+                                       if ($row_status == lang('Activated'))
2208                                        {
2209                                                //Restaura cor fonte
2210                                                $pdf->SetTextColor(0);
2211@@ -498,9 +497,9 @@
2212                                        $varr = array(
2213                                                'row_loginid'   => $accountr['account_lid'],
2214                                                'row_cn'                => $accountr['account_cn'],
2215-                                               'row_status'    => $accountr['account_status'] == 'active' ? '<font color="#0033FF">Ativado</font> ' : '<font color="#FF0000">Desativado</font>',
2216+                                               'row_status'    => $accountr['account_status'] == 'active' ? '<font color="#0033FF">'.lang('Activated').'</font> ' : '<font color="#FF0000">'.lang('Disabled').'</font>',
2217                                                'row_phone'             => (!$accountr['account_phone'] ? '-' : $accountr['account_phone']),
2218-                                               'row_mail'              => (!$accountr['account_mail'] ? '<font color=red>Sem E-mail</font>' : $accountr['account_mail'])
2219+                                               'row_mail'      => (!$accountr['account_mail'] ? '<font color=red>'.lang('Without E-mail').'</font>' : $accountr['account_mail'])
2220                                        );
2221                                       
2222                                        $p->set_var($varr);
2223diff -NEbBaur -x '\.svn' reports/index.php reports_alt/index.php
2224--- reports/index.php   2011-05-31 01:50:25.000000000 -0300
2225+++ reports_alt/index.php       2011-05-20 21:27:06.000000000 -0300
2226@@ -27,6 +27,8 @@
2227                'lang_rel_user_all'                     => lang('report user'),
2228                'lang_rel_title'                        => lang('reports'),
2229                'lang_rel_user_org'                     => lang('report organization'),
2230+               'lang_rel_share_account_org'            => lang('report share account organization'),
2231+               'lang_rel_institutional_account_org'    => lang('report institutional account organization'),
2232                'lang_rel_cota_org'             => lang('report cota organization'),
2233                'lang_rel_logon_org'            => lang('report of time without logging by Organization'),
2234                'lang_rel_maillists_org'        => lang('report maillists organization'),
2235diff -NEbBaur -x '\.svn' reports/setup/phpgw_pt-br.lang reports_alt/setup/phpgw_pt-br.lang
2236--- reports/setup/phpgw_pt-br.lang      2011-05-31 01:50:23.000000000 -0300
2237+++ reports_alt/setup/phpgw_pt-br.lang  2011-05-20 21:27:06.000000000 -0300
2238@@ -1,3 +1,12 @@
2239+Activated      reports pt-br   Ativado
2240+Date   reports pt-br   Data
2241+Without E-mail reports pt-br   Sem E-mail
2242+Report of shared accounts of the Organization  reports pt-br   Relatório das contas compartilhadas da Organização
2243+Report shared accounts by Organization reports pt-br   Relatório de contas compartilhadas por Organização
2244+Report Generated by Expresso Reports   reports pt-br   Relatório gerado pelo Expresso Reports
2245+report institutional account organization      reports pt-br   Relatório de contas institucionais por Organização
2246+Report of institutional accounts of the Organization   reports pt-br   Relatório de contas institucionais da Organização
2247+Report institutional accounts by Organization  reports pt-br   Relatório de contas institucionais por Organização
2248 uidNumber      reports pt-br   UID
2249 user login     reports pt-br   Login do usuário
2250 last login     reports pt-br   Último acesso
2251@@ -26,6 +35,7 @@
2252 reports        common  pt-br   Expresso Reports
2253 reports        reports pt-br   Relatórios
2254 report organization    reports pt-br   Relatório de usuários por Organização
2255+report share account organization      reports pt-br   Relatório de contas compartilhadas por Organização
2256 report cota organization       reports pt-br   Relatório de cotas por Organização
2257 report maillists organization  reports pt-br   Relatório de lista de emails por Organização
2258 report usersgroups organization        reports pt-br   Relatório de grupos de usuários por Organização
2259diff -NEbBaur -x '\.svn' reports/templates/default/images/institutional_account.png reports_alt/templates/default/images/institutional_account.png
2260--- reports/templates/default/images/institutional_account.png  1969-12-31 21:00:00.000000000 -0300
2261+++ reports_alt/templates/default/images/institutional_account.png      2011-05-20 21:27:06.000000000 -0300
2262@@ -0,0 +1,10 @@
2263+‰PNG
2264+
2265+ IHDRàw=øbKGDÿÿÿ œ§“      pHYsšœtIMEØ    ;vuq?ÐIDATHÇí•Ïk”GÆ?óyß]7û#Y@4š -       i[iÀ
2266+­’ƒ)€@ˆˆ—Bµ„\ÒkŽJœå ¥PÔS· ±‡z    š
2267
2268+*ÑÖ°»Y_ßyßéaw›HšìV=‰s˜Ï<Ïwæx6Po°Nm³Þñëèéééý###â8–MÌJ¹Z­öÇØØØ@Ð"0€ßì۝<µŽŽt¥§§gÄ9÷ߓ”baaዉ‰‰ë0óóóÇFGG¯:ç²ù£ÖÚ-Ǎ1ôööž~6€—ËåŽ&µËº»7@ J¯›ÙBŽç0.µ»á“Ö[xžGEА |ê%r÷Šî8àQ²Ÿ8‘bï³"~é6ÔWšžù›9ÕŸHZ£”R-@Œ€ŒÏOù¯øä<øµÄÉàø `J¥²åæ"B>Ÿ_·«å©Ö$`Ãü]ªó)Ujà+Ð1‚1†d2¹m}š
2269+„ÿˆ4xIrí>ý/nòìñs*‰^Vý<ø F#"„aˆµvË&"›H“ T«óýŽoaוå÷ò9Êk_'/"Zð<L&Ó±³~Áԟ²Pù˜;ݱ·a|r]1šÊ°óCTæÎ9ªÕê¶5H§Ó›
2270+Xý8NéÑ]þrBaW‰ó™ï8²çøàÈŽÖd³ÙmŒò&š¬"‰,¶ð%gµáŽ\ŋïVQ²›0û *ۏöÒh­éêêê8WLóÞݵ>»Œo1MÀnx÷A044ÄÀÀ333m7˜œœdppB¡@†¯„^KAŒ²²òÐZcŒD"A±X€Z­Ò××ז`vv–ññqº»»ñ<¯)Qd————H5IöMMM}><<üiÇZ)µ©X ŽcD$Z\\Œ577w xÒú4| dQ÷Fˆ€
2271
2272+ŒTÿã—ênC{ðËBïöÒZ*þIEND®B`‚
2273\ No newline at end of file
2274diff -NEbBaur -x '\.svn' reports/templates/default/images/mail_share.png reports_alt/templates/default/images/mail_share.png
2275--- reports/templates/default/images/mail_share.png     1969-12-31 21:00:00.000000000 -0300
2276+++ reports_alt/templates/default/images/mail_share.png 2011-05-20 21:27:06.000000000 -0300
2277@@ -0,0 +1,7 @@
2278+‰PNG
2279+
2280+ IHDRž^]ùsRGB®ÎébKGDÿÿÿ œ§“ pHYsd_‘tIMEÙ     .©ŠqìdIDATHÇí”ËoTeÆçÞ3çÌЙéС”RCŠ…w\š˜ÈÂÛÊÄą[£{ýX³411ºMÜh      …i–Km£Žh§t˜Îý\æœó}.ZŠ Ñ&ºõIÞÝùò;Ïû<yöÑÄÄÄÓ'Oæ]×EQ”'æŸ$¥|b:KKKWõý€“““ùsçÎqöìYÇÁ0Ã@UUTU}
2281+,¥D‚(Šˆ¢ˆn·ËÌÌ®ë>¯îŽ,‹zœÎôô4µZ ˆ¢)eÿ›¿:–REAP«Õ˜žžŠ^¯cšŠ²/ X,Òjµ˜ŸŸ§ÕjEBEé;}Üñ#w¿)‹H)÷jš†ã8ŒŒŒP©T(•J4›MÂ0|Êé#gaÒl6)•JT*FFFpMÓx”¡øô³OÈf³Œ–”–¥‡¿WI¯]"=0D8<ÂÝrUU9}ú4ƒƒƒ!0 ¿ÆF£Áìì,år™ññq2™L?wàÅ©3¬ýŸÌ»o¿Ç¥¿çà+o>gg¡ žiM·ˆü^­Œsç*i×äæê]€”LMMáº.–e†!N‡¹¹9ÖÖÖ(
2282+ضã8躟ç0ŸÏ³ŸºWXÍJ‘$"hãEÇ98ŽŠè˜+¿2Üᷪʍ§N"•Jày·oßî—Ë0ÇÁ¶í~Þ:@ahC7ú@¿ŸA‡$œEÄHLgžÛÀ=üº›c`ù<ðøvy¹Ÿ£¢(äóyNœ8ÁØØ+++ŒŽŽbYV?ï`¡€Š©ý‡IB#Ú ’v$ƒšiáUï1ñÎ,~÷%Go]%9ò:¡2Ð/X:&•J1<<Œëºlnn’ËåÐu}XÝÚ"I’œ?ÕtìÌA8P€¹<‹ºô*«šN3_àæWŸcdòôzÙáQP÷â°m›T*…išŒŽŽ"¥dqq‘cǎì×76žšž*!酮ÊKøÍm¢ÀÛYm»ßØFš6þv ²cXûšŠƒŒD«‚h–i7+øG^Ɲ<O.—Ã÷}®\¹BµZÝnmmÅ1qœÐkVQŽ&©ü0éCcx­-z­~s›Ðóèu’ ¡{UäÒ$q„ªi؎Ã@:1tœõ…ŸùéÞN3UUeaaË—/÷t!ÄNËü.5ô  Ã6š&Še`d0P(b¥AQ‘(È$&
2283+Z$¡»Û‘R°}M6ü$Œøõřݓ'=Ï£Ýn¯èrx}~Nd{d­Œ!2‡nU·‘1I/ Lª€ŽT$$   QàtÚ­zè7ê^ÏólEáVÆTÞßÜÜ\þëåê;Œ£ˆ{ë÷ý—Žû¯6ƒj•MçÙáNnÃNÝj•vœŽ×é Œ6š*+(ʜˆã_€y`þ­¥í¿;•
2284+ÀسÇåúÚJ7I’    `à›ÏØÀª®Œ …È)ŠZ®‰$ž®7Î_(µù’»3Îÿúúò^›ò©ÉIEND®B`‚
2285\ No newline at end of file
2286diff -NEbBaur -x '\.svn' reports/templates/default/index.tpl reports_alt/templates/default/index.tpl
2287--- reports/templates/default/index.tpl 2011-05-31 01:50:25.000000000 -0300
2288+++ reports_alt/templates/default/index.tpl     2011-05-20 21:27:06.000000000 -0300
2289@@ -11,18 +11,22 @@
2290 -->
2291 </style>
2292 <table width="90%" border="0" cellspacing="10" cellpadding="0" align="center">
2293-<!-- TODOS OS USUARIOS DO CONTEXTO
2294        <tr>
2295          <td width="1%" align="center"><img src='./templates/default/images/user.png'></td>
2296          <td>
2297-                <a href="../index.php?menuaction=reports.uireports.report_users_print">{lang_rel_user_all}</a>
2298+                <a href="../index.php?menuaction=reports.uireports_users.report_users_group">{lang_rel_user_org}</a>
2299          </td>
2300        </tr>
2301--->   
2302        <tr>
2303-         <td width="1%" align="center"><img src='./templates/default/images/user.png'></td>
2304+          <td width="1%" align="center"><img src='./templates/default/images/institutional_account.png'></td>
2305          <td>
2306-                <a href="../index.php?menuaction=reports.uireports_users.report_users_group">{lang_rel_user_org}</a>
2307+                 <a href="../index.php?menuaction=reports.uireports_institutionalAccounts.report_institutionalAccounts_group">{lang_rel_institutional_account_org}</a>
2308+          </td>
2309+        </tr>
2310+       <tr>
2311+          <td width="1%" align="center"><img src='./templates/default/images/mail_share.png'></td>
2312+          <td>
2313+                 <a href="../index.php?menuaction=reports.uireports_shareAccounts.report_shareAccounts_group">{lang_rel_share_account_org}</a>
2314          </td>
2315        </tr>
2316        <tr>
2317diff -NEbBaur -x '\.svn' reports/templates/default/report_institutionalAccounts_group_print.tpl reports_alt/templates/default/report_institutionalAccounts_group_print.tpl
2318--- reports/templates/default/report_institutionalAccounts_group_print.tpl      1969-12-31 21:00:00.000000000 -0300
2319+++ reports_alt/templates/default/report_institutionalAccounts_group_print.tpl  2011-05-20 21:27:06.000000000 -0300
2320@@ -0,0 +1,145 @@
2321+<!-- BEGIN body -->
2322+<style type="text/css">
2323+.myBox
2324+{
2325+    margin: 24px 0px 0px 0px;
2326+    border: 0px solid #ffffff;
2327+    color: #000000;
2328+    width: 99%;
2329+    padding: 20px;
2330+    text-align: left;
2331+    background-color: #ffffff;
2332+    border: 3px solid #ffffff;
2333+
2334+
2335+}
2336+
2337+.myBox2
2338+{
2339+    margin: 24px 0px 0px 0px;
2340+    border: 0px solid #ffffff;
2341+    width: 99%;
2342+    padding: 5px;
2343+    text-align: left;
2344+    background-color: #ECECE5;
2345+    border: 3px solid #ECECE5;
2346+}
2347+
2348+#loader{
2349+position:absolute;
2350+width:100%;
2351+height:600px;
2352+}
2353+
2354+.info{
2355+width:100px;
2356+float:left;
2357+margin-right:25%;
2358+margin-top: 300px;
2359+}
2360+
2361+.style1 {
2362+       font-size: 20px;
2363+       font-weight: bold;
2364+       color: #0000FF;
2365+}
2366+.style2 {
2367+       font-size: 18px
2368+       font-weight: bold;
2369+}
2370+.style4 {color: #000000}
2371+
2372+.style6 {
2373+       font-size: 12px;
2374+       font-weight: bold;
2375+       color: #0000FF;
2376+}
2377+</style>
2378+ <div id="conteudo"> <!-- Elemento camufla o contéudo até que todas as tags de imagens sejam carregadas -->
2379+<input type="hidden" id="accounts_form_imapDelimiter" value="{imapDelimiter}">
2380+{error_messages}
2381+<p>
2382+   <div align="center">
2383+               <table width="90%"  border="0">
2384+                       <tr>
2385+                         <td colspan="2" align="left">
2386+                               <div align="right" style="float:right">
2387+                                       <form name="back" method="post" action="./index.php?menuaction=reports.uireports_institutionalAccounts.report_institutionalAccounts_group">
2388+                                       <input type="hidden" name="organizacaodn" value="{organizacaodn}">
2389+                                       <input type="button" value="{lang_back}" onClick="document.back.submit()">
2390+                             </form>
2391+                   </div>
2392+                         </td>
2393+                     <td width="9%" align="left">                               
2394+                                 <div align="right" style="float:left">
2395+                                       <form action="./index.php?menuaction=reports.uireports_institutionalAccounts.report_institutionalAccounts_print_pdf" method="post" name="pdf" target="_blank">
2396+                                     <input name="button" type="button" onClick="document.pdf.submit()" value="Imprimir">
2397+                                     <input type="hidden" name="setor" value="{sector_name}">
2398+                                     <input type="hidden" name="setordn" value="{sector_namedn}">                     
2399+                                     <input type="hidden" name="subtitulo" value="{subtitulo1}">                       
2400+                                   </form>                   
2401+                             </div>
2402+                 </tr>
2403+        </table>
2404+               <table border="0" width="90%">
2405+                       <tr>
2406+                         <td colspan="3" align="left"><div align="center" class="style1">{subtitulo}</div><br></td>
2407+             </tr>
2408+                       <tr>
2409+                         <td colspan="3" align="left"><div align="center" class="style6">{subtitulo1}</div><br></td>
2410+             </tr>
2411+                       <tr>
2412+                         <td width="25%" align="left"><div align="left" class="style2">{lang_report date}:{data_atual}</div></td>
2413+                     <td width="60%" align="left">{lang_total_users}&nbsp;<strong>{cont_user}</strong>                   </td>
2414+                     <td width="15%" align="left">
2415+                         <div align="right" class="style2">{titulo}</div></td>
2416+                 </tr>
2417+                       <tr>
2418+                         <td colspan="3" align="left">
2419+                               <table width="100%" border="0" align="center">
2420+                                       <tr bgcolor="{th_bg}">
2421+                                               <td colspan="2"></td>
2422+                                       </tr>
2423+                                       <tr>
2424+                                               <td width="50%">&nbsp;
2425+                                               </td>
2426+                                           <td width="50%"><div align="right">{lang_page_now}:&nbsp;<strong>{page_now}</strong>&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;{lang_total_pages}:&nbsp;<strong>{cont_page}</strong>&nbsp;&nbsp;<br></div></td>
2427+                                       </tr>
2428+                         </table>
2429+                       </td>
2430+                 </tr>
2431+               </table>
2432+   </div>
2433+
2434+       <div align="center">
2435+               <table border="0" width="90%">
2436+                       <tr>
2437+                         <td colspan="3" align="center">{pages}</td>
2438+                 </tr>
2439+                       <tr bgcolor="{th_bg}">
2440+                               <td width="20%">{lang_name}</td>
2441+                               <td width="20%">{lang_report email}</td>
2442+                               <td width="5%">{lang_status}</td>
2443+                               <td width="20%">{lang_participants}</td>
2444+                       </tr>
2445+                       {rows}
2446+               </table>
2447+       </div>
2448+<!-- END body -->
2449+<!-- BEGIN rowpag -->
2450+    <b>{paginat}</b>
2451+<!-- END rowpag -->
2452+<!-- BEGIN row -->
2453+       <tr bgcolor="{tr_color}">
2454+               <td>{row_cn}</td>
2455+               <td>{row_mail}</td>
2456+               <td>{row_status}</td>
2457+               <td>{row_participants}</td>
2458+       </tr>
2459+<!-- END row -->
2460+<!-- BEGIN row_empty -->
2461+       <tr>
2462+               <td colspan="7" align="center"><font color="red"><b>{message}</b></font></td>
2463+       </tr>
2464+<!-- END row_empty -->
2465+</div>
2466diff -NEbBaur -x '\.svn' reports/templates/default/report_institutionalAccounts_group.tpl reports_alt/templates/default/report_institutionalAccounts_group.tpl
2467--- reports/templates/default/report_institutionalAccounts_group.tpl    1969-12-31 21:00:00.000000000 -0300
2468+++ reports_alt/templates/default/report_institutionalAccounts_group.tpl        2011-05-20 21:27:06.000000000 -0300
2469@@ -0,0 +1,102 @@
2470+<style type="text/css">
2471+#link a:hover {
2472+       background-color:#ffffcc;
2473+}
2474+.style2 {
2475+       font-size: 16px;
2476+       font-family: Arial, Helvetica, sans-serif;
2477+}
2478+.style3 {color: #999999}
2479+</style>
2480+<!-- BEGIN list -->
2481+<p>
2482+<div align="center">
2483+   <table border="0" width="90%">
2484+    <tr>
2485+               <td align="left">
2486+                       <div align="center" class="style2">{lang_Report_of_institutional_accounts_of_the_Organization}:<br><br>&nbsp;<font color="blue">{context_display}</font><br><br>
2487+                   </div></td>
2488+        </tr>
2489+    <tr>
2490+      <td align="left"><form method="POST" action="./index.php?menuaction=reports.uireports_institutionalAccounts.report_institutionalAccounts_group">
2491+  {lang_search}:
2492+      <select name="organizacaodn">
2493+                           {group_name}
2494+         </select>
2495+      &nbsp;&nbsp;&nbsp;<input name="Enviar" type="submit" value="Enviar">
2496+      &nbsp;&nbsp;&nbsp;<input name="button" type="button" onClick="document.location.href='{back_url}'" value="{lang_back}">
2497+            </form>
2498+         </td>
2499+     </tr>
2500+   </table>
2501+</div>
2502+
2503+ <div align="center">
2504+  <table border="0" width="90%">
2505+   <tr>
2506+       <form  name="org" method="POST" action="./index.php?menuaction=reports.uireports_institutionalAccounts.report_institutionalAccounts_group_setor_print">
2507+       <td width="89%">
2508+                       <div align="center">
2509+                               <font color="#0000FF"><strong><font size="3" face="Arial, Helvetica, sans-serif">
2510+                               <div onClick="document.org.submit()"><a href="#">{organizacao}</a></div>
2511+                       </font></strong></font>
2512+                       </div>
2513+               </td>
2514+        <td width="9%">
2515+                       <div align="right">
2516+                                 <div style="float:left" onClick="document.org.submit()" align="right">
2517+                                       <font color="#0000FF">
2518+                                               <strong>
2519+                                                       <font size="2" face="Arial, Helvetica, sans-serif">
2520+                                                               <a href="#">{all_user}</a>
2521+                                                       </font>
2522+                                               </strong>
2523+                                       </font>
2524+                               </div>
2525+                                       <strong>
2526+                                               <font size="2" face="Arial, Helvetica, sans-serif">
2527+                                                       {total_user}
2528+                                               </font>
2529+                                       </strong>
2530+                       </div>
2531+               </td>
2532+        <td width="2%">
2533+                       <input type="hidden" name="setor" value="{organizacao}">
2534+                       <input type="hidden" name="organizacao" value="{organizacao}">
2535+                       <input type="hidden" name="setordn" value="{organizacaodn}">
2536+                       <input type="hidden" name="organizacaodn" value="{organizacaodn}">
2537+               </td>
2538+       </form>                                                                         
2539+   </tr>
2540+   <tr bgcolor="{th_bg}">
2541+     <td colspan="3">{lang_groups_names}</td>
2542+   </tr>
2543+
2544+   {rows}
2545+
2546+  </table>
2547+ </div>
2548+<!-- END list -->
2549+
2550+<!-- BEGIN row -->
2551+   <tr bgcolor="{tr_color}">
2552+<form name="{formname}" method="POST" action="./index.php?menuaction=reports.uireports_institutionalAccounts.report_institutionalAccounts_group_setor_print">
2553+    <td width="30%">
2554+               <div onClick="{formsubmit}">
2555+                       <a href="#">{sector_name}</a>
2556+                       <input type="hidden" name="setor" value="{sector_name}">
2557+                       <input type="hidden" name="organizacao" value="{organizacao}">
2558+                       <input type="hidden" name="setordn" value="{sector_namedn}">
2559+                       <input type="hidden" name="organizacaodn" value="{organizacaodn}">
2560+                       <input type="hidden" name="sectornamedncompleto" value="{sector_namedn_completo}">
2561+               </div>
2562+       </td>
2563+</form>
2564+   </tr>
2565+<!-- END row -->
2566+
2567+<!-- BEGIN row_empty -->
2568+       <tr>
2569+       <td colspan="5" align="center"><font color="red"><b>{message}</b></font></td>
2570+       </tr>
2571+<!-- END row_empty -->
2572diff -NEbBaur -x '\.svn' reports/templates/default/report_shareAccounts_group_print.tpl reports_alt/templates/default/report_shareAccounts_group_print.tpl
2573--- reports/templates/default/report_shareAccounts_group_print.tpl      1969-12-31 21:00:00.000000000 -0300
2574+++ reports_alt/templates/default/report_shareAccounts_group_print.tpl  2011-05-20 22:16:08.000000000 -0300
2575@@ -0,0 +1,147 @@
2576+<!-- BEGIN body -->
2577+<style type="text/css">
2578+.myBox
2579+{
2580+    margin: 24px 0px 0px 0px;
2581+    border: 0px solid #ffffff;
2582+    color: #000000;
2583+    width: 99%;
2584+    padding: 20px;
2585+    text-align: left;
2586+    background-color: #ffffff;
2587+    border: 3px solid #ffffff;
2588+
2589+
2590+}
2591+
2592+.myBox2
2593+{
2594+    margin: 24px 0px 0px 0px;
2595+    border: 0px solid #ffffff;
2596+    width: 99%;
2597+    padding: 5px;
2598+    text-align: left;
2599+    background-color: #ECECE5;
2600+    border: 3px solid #ECECE5;
2601+}
2602+
2603+#loader{
2604+position:absolute;
2605+width:100%;
2606+height:600px;
2607+}
2608+
2609+.info{
2610+width:100px;
2611+float:left;
2612+margin-right:25%;
2613+margin-top: 300px;
2614+}
2615+
2616+.style1 {
2617+       font-size: 20px;
2618+       font-weight: bold;
2619+       color: #0000FF;
2620+}
2621+.style2 {
2622+       font-size: 18px
2623+       font-weight: bold;
2624+}
2625+.style4 {color: #000000}
2626+
2627+.style6 {
2628+       font-size: 12px;
2629+       font-weight: bold;
2630+       color: #0000FF;
2631+}
2632+</style>
2633+ <div id="conteudo"> <!-- Elemento camufla o contéudo até que todas as tags de imagens sejam carregadas -->
2634+<input type="hidden" id="accounts_form_imapDelimiter" value="{imapDelimiter}">
2635+{error_messages}
2636+<p>
2637+   <div align="center">
2638+               <table width="90%"  border="0">
2639+                       <tr>
2640+                         <td colspan="2" align="left">
2641+                               <div align="right" style="float:right">
2642+                                       <form name="back" method="post" action="./index.php?menuaction=reports.uireports_shareAccounts.report_shareAccounts_group">
2643+                                       <input type="hidden" name="organizacaodn" value="{organizacaodn}">
2644+                                       <input type="button" value="{lang_back}" onClick="document.back.submit()">
2645+                             </form>
2646+                   </div>
2647+                         </td>
2648+                     <td width="9%" align="left">                               
2649+                                 <div align="right" style="float:left">
2650+                                       <form action="./index.php?menuaction=reports.uireports_shareAccounts.report_shareAccounts_print_pdf" method="post" name="pdf" target="_blank">
2651+                                     <input name="button" type="button" onClick="document.pdf.submit()" value="Imprimir">
2652+                                     <input type="hidden" name="setor" value="{sector_name}">
2653+                                     <input type="hidden" name="setordn" value="{sector_namedn}">                     
2654+                                     <input type="hidden" name="subtitulo" value="{subtitulo1}">                       
2655+                                   </form>                   
2656+                             </div>
2657+                 </tr>
2658+        </table>
2659+               <table border="0" width="90%">
2660+                       <tr>
2661+                         <td colspan="3" align="left"><div align="center" class="style1">{subtitulo}</div><br></td>
2662+             </tr>
2663+                       <tr>
2664+                         <td colspan="3" align="left"><div align="center" class="style6">{subtitulo1}</div><br></td>
2665+             </tr>
2666+                       <tr>
2667+                         <td width="25%" align="left"><div align="left" class="style2">{lang_report date}:{data_atual}</div></td>
2668+                     <td width="60%" align="left">{lang_total_users}&nbsp;<strong>{cont_user}</strong>                   </td>
2669+                     <td width="15%" align="left">
2670+                         <div align="right" class="style2">{titulo}</div></td>
2671+                 </tr>
2672+                       <tr>
2673+                         <td colspan="3" align="left">
2674+                               <table width="100%" border="0" align="center">
2675+                                       <tr bgcolor="{th_bg}">
2676+                                               <td colspan="2"></td>
2677+                                       </tr>
2678+                                       <tr>
2679+                                               <td width="50%">&nbsp;
2680+                                               </td>
2681+                                           <td width="50%"><div align="right">{lang_page_now}:&nbsp;<strong>{page_now}</strong>&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;{lang_total_pages}:&nbsp;<strong>{cont_page}</strong>&nbsp;&nbsp;<br></div></td>
2682+                                       </tr>
2683+                         </table>
2684+                       </td>
2685+                 </tr>
2686+               </table>
2687+   </div>
2688+
2689+       <div align="center">
2690+               <table border="0" width="90%">
2691+                       <tr>
2692+                         <td colspan="3" align="center">{pages}</td>
2693+                 </tr>
2694+                       <tr bgcolor="{th_bg}">
2695+                               <td width="20%">{lang_loginid}</td>
2696+                               <td width="20%">{lang_name}</td>
2697+                               <td width="20%">{lang_report email}</td>
2698+                               <td width="5%">{lang_status}</td>
2699+                                <td width="20%">{lang_participants}</td>
2700+                       </tr>
2701+                       {rows}
2702+               </table>
2703+       </div>
2704+<!-- END body -->
2705+<!-- BEGIN rowpag -->
2706+    <b>{paginat}</b>
2707+<!-- END rowpag -->
2708+<!-- BEGIN row -->
2709+       <tr bgcolor="{tr_color}">
2710+               <td>{row_loginid}</td>
2711+               <td>{row_cn}</td>
2712+               <td>{row_mail}</td>
2713+               <td>{row_status}</td>
2714+               <td>{row_participants}</td>
2715+       </tr>
2716+<!-- END row -->
2717+<!-- BEGIN row_empty -->
2718+       <tr>
2719+               <td colspan="7" align="center"><font color="red"><b>{message}</b></font></td>
2720+       </tr>
2721+<!-- END row_empty -->
2722+</div>
2723diff -NEbBaur -x '\.svn' reports/templates/default/report_shareAccounts_group.tpl reports_alt/templates/default/report_shareAccounts_group.tpl
2724--- reports/templates/default/report_shareAccounts_group.tpl    1969-12-31 21:00:00.000000000 -0300
2725+++ reports_alt/templates/default/report_shareAccounts_group.tpl        2011-05-20 21:27:06.000000000 -0300
2726@@ -0,0 +1,102 @@
2727+<style type="text/css">
2728+#link a:hover {
2729+       background-color:#ffffcc;
2730+}
2731+.style2 {
2732+       font-size: 16px;
2733+       font-family: Arial, Helvetica, sans-serif;
2734+}
2735+.style3 {color: #999999}
2736+</style>
2737+<!-- BEGIN list -->
2738+<p>
2739+<div align="center">
2740+   <table border="0" width="90%">
2741+    <tr>
2742+               <td align="left">
2743+                       <div align="center" class="style2">{lang_Report_of_shared_accounts_of_the_Organization}:<br><br>&nbsp;<font color="blue">{context_display}</font><br><br>
2744+                   </div></td>
2745+        </tr>
2746+    <tr>
2747+      <td align="left"><form method="POST" action="./index.php?menuaction=reports.uireports_shareAccounts.report_shareAccounts_group">
2748+  {lang_search}:
2749+      <select name="organizacaodn">
2750+                           {group_name}
2751+         </select>
2752+      &nbsp;&nbsp;&nbsp;<input name="Enviar" type="submit" value="Enviar">
2753+      &nbsp;&nbsp;&nbsp;<input name="button" type="button" onClick="document.location.href='{back_url}'" value="{lang_back}">
2754+            </form>
2755+         </td>
2756+     </tr>
2757+   </table>
2758+</div>
2759+
2760+ <div align="center">
2761+  <table border="0" width="90%">
2762+   <tr>
2763+       <form  name="org" method="POST" action="./index.php?menuaction=reports.uireports_shareAccounts.report_shareAccounts_group_setor_print">
2764+       <td width="89%">
2765+                       <div align="center">
2766+                               <font color="#0000FF"><strong><font size="3" face="Arial, Helvetica, sans-serif">
2767+                               <div onClick="document.org.submit()"><a href="#">{organizacao}</a></div>
2768+                       </font></strong></font>
2769+                       </div>
2770+               </td>
2771+        <td width="9%">
2772+                       <div align="right">
2773+                                 <div style="float:left" onClick="document.org.submit()" align="right">
2774+                                       <font color="#0000FF">
2775+                                               <strong>
2776+                                                       <font size="2" face="Arial, Helvetica, sans-serif">
2777+                                                               <a href="#">{all_user}</a>
2778+                                                       </font>
2779+                                               </strong>
2780+                                       </font>
2781+                               </div>
2782+                                       <strong>
2783+                                               <font size="2" face="Arial, Helvetica, sans-serif">
2784+                                                       {total_user}
2785+                                               </font>
2786+                                       </strong>
2787+                       </div>
2788+               </td>
2789+        <td width="2%">
2790+                       <input type="hidden" name="setor" value="{organizacao}">
2791+                       <input type="hidden" name="organizacao" value="{organizacao}">
2792+                       <input type="hidden" name="setordn" value="{organizacaodn}">
2793+                       <input type="hidden" name="organizacaodn" value="{organizacaodn}">
2794+               </td>
2795+       </form>                                                                         
2796+   </tr>
2797+   <tr bgcolor="{th_bg}">
2798+     <td colspan="3">{lang_groups_names}</td>
2799+   </tr>
2800+
2801+   {rows}
2802+
2803+  </table>
2804+ </div>
2805+<!-- END list -->
2806+
2807+<!-- BEGIN row -->
2808+   <tr bgcolor="{tr_color}">
2809+<form name="{formname}" method="POST" action="./index.php?menuaction=reports.uireports_shareAccounts.report_shareAccounts_group_setor_print">
2810+    <td width="30%">
2811+               <div onClick="{formsubmit}">
2812+                       <a href="#">{sector_name}</a>
2813+                       <input type="hidden" name="setor" value="{sector_name}">
2814+                       <input type="hidden" name="organizacao" value="{organizacao}">
2815+                       <input type="hidden" name="setordn" value="{sector_namedn}">
2816+                       <input type="hidden" name="organizacaodn" value="{organizacaodn}">
2817+                       <input type="hidden" name="sectornamedncompleto" value="{sector_namedn_completo}">
2818+               </div>
2819+       </td>
2820+</form>
2821+   </tr>
2822+<!-- END row -->
2823+
2824+<!-- BEGIN row_empty -->
2825+       <tr>
2826+       <td colspan="5" align="center"><font color="red"><b>{message}</b></font></td>
2827+       </tr>
2828+<!-- END row_empty -->