[phpBB3] Fonction group_select_options_selected()
Posté : lun. 22 août 2011 21:24
» Fonction group_select_options_selected()
Cette fonction vous permet d'avoir un menu avec tous les groupes listés. Très utile si vous devez, par exemple, développer un MOD où vous assignez des permissions pour les groupes.
Cette fonction vous permet d'avoir un menu avec tous les groupes listés. Très utile si vous devez, par exemple, développer un MOD où vous assignez des permissions pour les groupes.
Code : Tout sélectionner
/**
* borrowed from functions_announcement.php of lefty74
*/
function group_select_options_selected($group_ids, $exclude_ids = false, $manage_founder = false)
{
global $db, $auth, $user, $template;
global $phpbb_root_path, $phpEx, $config;
$exclude_sql = ($exclude_ids !== false && sizeof($exclude_ids)) ? 'WHERE ' . $db->sql_in_set('group_id', array_map('intval', $exclude_ids), true) : '';
$sql_and = (!$config['coppa_enable']) ? (($exclude_sql) ? ' AND ' : ' WHERE ') . "group_name <> 'REGISTERED_COPPA'" : '';
$sql_founder = ($manage_founder !== false) ? (($exclude_sql || $sql_and) ? ' AND ' : ' WHERE ') . 'group_founder_manage = ' . (int) $manage_founder : '';
$sql = 'SELECT group_id, group_name, group_type
FROM ' . GROUPS_TABLE . "
$exclude_sql
$sql_and
$sql_founder
ORDER BY group_type DESC, group_name ASC";
$result = $db->sql_query($sql);
$s_group_options = '';
while ($row = $db->sql_fetchrow($result))
{
$selected = (in_array($row['group_id'], $group_ids)) ? ' selected="selected"' : '';
$s_group_options .= '<option' . (($row['group_type'] == GROUP_SPECIAL) ? ' class="sep"' : '') . ' value="' . $row['group_id'] . '"' . $selected . '>' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . '</option>';
}
$db->sql_freeresult($result);
return $s_group_options;
}