PUN_ADMIN) message($lang_common['No permission']); // Add/edit a group (stage 1) if (isset($_POST['add_group']) || isset($_GET['edit_group'])) { if (isset($_POST['add_group'])) { $base_group = intval($_POST['base_group']); $result = $db->query('SELECT * FROM '.$db->prefix.'groups WHERE g_id='.$base_group) or error('Impossible de retrouver les informations de groupes utilisateurs', __FILE__, __LINE__, $db->error()); $group = $db->fetch_assoc($result); $mode = 'add'; } else // We are editing a group { $group_id = intval($_GET['edit_group']); if ($group_id < 1) message($lang_common['Bad request']); $result = $db->query('SELECT * FROM '.$db->prefix.'groups WHERE g_id='.$group_id) or error('Impossible de retrouver les informations de groupes utilisateurs', __FILE__, __LINE__, $db->error()); if (!$db->num_rows($result)) message($lang_common['Bad request']); $group = $db->fetch_assoc($result); $mode = 'edit'; } $page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / Admin / Groupes'; $required_fields = array('req_title' => 'Nom groupe'); $focus_element = array('groups2', 'req_title'); require PUN_ROOT.'header.php'; generate_admin_menu('groups'); ?>

Réglages du groupe

Réglages des options et des permissions de groupe

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.

Nom groupe
Titre utilisateur 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.
Lire forums tabindex="3" /> Oui    tabindex="4" /> Non 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.
Écrire des réponses tabindex="5" /> Oui    tabindex="6" /> Non Autoriser les utilisateurs de ce groupe à écrire des réponses aux discussions.
Lancer des discussions tabindex="7" /> Oui    tabindex="8" /> Non Autoriser les utilisateurs de ce groupe à lancer des nouveaux sujets.
Modifier messages tabindex="11" /> Oui    tabindex="12" /> Non Autoriser les utilisateurs de ce groupe à modifier leurs propres messages.
Effacer les messages tabindex="13" /> Oui    tabindex="14" /> Non Autoriser les utilisateurs de ce groupe à effacer leurs propres messages.
Effacer les discussions tabindex="15" /> Oui    tabindex="16" /> Non Autoriser les utilisateurs de ce groupe à effacer leurs propres sujets (y compris toutes les réponses).
Titre personnalisé tabindex="17" /> Oui    tabindex="18" />  Non Autoriser les utilisateurs de ce groupe à modifier leur propre titre utilisateur.
Utiliser la recherche tabindex="19" /> Oui    tabindex="20" /> Non Autoriser les utilisateurs de ce groupe à utiliser la fonction de recherche sur les forums.
Recherche d'utilisateur tabindex="21" /> Oui    tabindex="22" /> Non Autoriser les utilisateurs de ce groupe à utiliser un texte libre pour rechercher dans la liste des utilisateurs.
Intervalle pour modifier le sujet d'une discussion 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.
Intervalle de contrôle de flood sur les messages 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.
Intervalle de contrôle de flood sur les recherches 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.

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.

escape($user_title).'\'' : 'NULL'; if ($_POST['mode'] == 'add') { $result = $db->query('SELECT 1 FROM '.$db->prefix.'groups WHERE g_title=\''.$db->escape($title).'\'') or error('Impossible de vérifier si un groupe porte déjà ce nom', __FILE__, __LINE__, $db->error()); if ($db->num_rows($result)) message('Il existe déjà un groupe nommé \''.pun_htmlspecialchars($title).'\'.'); $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('Impossible d\'ajouter le groupe', __FILE__, __LINE__, $db->error()); $new_group_id = $db->insert_id(); // Now lets copy the forum specific permissions from the group which this group is based on $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('Impossible de retrouver la liste des permissions de groupes du forum', __FILE__, __LINE__, $db->error()); while ($cur_forum_perm = $db->fetch_assoc($result)) $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('Impossible d\'insérer les permissions de groupes du forum', __FILE__, __LINE__, $db->error()); } else { $result = $db->query('SELECT 1 FROM '.$db->prefix.'groups WHERE g_title=\''.$db->escape($title).'\' AND g_id!='.intval($_POST['group_id'])) or error('impossible de vérifier une éventuelle collision des titres de groupes', __FILE__, __LINE__, $db->error()); if ($db->num_rows($result)) message('Il existe déjà un groupe nommé \''.pun_htmlspecialchars($title).'\'.'); $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('Impossible de modifier le groupe', __FILE__, __LINE__, $db->error()); } // Regenerate the quickjump cache require_once PUN_ROOT.'include/cache.php'; generate_quickjump_cache(); redirect('admin_groups.php', 'Groupe '.(($_POST['mode'] == 'edit') ? 'modifié' : 'ajouté').'. Redirection ...'); } // Set default group else if (isset($_POST['set_default_group'])) { confirm_referrer('admin_groups.php'); $group_id = intval($_POST['default_group']); if ($group_id < 1) message($lang_common['Bad request']); $db->query('UPDATE '.$db->prefix.'config SET conf_value='.$group_id.' WHERE conf_name=\'o_default_user_group\'') or error('Impossible de modifier la configuration des forums', __FILE__, __LINE__, $db->error()); // Regenerate the config cache require_once PUN_ROOT.'include/cache.php'; generate_config_cache(); redirect('admin_groups.php', 'Groupe par défaut réglé. Redirection ...'); } // Remove a group else if (isset($_GET['del_group'])) { confirm_referrer('admin_groups.php'); $group_id = intval($_GET['del_group']); if ($group_id < 5) message($lang_common['Bad request']); // Make sure we don't remove the default group if ($group_id == $pun_config['o_default_user_group']) message('Le groupe par défaut ne peut être supprimé. Vous devez d\'abord définir un groupe par défaut différent.'); // Check if this group has any members $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('Impossible de retrouver les informations du groupe', __FILE__, __LINE__, $db->error()); // If the group doesn't have any members or if we've already selected a group to move the members to if (!$db->num_rows($result) || isset($_POST['del_group'])) { if (isset($_POST['del_group'])) { $move_to_group = intval($_POST['move_to_group']); $db->query('UPDATE '.$db->prefix.'users SET group_id='.$move_to_group.' WHERE group_id='.$group_id) or error('Impossible de déplacer les utilisateurs dans le groupe', __FILE__, __LINE__, $db->error()); } // Delete the group and any forum specific permissions $db->query('DELETE FROM '.$db->prefix.'groups WHERE g_id='.$group_id) or error('Impossible de supprimer le groupe', __FILE__, __LINE__, $db->error()); $db->query('DELETE FROM '.$db->prefix.'forum_perms WHERE group_id='.$group_id) or error('Impossible de supprimer les permissions de groupe du forum', __FILE__, __LINE__, $db->error()); // Regenerate the quickjump cache require_once PUN_ROOT.'include/cache.php'; generate_quickjump_cache(); redirect('admin_groups.php', 'Groupe supprimé. Redirection ...'); } list($group_title, $group_members) = $db->fetch_row($result); $page_title = pun_htmlspecialchars($pun_config['o_board_title']).' / Admin / Groupes'; require PUN_ROOT.'header.php'; generate_admin_menu('groups'); ?>

Supprimer groupe

Déplacer les utilisateur de ce groupe

Il y a actuellement membres dans le groupe "". Veuillez sélectionner un groupe dans lequel ces utilisateurs seront déplacés.

Ajouter/régler groupes

Ajouter un groupe
Nouveau groupe basé sur le groupe
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.
Définir le groupe par défaut
Groupe par défaut
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.

Groupes existants

Modifier/supprimer les groupes

Les groupes pré-définis Invités, Administrateurs, Modérateurs et Membres ne peuvent être supprimés. Il peuvent par contre être modifiés. Mais suivant le groupe certaines options ne sont pas disponibles (ex. la permission modifier messages pour les invités). Les Administrateurs ont toujours toutes les permisssions.

query('SELECT g_id, g_title FROM '.$db->prefix.'groups ORDER BY g_id') or error('Impossible de retrouver la liste des groupes', __FILE__, __LINE__, $db->error()); while ($cur_group = $db->fetch_assoc($result)) echo "\t\t\t\t\t\t\t\t".''."\n"; ?>
Modifier'.(($cur_group['g_id'] > PUN_MEMBER) ? ' - Supprimer' : '').''.pun_htmlspecialchars($cur_group['g_title']).'