source: pmb4.2/trunk/fuentes/pmb/admin/external_services/general.inc.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 3.3 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: general.inc.php,v 1.5 2013-04-11 08:02:17 mbertin Exp $
6
7//Administration générale des droits des services externes
8
9require_once($class_path."/external_services.class.php");
10require_once($include_path."/templates/external_services.tpl.php");
11
12$es=new external_services();
13$es_rights=new external_services_rights($es);
14
15function users_list($group, $method, $users, $parent_users) {
16        global $charset;
17        global $es_rights;
18        global $msg;
19        $list_users=$es_rights->possible_users($group,$method);
20
21        $count = 0;
22       
23        $result="<ul>\n";
24        for ($j=0; $j<count($list_users); $j++) {
25                if (array_search($list_users[$j],$users)!==false) {
26                        //Si l'utilisateur a les droits pour le groupe entier, on ne l'affiche pas dans le détail
27                        $group_authorized = in_array($es_rights->users[$list_users[$j]]->userid, $parent_users);
28                        if (!$group_authorized) {
29                                $page_link_href = 'admin.php?categ=external_services&sub=peruser&iduser='.$es_rights->users[$list_users[$j]]->userid.'#'.urlencode($group).($method ? '_'.urlencode($method) : "");
30                                $user_name_display = htmlentities($es_rights->users[$list_users[$j]]->username,ENT_QUOTES,$charset);
31                                $result.="<li><a href=".$page_link_href.">".$user_name_display."</a></li>\n";
32                                ++$count;                               
33                        }
34                }
35        }
36        $result.="</ul>";
37       
38        //A-t-on trouvé des utilisateur? Si non, on affiche 'Aucun'
39        if (!$count) {
40                return "<ul><li><i>".htmlentities($msg["es_user_auth_none"],ENT_QUOTES,$charset)."</i></li></ul>";
41        }
42       
43        return $result;
44}
45
46$table_rights="<table style='width:100%'>
47<thead><th colspan='3'>Groupe</th><th colspan='3'>".htmlentities($msg["external_services_general_utilisateurs_autorises"],ENT_QUOTES,$charset)."</th></thead>
48";
49
50//pour chaque groupe
51$group_list=$es->get_group_list();
52for ($i=0; $i<count($group_list); $i++) {
53        $group=$group_list[$i];
54       
55        $rights_group=$es_rights->get_rights($group["name"],"");
56       
57        $table_rights.= "<tr class='".($i%2?"even":"odd")."'><td><b>".htmlentities($group["name"],ENT_QUOTES,$charset)."</b></td><td colspan='2'><i>".htmlentities($group["description"],ENT_QUOTES,$charset)."</i></td>
58        <td>
59        <input type='hidden' name='group[".$group["name"]."]' value='1'/>
60        </td>
61        <td colspan='3'>".users_list($group["name"],'',$rights_group->users,array())."</td>
62       
63        </tr>";
64       
65        $table_rights.= "<thead><td></td><th colspan='2'>".htmlentities($msg["external_services_general_methode"],ENT_QUOTES,$charset)."</th><th colspan='3'>".htmlentities($msg["external_services_general_utilisateurs_autorises"],ENT_QUOTES,$charset)."</th></thead>";
66       
67        //Pour chaque méthode
68        for ($j=0; $j<count($group["methods"]); $j++) {
69                $method=$group["methods"][$j];
70               
71                $rights=$es_rights->get_rights($group["name"],$method["name"]);
72               
73                $table_rights.= "<tr class='".($i%2?"even":"odd")."'>
74                ".(!$j?"<td rowspan='".count($group["methods"])."'>&nbsp;</td>":"")."
75                <td><b>".htmlentities($method["name"],ENT_QUOTES,$charset)."</b></td><td><i>".htmlentities($method["description"],ENT_QUOTES,$charset)."</i></td>
76                <td></td>
77                <td></td>
78                <td>".users_list($group["name"],$method["name"],$rights->users,$rights_group->users)."</td>
79                </tr>";
80        }
81       
82}
83$table_rights.= "</table>";
84
85print str_replace("!!table_rights!!",$table_rights,$es_admin_general);
86?>
Note: See TracBrowser for help on using the repository browser.