bug3
[aidenligne_francais_universite.git] / fluxbb / admin_groups.php
CommitLineData
c495c100
P
1<?php
2/***********************************************************************
3
4 Copyright (C) 2002-2005 Rickard Andersson (rickard@punbb.org)
5
6 This file is part of PunBB.
7
8 PunBB is free software; you can redistribute it and/or modify it
9 under the terms of the GNU General Public License as published
10 by the Free Software Foundation; either version 2 of the License,
11 or (at your option) any later version.
12
13 PunBB is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 MA 02111-1307 USA
22
23************************************************************************/
24
25
26// Tell header.php to use the admin template
27define('PUN_ADMIN_CONSOLE', 1);
28
29define('PUN_ROOT', './');
30require PUN_ROOT.'include/common.php';
31require PUN_ROOT.'include/common_admin.php';
32
33
34if ($pun_user['g_id'] > PUN_ADMIN)
35 message($lang_common['No permission']);
36
37
38// Add/edit a group (stage 1)
39if (isset($_POST['add_group']) || isset($_GET['edit_group']))
40{
41 if (isset($_POST['add_group']))
42 {
43 $base_group = intval($_POST['base_group']);
44
45 $result = $db->query('SELECT * FROM '.$db->prefix.'groups WHERE g_id='.$base_group) or error('Unable to fetch user group info', __FILE__, __LINE__, $db->error());
46 $group = $db->fetch_assoc($result);
47
48 $mode = 'add';
49 }
50 else // We are editing a group
51 {
52 $group_id = intval($_GET['edit_group']);
53 if ($group_id < 1)
54 message($lang_common['Bad request']);
55
56 $result = $db->query('SELECT * FROM '.$db->prefix.'groups WHERE g_id='.$group_id) or error('Unable to fetch user group info', __FILE__, __LINE__, $db->error());
57 if (!$db->num_rows($result))
58 message($lang_common['Bad request']);
59
60 $group = $db->fetch_assoc($result);
61
62 $mode = 'edit';
63 }
64
65
66 $page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / Admin / Groupes';
67 $required_fields = array('req_title' => 'Nom groupe');
68 $focus_element = array('groups2', 'req_title');
69 require PUN_ROOT.'header.php';
70
71 generate_admin_menu('groups');
72
73?>
74 <div class="blockform">
75 <h2><span>Réglages du groupe</span></h2>
76 <div class="box">
77 <form id="groups2" method="post" action="admin_groups.php" onsubmit="return process_form(this)">
78 <p class="submittop"><input type="submit" name="add_edit_group" value=" Enregistrer " /></p>
79 <div class="inform">
80 <input type="hidden" name="mode" value="<?php echo $mode ?>" />
81<?php if ($mode == 'edit'): ?> <input type="hidden" name="group_id" value="<?php echo $group_id ?>" />
82<?php endif; ?><?php if ($mode == 'add'): ?> <input type="hidden" name="base_group" value="<?php echo $base_group ?>" />
83<?php endif; ?> <fieldset>
84 <legend>Réglages des options et des permissions de groupe</legend>
85 <div class="infldset">
86 <p>Les options et permissions ci-dessous sont les permissions par défaut pour le groupe. Ces options s'appliquent s'il n'y a pas de réglages de permissions spécifiques à un forum.</p>
87 <table class="aligntop" cellspacing="0">
88 <tr>
89 <th scope="row">Nom groupe</th>
90 <td>
91 <input type="text" name="req_title" size="25" maxlength="50" value="<?php if ($mode == 'edit') echo pun_htmlspecialchars($group['g_title']); ?>" tabindex="1" />
92 </td>
93 </tr>
94 <tr>
95 <th scope="row">Titre utilisateur</th>
96 <td>
97 <input type="text" name="user_title" size="25" maxlength="50" value="<?php echo pun_htmlspecialchars($group['g_user_title']) ?>" tabindex="2" />
98 <span>Ce titre remplacera n'importe quel nom de rang que les utilisateurs de ce groupe auront atteint. Laissez vide pour utiliser le titre par défaut ou le rang.</span>
99 </td>
100 </tr>
101<?php if ($group['g_id'] != PUN_ADMIN): ?> <tr>
102 <th scope="row">Lire forums</th>
103 <td>
104 <input type="radio" name="read_board" value="1"<?php if ($group['g_read_board'] == '1') echo ' checked="checked"' ?> tabindex="3" />&nbsp;<strong>Oui</strong>&nbsp;&nbsp;&nbsp;<input type="radio" name="read_board" value="0"<?php if ($group['g_read_board'] == '0') echo ' checked="checked"' ?> tabindex="4" />&nbsp;<strong>Non</strong>
105 <span>Autoriser les utilisateurs de ce groupe à voir les forums. Ce réglage s'applique à tous les aspects des forums et ne peut être outrepassé par les permissions spécifiques aux forums. Avec cette option à non les utilisateurs de ce groupe ne pourront que s'identifier/se déconnecter.</span>
106 </td>
107 </tr>
108 <tr>
109 <th scope="row">Écrire des réponses</th>
110 <td>
111 <input type="radio" name="post_replies" value="1"<?php if ($group['g_post_replies'] == '1') echo ' checked="checked"' ?> tabindex="5" />&nbsp;<strong>Oui</strong>&nbsp;&nbsp;&nbsp;<input type="radio" name="post_replies" value="0"<?php if ($group['g_post_replies'] == '0') echo ' checked="checked"' ?> tabindex="6" />&nbsp;<strong>Non</strong>
112 <span>Autoriser les utilisateurs de ce groupe à écrire des réponses aux discussions.</span>
113 </td>
114 </tr>
115 <tr>
116 <th scope="row">Lancer des discussions</th>
117 <td>
118 <input type="radio" name="post_topics" value="1"<?php if ($group['g_post_topics'] == '1') echo ' checked="checked"' ?> tabindex="7" />&nbsp;<strong>Oui</strong>&nbsp;&nbsp;&nbsp;<input type="radio" name="post_topics" value="0"<?php if ($group['g_post_topics'] == '0') echo ' checked="checked"' ?> tabindex="8" />&nbsp;<strong>Non</strong>
119 <span>Autoriser les utilisateurs de ce groupe à lancer des nouveaux sujets.</span>
120 </td>
121 </tr>
122<?php if ($group['g_id'] != PUN_GUEST): ?> <tr>
123 <th scope="row">Modifier messages</th>
124 <td>
125 <input type="radio" name="edit_posts" value="1"<?php if ($group['g_edit_posts'] == '1') echo ' checked="checked"' ?> tabindex="11" />&nbsp;<strong>Oui</strong>&nbsp;&nbsp;&nbsp;<input type="radio" name="edit_posts" value="0"<?php if ($group['g_edit_posts'] == '0') echo ' checked="checked"' ?> tabindex="12" />&nbsp;<strong>Non</strong>
126 <span>Autoriser les utilisateurs de ce groupe à modifier leurs propres messages.</span>
127 </td>
128 </tr>
129 <tr>
130 <th scope="row">Effacer les messages</th>
131 <td>
132 <input type="radio" name="delete_posts" value="1"<?php if ($group['g_delete_posts'] == '1') echo ' checked="checked"' ?> tabindex="13" />&nbsp;<strong>Oui</strong>&nbsp;&nbsp;&nbsp;<input type="radio" name="delete_posts" value="0"<?php if ($group['g_delete_posts'] == '0') echo ' checked="checked"' ?> tabindex="14" />&nbsp;<strong>Non</strong>
133 <span>Autoriser les utilisateurs de ce groupe à effacer leurs propres messages.</span>
134 </td>
135 </tr>
136 <tr>
137 <th scope="row">Effacer les discussions</th>
138 <td>
139 <input type="radio" name="delete_topics" value="1"<?php if ($group['g_delete_topics'] == '1') echo ' checked="checked"' ?> tabindex="15" />&nbsp;<strong>Oui</strong>&nbsp;&nbsp;&nbsp;<input type="radio" name="delete_topics" value="0"<?php if ($group['g_delete_topics'] == '0') echo ' checked="checked"' ?> tabindex="16" />&nbsp;<strong>Non</strong>
140 <span>Autoriser les utilisateurs de ce groupe à effacer leurs propres sujets (y compris toutes les réponses).</span>
141 </td>
142 </tr>
143 <tr>
144 <th scope="row">Titre personnalisé</th>
145 <td>
146 <input type="radio" name="set_title" value="1"<?php if ($group['g_set_title'] == '1') echo ' checked="checked"' ?> tabindex="17" />&nbsp;<strong>Oui</strong>&nbsp;&nbsp;&nbsp;<input type="radio" name="set_title" value="0"<?php if ($group['g_set_title'] == '0') echo ' checked="checked"' ?> tabindex="18" />&nbsp;<strong>Non</strong>
147 <span>Autoriser les utilisateurs de ce groupe à modifier leur propre titre utilisateur.</span>
148 </td>
149 </tr>
150<?php endif; ?> <tr>
151 <th scope="row">Utiliser la recherche</th>
152 <td>
153 <input type="radio" name="search" value="1"<?php if ($group['g_search'] == '1') echo ' checked="checked"' ?> tabindex="19" />&nbsp;<strong>Oui</strong>&nbsp;&nbsp;&nbsp;<input type="radio" name="search" value="0"<?php if ($group['g_search'] == '0') echo ' checked="checked"' ?> tabindex="20" />&nbsp;<strong>Non</strong>
154 <span>Autoriser les utilisateurs de ce groupe à utiliser la fonction de recherche sur les forums.</span>
155 </td>
156 </tr>
157 <tr>
158 <th scope="row">Recherche d'utilisateur</th>
159 <td>
160 <input type="radio" name="search_users" value="1"<?php if ($group['g_search_users'] == '1') echo ' checked="checked"' ?> tabindex="21" />&nbsp;<strong>Oui</strong>&nbsp;&nbsp;&nbsp;<input type="radio" name="search_users" value="0"<?php if ($group['g_search_users'] == '0') echo ' checked="checked"' ?> tabindex="22" />&nbsp;<strong>Non</strong>
161 <span>Autoriser les utilisateurs de ce groupe à utiliser un texte libre pour rechercher dans la liste des utilisateurs.</span>
162 </td>
163 </tr>
164<?php if ($group['g_id'] != PUN_GUEST): ?> <tr>
165 <th scope="row">Intervalle pour modifier le sujet d'une discussion</th>
166 <td>
167 <input type="text" name="edit_subjects_interval" size="5" maxlength="5" value="<?php echo $group['g_edit_subjects_interval'] ?>" tabindex="23" />
168 <span>Nombre de secondes après que le message ait été envoyé pendant lesquelles les utilisateurs de ce groupe pourront modifier le sujet d'une discussion qu'ils viennent de lancer. Mettre à 0 pour permettre la modification du sujet des discussions sans restriction dans le temps.</span>
169 </td>
170 </tr>
171 <tr>
172 <th scope="row">Intervalle de contrôle de flood sur les messages</th>
173 <td>
174 <input type="text" name="post_flood" size="5" maxlength="4" value="<?php echo $group['g_post_flood'] ?>" tabindex="24" />
175 <span>Nombre de secondes pendant lesquelles les utilisateurs de ce groupe devront patienter entre deux messages. Mettre à 0 pour désactiver le contrôle de flood sur les messages.</span>
176 </td>
177 </tr>
178 <tr>
179 <th scope="row">Intervalle de contrôle de flood sur les recherches</th>
180 <td>
181 <input type="text" name="search_flood" size="5" maxlength="4" value="<?php echo $group['g_search_flood'] ?>" tabindex="25" />
182 <span>Nombre de secondes pendant lesquelles les utilisateurs de ce groupe devront patienter entre deux recherches. Mettre à 0 pour désactiver le contrôle de flood sur les recherches.</span>
183 </td>
184 </tr>
185<?php endif; ?><?php endif; ?> </table>
186<?php if ($group['g_id'] == PUN_MOD ): ?> <p class="warntext">Pour qu'un utilisateur de ce groupe acquière les compétences de modérateur, il devra nécessairement être désigné comme modérateur d'un ou de plusieurs forums. Ceci est possible depuis la page d'administration du profil de l'utilisateur.</p>
187<?php endif; ?> </div>
188 </fieldset>
189 </div>
190 <p class="submitend"><input type="submit" name="add_edit_group" value=" Enregistrer " tabindex="26" /></p>
191 </form>
192 </div>
193 </div>
194 <div class="clearer"></div>
195</div>
196<?php
197
198 require PUN_ROOT.'footer.php';
199}
200
201
202// Add/edit a group (stage 2)
203else if (isset($_POST['add_edit_group']))
204{
205 confirm_referrer('admin_groups.php');
206
207 // Is this the admin group? (special rules apply)
208 $is_admin_group = (isset($_POST['group_id']) && $_POST['group_id'] == PUN_ADMIN) ? true : false;
209
210 $title = trim($_POST['req_title']);
211 $user_title = trim($_POST['user_title']);
212 $read_board = isset($_POST['read_board']) ? intval($_POST['read_board']) : '1';
213 $post_replies = isset($_POST['post_replies']) ? intval($_POST['post_replies']) : '1';
214 $post_topics = isset($_POST['post_topics']) ? intval($_POST['post_topics']) : '1';
215 $edit_posts = isset($_POST['edit_posts']) ? intval($_POST['edit_posts']) : ($is_admin_group) ? '1' : '0';
216 $delete_posts = isset($_POST['delete_posts']) ? intval($_POST['delete_posts']) : ($is_admin_group) ? '1' : '0';
217 $delete_topics = isset($_POST['delete_topics']) ? intval($_POST['delete_topics']) : ($is_admin_group) ? '1' : '0';
218 $set_title = isset($_POST['set_title']) ? intval($_POST['set_title']) : ($is_admin_group) ? '1' : '0';
219 $search = isset($_POST['search']) ? intval($_POST['search']) : '1';
220 $search_users = isset($_POST['search_users']) ? intval($_POST['search_users']) : '1';
221 $edit_subjects_interval = isset($_POST['edit_subjects_interval']) ? intval($_POST['edit_subjects_interval']) : '0';
222 $post_flood = isset($_POST['post_flood']) ? intval($_POST['post_flood']) : '0';
223 $search_flood = isset($_POST['search_flood']) ? intval($_POST['search_flood']) : '0';
224
225 if ($title == '')
226 message('Vous devez saisir un nom de groupe.');
227
228 $user_title = ($user_title != '') ? '\''.$db->escape($user_title).'\'' : 'NULL';
229
230 if ($_POST['mode'] == 'add')
231 {
232 $result = $db->query('SELECT 1 FROM '.$db->prefix.'groups WHERE g_title=\''.$db->escape($title).'\'') or error('Unable to check group title collision', __FILE__, __LINE__, $db->error());
233 if ($db->num_rows($result))
234 message('Il existe déjà un groupe nommé \''.pun_htmlspecialchars($title).'\'.');
235
236 $db->query('INSERT INTO '.$db->prefix.'groups (g_title, g_user_title, g_read_board, g_post_replies, g_post_topics, g_edit_posts, g_delete_posts, g_delete_topics, g_set_title, g_search, g_search_users, g_edit_subjects_interval, g_post_flood, g_search_flood) VALUES(\''.$db->escape($title).'\', '.$user_title.', '.$read_board.', '.$post_replies.', '.$post_topics.', '.$edit_posts.', '.$delete_posts.', '.$delete_topics.', '.$set_title.', '.$search.', '.$search_users.', '.$edit_subjects_interval.', '.$post_flood.', '.$search_flood.')') or error('Unable to add group', __FILE__, __LINE__, $db->error());
237 $new_group_id = $db->insert_id();
238
239 // Now lets copy the forum specific permissions from the group which this group is based on
240 $result = $db->query('SELECT forum_id, read_forum, post_replies, post_topics FROM '.$db->prefix.'forum_perms WHERE group_id='.intval($_POST['base_group'])) or error('Unable to fetch group forum permission list', __FILE__, __LINE__, $db->error());
241 while ($cur_forum_perm = $db->fetch_assoc($result))
242 $db->query('INSERT INTO '.$db->prefix.'forum_perms (group_id, forum_id, read_forum, post_replies, post_topics) VALUES('.$new_group_id.', '.$cur_forum_perm['forum_id'].', '.$cur_forum_perm['read_forum'].', '.$cur_forum_perm['post_replies'].', '.$cur_forum_perm['post_topics'].')') or error('Unable to insert group forum permissions', __FILE__, __LINE__, $db->error());
243 }
244 else
245 {
246 $result = $db->query('SELECT 1 FROM '.$db->prefix.'groups WHERE g_title=\''.$db->escape($title).'\' AND g_id!='.intval($_POST['group_id'])) or error('Unable to check group title collision', __FILE__, __LINE__, $db->error());
247 if ($db->num_rows($result))
248 message('Il existe déjà un groupe nommé \''.pun_htmlspecialchars($title).'\'.');
249
250 $db->query('UPDATE '.$db->prefix.'groups SET g_title=\''.$db->escape($title).'\', g_user_title='.$user_title.', g_read_board='.$read_board.', g_post_replies='.$post_replies.', g_post_topics='.$post_topics.', g_edit_posts='.$edit_posts.', g_delete_posts='.$delete_posts.', g_delete_topics='.$delete_topics.', g_set_title='.$set_title.', g_search='.$search.', g_search_users='.$search_users.', g_edit_subjects_interval='.$edit_subjects_interval.', g_post_flood='.$post_flood.', g_search_flood='.$search_flood.' WHERE g_id='.intval($_POST['group_id'])) or error('Unable to update group', __FILE__, __LINE__, $db->error());
251 }
252
253 // Regenerate the quickjump cache
254 require_once PUN_ROOT.'include/cache.php';
255 generate_quickjump_cache();
256
257 redirect('admin_groups.php', 'Groupe '.(($_POST['mode'] == 'edit') ? 'modifié' : 'ajouté').'. Redirection ...');
258}
259
260
261// Set default group
262else if (isset($_POST['set_default_group']))
263{
264 confirm_referrer('admin_groups.php');
265
266 $group_id = intval($_POST['default_group']);
267 if ($group_id < 4)
268 message($lang_common['Bad request']);
269
270 $db->query('UPDATE '.$db->prefix.'config SET conf_value='.$group_id.' WHERE conf_name=\'o_default_user_group\'') or error('Unable to update board config', __FILE__, __LINE__, $db->error());
271
272 // Regenerate the config cache
273 require_once PUN_ROOT.'include/cache.php';
274 generate_config_cache();
275
276 redirect('admin_groups.php', 'Groupe par défaut réglé. Redirection ...');
277}
278
279
280// Remove a group
281else if (isset($_GET['del_group']))
282{
283 confirm_referrer('admin_groups.php');
284
285 $group_id = intval($_GET['del_group']);
286 if ($group_id < 5)
287 message($lang_common['Bad request']);
288
289 // Make sure we don't remove the default group
290 if ($group_id == $pun_config['o_default_user_group'])
291 message('Le groupe par défaut ne peut être supprimé. Vous devez d\'abord définir un groupe par défaut différent.');
292
293
294 // Check if this group has any members
295 $result = $db->query('SELECT g.g_title, COUNT(u.id) FROM '.$db->prefix.'groups AS g INNER JOIN '.$db->prefix.'users AS u ON g.g_id=u.group_id WHERE g.g_id='.$group_id.' GROUP BY g.g_id, g_title') or error('Unable to fetch group info', __FILE__, __LINE__, $db->error());
296
297 // If the group doesn't have any members or if we've already selected a group to move the members to
298 if (!$db->num_rows($result) || isset($_POST['del_group']))
299 {
300 if (isset($_POST['del_group']))
301 {
302 $move_to_group = intval($_POST['move_to_group']);
303 $db->query('UPDATE '.$db->prefix.'users SET group_id='.$move_to_group.' WHERE group_id='.$group_id) or error('Unable to move users into group', __FILE__, __LINE__, $db->error());
304 }
305
306 // Delete the group and any forum specific permissions
307 $db->query('DELETE FROM '.$db->prefix.'groups WHERE g_id='.$group_id) or error('Unable to delete group', __FILE__, __LINE__, $db->error());
308 $db->query('DELETE FROM '.$db->prefix.'forum_perms WHERE group_id='.$group_id) or error('Unable to delete group forum permissions', __FILE__, __LINE__, $db->error());
309
310 // Regenerate the quickjump cache
311 require_once PUN_ROOT.'include/cache.php';
312 generate_quickjump_cache();
313
314 redirect('admin_groups.php', 'Groupe supprimé. Redirection ...');
315 }
316
317
318 list($group_title, $group_members) = $db->fetch_row($result);
319
320 $page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / Admin / Groupes';
321 require PUN_ROOT.'header.php';
322
323 generate_admin_menu('groups');
324
325?>
326 <div class="blockform">
327 <h2><span>Supprimer groupe</span></h2>
328 <div class="box">
329 <form id="groups" method="post" action="admin_groups.php?del_group=<?php echo $group_id ?>">
330 <div class="inform">
331 <fieldset>
332 <legend>Déplacer les utilisateur de ce groupe</legend>
333 <div class="infldset">
334 <p>Il y a actuellement <?php echo $group_members ?> membres dans le groupe "<?php echo pun_htmlspecialchars($group_title) ?>". Veuillez sélectionner un groupe dans lequel ces utilisateurs seront déplacés.</p>
335 <label>Déplacer les utilisateurs dans
336 <select name="move_to_group">
337<?php
338
339 $result = $db->query('SELECT g_id, g_title FROM '.$db->prefix.'groups WHERE g_id!='.PUN_GUEST.' AND g_id!='.$group_id.' ORDER BY g_title') or error('Unable to fetch user group list', __FILE__, __LINE__, $db->error());
340
341 while ($cur_group = $db->fetch_assoc($result))
342 {
343 if ($cur_group['g_id'] == PUN_MEMBER) // Pre-select the pre-defined Members group
344 echo "\t\t\t\t\t\t\t\t\t\t".'<option value="'.$cur_group['g_id'].'" selected="selected">'.pun_htmlspecialchars($cur_group['g_title']).'</option>'."\n";
345 else
346 echo "\t\t\t\t\t\t\t\t\t\t".'<option value="'.$cur_group['g_id'].'">'.pun_htmlspecialchars($cur_group['g_title']).'</option>'."\n";
347 }
348
349?>
350 </select>
351 </br></label>
352 </div>
353 </fieldset>
354 </div>
355 <p><input type="submit" name="del_group" value=" Supprimer groupe " /></p>
356 </form>
357 </div>
358 </div>
359 <div class="clearer"></div>
360</div>
361<?php
362
363 require PUN_ROOT.'footer.php';
364}
365
366
367$page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / Admin / Groupes';
368require PUN_ROOT.'header.php';
369
370generate_admin_menu('groups');
371
372?>
373 <div class="blockform">
374 <h2><span>Ajouter/régler groupes</span></h2>
375 <div class="box">
376 <form id="groups" method="post" action="admin_groups.php?action=foo">
377 <div class="inform">
378 <fieldset>
379 <legend>Ajouter un groupe</legend>
380 <div class="infldset">
381 <table class="aligntop" cellspacing="0">
382 <tr>
383 <th scope="row">Nouveau groupe basé sur le groupe<div><input type="submit" name="add_group" value=" Ajouter " tabindex="2" /></div></th>
384 <td>
385 <select id="base_group" name="base_group" tabindex="1">
386<?php
387
388$result = $db->query('SELECT g_id, g_title FROM '.$db->prefix.'groups WHERE g_id>'.PUN_GUEST.' ORDER BY g_title') or error('Unable to fetch user group list', __FILE__, __LINE__, $db->error());
389
390while ($cur_group = $db->fetch_assoc($result))
391{
392 if ($cur_group['g_id'] == $pun_config['o_default_user_group'])
393 echo "\t\t\t\t\t\t\t\t\t\t\t".'<option value="'.$cur_group['g_id'].'" selected="selected">'.pun_htmlspecialchars($cur_group['g_title']).'</option>'."\n";
394 else
395 echo "\t\t\t\t\t\t\t\t\t\t\t".'<option value="'.$cur_group['g_id'].'">'.pun_htmlspecialchars($cur_group['g_title']).'</option>'."\n";
396}
397
398?>
399 </select>
400 <span>Choisissez un groupe d'utilisateurs duquel le nouveau groupe héritera les propriétés. La page suivante vous permettra d'affiner ces réglages.</span>
401 </td>
402 </tr>
403 </table>
404 </div>
405 </fieldset>
406 </div>
407 <div class="inform">
408 <fieldset>
409 <legend>Définir le groupe par défaut</legend>
410 <div class="infldset">
411 <table class="aligntop" cellspacing="0">
412 <tr>
413 <th scope="row">Groupe par défaut<div><input type="submit" name="set_default_group" value=" Enregistrer " tabindex="4" /></div></th>
414 <td>
415 <select id="default_group" name="default_group" tabindex="3">
416<?php
417
418$result = $db->query('SELECT g_id, g_title FROM '.$db->prefix.'groups WHERE g_id>'.PUN_GUEST.' ORDER BY g_title') or error('Unable to fetch user group list', __FILE__, __LINE__, $db->error());
419
420while ($cur_group = $db->fetch_assoc($result))
421{
422 if ($cur_group['g_id'] == $pun_config['o_default_user_group'])
423 echo "\t\t\t\t\t\t\t\t\t\t\t".'<option value="'.$cur_group['g_id'].'" selected="selected">'.pun_htmlspecialchars($cur_group['g_title']).'</option>'."\n";
424 else
425 echo "\t\t\t\t\t\t\t\t\t\t\t".'<option value="'.$cur_group['g_id'].'">'.pun_htmlspecialchars($cur_group['g_title']).'</option>'."\n";
426}
427
428?>
429 </select>
430 <span>Choisissez le groupe que vous voulez définir par défaut. C'est à dire le groupe où les utilisateurs seront placés quand ils s'inscriront. Pour des raisons de sécurité, par défaut les utilisateurs ne peuvent être mis ni dans le groupe modérateur ni dans le groupe administrateur.</span>
431 </td>
432 </tr>
433 </table>
434 </div>
435 </fieldset>
436 </div>
437 </form>
438 </div>
439
440 <h2 class="block2"><span>Groupes existants</span></h2>
441 <div class="box">
442 <div class="fakeform">
443 <div class="inform">
444 <fieldset>
445 <legend>Modifier/supprimer les groupes</legend>
446 <div class="infldset">
447 <p>Les groupes pré-définis Invités, Administrateurs, Modérateurs et Membres ne peuvent être supprimés. Ils peuvent par contre être modifiés. Mais suivant le groupe certaines options ne sont pas disponibles (<abbr title="exemple">ex.</abbr> la permission <em>modifier messages</em> pour les invités). Les Administrateurs ont toujours toutes les permisssions.</p>
448 <table cellspacing="0">
449<?php
450
451$result = $db->query('SELECT g_id, g_title FROM '.$db->prefix.'groups ORDER BY g_id') or error('Unable to fetch user group list', __FILE__, __LINE__, $db->error());
452
453while ($cur_group = $db->fetch_assoc($result))
454 echo "\t\t\t\t\t\t\t\t".'<tr><th scope="row"><a href="admin_groups.php?edit_group='.$cur_group['g_id'].'">Modifier</a>'.(($cur_group['g_id'] > PUN_MEMBER) ? ' - <a href="admin_groups.php?del_group='.$cur_group['g_id'].'">Supprimer</a>' : '').'</th><td>'.pun_htmlspecialchars($cur_group['g_title']).'</td></tr>'."\n";
455
456?>
457 </table>
458 </div>
459 </fieldset>
460 </div>
461 </div>
462 </div>
463 </div>
464 <div class="clearer"></div>
465</div>
466<?php
467
468require PUN_ROOT.'footer.php';