602 |
stephane |
1 |
<?php
|
|
|
2 |
/*
|
|
|
3 |
|
|
|
4 |
|
|
|
5 |
*/
|
|
|
6 |
require_once('includes/defines.inc.php');
|
|
|
7 |
require_once(ALCASAR_ADMIN_PATH_INC.'/session.inc.php');
|
610 |
stephane |
8 |
require_once(ALCASAR_ADMIN_PATH_LIB.'/radiusMysqlUser.class.php');
|
|
|
9 |
|
|
|
10 |
//a faire
|
|
|
11 |
$groups = array();
|
703 |
stephane |
12 |
$models = array();
|
610 |
stephane |
13 |
|
602 |
stephane |
14 |
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN//2.0">
|
|
|
15 |
<html>
|
|
|
16 |
<head>
|
|
|
17 |
<title>Groups page</title>
|
703 |
stephane |
18 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
602 |
stephane |
19 |
<!-- include default CSS -->
|
|
|
20 |
<link rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/default.css" type="text/css">
|
|
|
21 |
<!-- include JQUERY UI CSS -->
|
|
|
22 |
<link type="text/css" rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/ui-lightness/jquery-ui-1.8.10.custom.css">
|
610 |
stephane |
23 |
<!-- include tablesorter CSS -->
|
|
|
24 |
<link type="text/css" rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/tablesorter-blue/style.css">
|
|
|
25 |
|
|
|
26 |
<link type="text/css" rel="stylesheet" href="<?php echo ALCASAR_ADMIN_PATH_CSS; ?>/default/datatables/css/demo_table.css">
|
602 |
stephane |
27 |
<!-- include custom page CSS -->
|
|
|
28 |
<style type="text/css">
|
610 |
stephane |
29 |
div#users-contain { width: 450px; margin: 20px 0; }
|
|
|
30 |
div#users-contain table { margin: 1em 0; border-collapse: collapse; width: 100%; }
|
|
|
31 |
div#users-contain table td, div#users-contain table th { border: 1px solid #eee; padding: .6em 10px; text-align: left; }
|
|
|
32 |
div#users-contain table th { ui-widget-header }
|
|
|
33 |
|
|
|
34 |
.dataTables_filter {
|
|
|
35 |
float: left;
|
|
|
36 |
text-align: left;
|
|
|
37 |
width: 220px;
|
|
|
38 |
}
|
602 |
stephane |
39 |
</style>
|
|
|
40 |
<!-- include JQUERY -->
|
610 |
stephane |
41 |
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-1.5.min.js"></script>
|
602 |
stephane |
42 |
<!-- include JQUERY UI -->
|
610 |
stephane |
43 |
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery-ui-1.8.10.all.min.js"></script>
|
|
|
44 |
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery.tablesorter.min.js"></script>
|
|
|
45 |
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery.tablesorter.pager.js"></script>
|
|
|
46 |
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery.quicksearch.js"></script>
|
|
|
47 |
<script type="text/javascript" language="javascript" src="<?php echo ALCASAR_ADMIN_PATH_JS; ?>/jquery.dataTables.min.js"></script>
|
602 |
stephane |
48 |
<!-- include page javascript -->
|
|
|
49 |
<script type="text/javascript">
|
610 |
stephane |
50 |
var table_data_lang = {
|
|
|
51 |
"sProcessing": "Patientez...",
|
|
|
52 |
"sLengthMenu": "Afficher _MENU_ enregistrements",
|
|
|
53 |
"sZeroRecords": "Aucun enregistrement disponible.",
|
|
|
54 |
"sInfo": "_START_ à _END_ sur _TOTAL_ enregistrements",
|
|
|
55 |
"sInfoEmpty": "0 à 0 sur 0 enregistrement",
|
|
|
56 |
"sInfoFiltered": "(Filtré à partir de _MAX_ enregistrements)",
|
|
|
57 |
"sInfoPostFix": "",
|
|
|
58 |
"sSearch": "Recherche : ",
|
|
|
59 |
"sUrl": "",
|
|
|
60 |
"oPaginate": {
|
|
|
61 |
"sFirst": "Première page",
|
|
|
62 |
"sPrevious": "Page précédente",
|
|
|
63 |
"sNext": "Page suivante",
|
|
|
64 |
"sLast": "Dernière page"
|
|
|
65 |
}
|
|
|
66 |
};
|
|
|
67 |
|
|
|
68 |
$(document).ready(function(){
|
|
|
69 |
// Tabs
|
|
|
70 |
$('#tabs-groups').tabs();
|
|
|
71 |
// buttons
|
|
|
72 |
$( "button, input:submit, input:button, input:reset").button();
|
|
|
73 |
// Users table
|
|
|
74 |
$('#groups_table').dataTable(
|
|
|
75 |
{
|
|
|
76 |
// fonction suivante permet d'avoir une colone numérotée dynamiquement (non triable)
|
|
|
77 |
"fnDrawCallback": function ( oSettings ) {
|
|
|
78 |
/* Need to redo the counters if filtered or sorted */
|
|
|
79 |
if ( oSettings.bSorted || oSettings.bFiltered )
|
|
|
80 |
{
|
|
|
81 |
for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ )
|
|
|
82 |
{
|
|
|
83 |
$('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
|
|
|
84 |
}
|
|
|
85 |
}
|
|
|
86 |
},
|
|
|
87 |
"aoColumnDefs": [
|
|
|
88 |
{ "bSortable": false, "aTargets": [ 0 ] }
|
|
|
89 |
],
|
|
|
90 |
"aaSorting": [[ 1, 'asc' ]]
|
|
|
91 |
//fin
|
|
|
92 |
,"oLanguage": table_data_lang
|
|
|
93 |
});
|
|
|
94 |
|
|
|
95 |
$('#groups_table_filter').after('<div style="float:left"><a href="javascript:alert(\'Fonction prochainement dispobible.\');" title="Recherche avancée">Avancée</a></div>');
|
|
|
96 |
|
703 |
stephane |
97 |
$('#models_table').dataTable(
|
|
|
98 |
{
|
|
|
99 |
// fonction suivante permet d'avoir une colone numérotée dynamiquement (non triable)
|
|
|
100 |
"fnDrawCallback": function ( oSettings ) {
|
|
|
101 |
/* Need to redo the counters if filtered or sorted */
|
|
|
102 |
if ( oSettings.bSorted || oSettings.bFiltered )
|
|
|
103 |
{
|
|
|
104 |
for ( var i=0, iLen=oSettings.aiDisplay.length ; i<iLen ; i++ )
|
|
|
105 |
{
|
|
|
106 |
$('td:eq(0)', oSettings.aoData[ oSettings.aiDisplay[i] ].nTr ).html( i+1 );
|
|
|
107 |
}
|
|
|
108 |
}
|
|
|
109 |
},
|
|
|
110 |
"aoColumnDefs": [
|
|
|
111 |
{ "bSortable": false, "aTargets": [ 0 ] }
|
|
|
112 |
],
|
|
|
113 |
"aaSorting": [[ 1, 'asc' ]]
|
|
|
114 |
//fin
|
|
|
115 |
,"oLanguage": table_data_lang
|
|
|
116 |
});
|
610 |
stephane |
117 |
|
|
|
118 |
|
|
|
119 |
});
|
602 |
stephane |
120 |
</script>
|
|
|
121 |
</head>
|
|
|
122 |
<body>
|
610 |
stephane |
123 |
<div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
|
|
|
124 |
<span class="ui-dialog-title" id="ui-dialog-title-dialog">Gestion des groupes</span>
|
|
|
125 |
</div>
|
|
|
126 |
<br />
|
|
|
127 |
<div id="tabs-groups">
|
|
|
128 |
<ul>
|
|
|
129 |
<li><a href="#tabs1">Groupes</a></li>
|
703 |
stephane |
130 |
<li><a href="#tabs2">Modèles</a></li>
|
610 |
stephane |
131 |
</ul>
|
|
|
132 |
<div id="tabs1">
|
|
|
133 |
<div>
|
|
|
134 |
Un groupe permet une gestion groupée des usagers.<br>
|
|
|
135 |
<font color="red">ATTENTION POUR DEMONSTRATION DES OPTIONS A UTILISER. Données du serveur RADIUS traitées (tri, pagination) par la page dans l'exemple , gérées par le serveur (AJAX) en production</font>
|
|
|
136 |
</div>
|
|
|
137 |
<br>
|
|
|
138 |
<div style="float:right;">
|
|
|
139 |
<form name="newGroupform">
|
|
|
140 |
<input type="button" value="Nouveau groupe">
|
|
|
141 |
</form>
|
|
|
142 |
</div>
|
|
|
143 |
<br>
|
|
|
144 |
<table id="groups_table" cellspacing="1" class="tablesorter" border="0" width="100%">
|
|
|
145 |
<thead>
|
|
|
146 |
<tr>
|
|
|
147 |
<th width="20">#</th><th width="200">Groupes</th><th>Nombre d'usagers</th><th width="100">Date validitée</th>
|
|
|
148 |
</tr>
|
|
|
149 |
</thead>
|
|
|
150 |
<tfoot>
|
|
|
151 |
<tr>
|
|
|
152 |
<th width="20">#</th><th width="200">Groupes</th><th>Nombre d'usagers</th><th width="100">Date validitée</th>
|
|
|
153 |
</tr>
|
|
|
154 |
</tfoot>
|
|
|
155 |
<tbody>
|
|
|
156 |
<?php
|
|
|
157 |
foreach ($groups as $group){
|
|
|
158 |
echo "<tr><td></td><td>".$group['name']."</td><td>".$group['nb_users']."</td><td><font color=red>ND</font></td></tr>";
|
|
|
159 |
}
|
|
|
160 |
?>
|
|
|
161 |
</tbody>
|
|
|
162 |
</table>
|
|
|
163 |
|
|
|
164 |
<br><br><br>
|
|
|
165 |
</div>
|
703 |
stephane |
166 |
<div id="tabs2">
|
|
|
167 |
<div>
|
|
|
168 |
Afin de gagner du temps dans la création des groupes, vous avez la possibilité de prédéfinir des modèles de création de groupe.<br>
|
|
|
169 |
<font color="red">PROCHAINEMENT DISPONIBLE</font>
|
|
|
170 |
</div>
|
|
|
171 |
<br>
|
|
|
172 |
<div style="float:right;">
|
|
|
173 |
<form name="newModelform">
|
|
|
174 |
<input type="button" value="Nouveau modèle">
|
|
|
175 |
</form>
|
|
|
176 |
</div>
|
|
|
177 |
<br>
|
|
|
178 |
<table id="models_table" cellspacing="1" class="tablesorter" border="0" width="100%">
|
|
|
179 |
<thead>
|
|
|
180 |
<tr>
|
|
|
181 |
<th width="20px">#</th>
|
|
|
182 |
<th>Modèle</th>
|
|
|
183 |
<th>Description</th>
|
|
|
184 |
</tr>
|
|
|
185 |
</thead>
|
|
|
186 |
<tfoot>
|
|
|
187 |
<tr>
|
|
|
188 |
<th width="20px">#</th>
|
|
|
189 |
<th>Modèle</th>
|
|
|
190 |
<th>Description</th>
|
|
|
191 |
</tr>
|
|
|
192 |
</tfoot>
|
|
|
193 |
<tbody>
|
|
|
194 |
<?php
|
|
|
195 |
foreach ($models as $model){
|
|
|
196 |
echo "<tr><td></td><td>".$model['name']."</td><td>".$model['description']."</td></tr>";
|
|
|
197 |
}
|
|
|
198 |
?>
|
|
|
199 |
</tbody>
|
|
|
200 |
</table>
|
|
|
201 |
</div>
|
610 |
stephane |
202 |
</div>
|
602 |
stephane |
203 |
</body>
|
|
|
204 |
</html>
|