2 /*=====================================================================*\
3 || ################################################################### ||
4 || # Renapsus [#]version[#]
5 || # --------------------------------------------------------------- # ||
6 || # All parts of this file are ©2003-[#]year[#] Iris Studios, Inc. No # ||
7 || # part of this file may be reproduced in any way: part or whole. # ||
8 || # --------------------------------------------------------------- # ||
9 || # ©2003 - [#]year[#] Iris Studios, Inc. | http://www.iris-studios.com # ||
10 || ################################################################### ||
11 \*=====================================================================*/
13 require_once('./global.php');
14 require_once('./includes/functions_datastore.php');
16 if (!can_perform('canadmingroups'))
21 // ###################################################################
23 if (empty($_REQUEST['do']))
25 $_REQUEST['do'] = 'modify';
28 // ###################################################################
30 if ($_REQUEST['do'] == 'kill')
32 sanitize(array('usergroupid' => INT));
34 if ($vars['usergroupid'] < 7)
36 $admin->error(phrase('cant_delete_default_usergroup'));
39 $DB_sql->query("DELETE FROM " . TABLE_PREFIX
. "usergroup WHERE usergroupid = $vars[usergroupid]");
40 $DB_sql->query("UPDATE " . TABLE_PREFIX
. "user SET usergroupid = 2 WHERE usergroupid = $vars[usergroupid]");
45 $admin->redirect('usergroup.php?do=modify');
48 // ###################################################################
50 if ($_REQUEST['do'] == 'delete')
52 sanitize(array('usergroupid' => INT));
54 if ($vars['usergroupid'] < 7)
56 $admin->error(phrase('cant_delete_default_usergroup'));
59 $admin->page_confirm(phrase('confirm_delete_usergroup'), 'usergroup.php?do=kill&usergroupid=' . $vars['usergroupid']);
62 // ###################################################################
64 if ($_REQUEST['do'] == 'add' OR $_REQUEST['do'] == 'edit')
66 $add = iff($_REQUEST['do'] == 'add', true
, false
);
67 $edit = iff($_REQUEST['do'] == 'edit', true
, false
);
69 sanitize(array('usergroupid' => INT));
71 $admin->page_start(iff($add, phrase('new_usergroup'), phrase('edit_usergroup')));
73 $admin->form_start('usergroup.php', iff($add, 'insert', 'update'));
77 $usergroup = $DB_sql->query_first("SELECT * FROM " . TABLE_PREFIX
. "usergroup WHERE usergroupid = $vars[usergroupid]");
78 if (!is_array($usergroup))
83 $admin->form_hidden_field('usergroupid', $usergroup['usergroupid']);
87 $usergroup['permissions'] = 319;
91 $admin->table_start();
92 $admin->table_head(phrase('usergroup_details'));
93 $admin->row_input(phrase('usergroup_title'), 'title', htmlspecialcharslike($usergroup['title']));
94 $admin->row_input(phrase('usergroup_display_title'), 'displaytitle', htmlspecialcharslike($usergroup['displaytitle']));
95 $admin->row_input(phrase('usergroup_open_markup'), 'opentag', htmlspecialcharslike($usergroup['opentag']));
96 $admin->row_input(phrase('usergroup_close_markup'), 'closetag', htmlspecialcharslike($usergroup['closetag']));
100 $admin->table_start();
102 // define permissions as groups
103 $permissions = array(
115 'moderation' => array(
130 $admin->table_head(phrase('usergroup_permission_settings'));
132 foreach ($permissions AS $group => $settings)
134 $admin->row_span(phrase("permissions_group_$group"), 'thead', 'center');
135 foreach ($settings AS $setting)
137 $admin->row_yesno(phrase("permissions_$setting"), "perm[$setting]", ($usergroup['permissions'] & $_PERMISSION["$setting"]));
144 $admin->table_start();
145 $admin->row_submit();
153 // ###################################################################
155 if ($_POST['do'] == 'insert')
157 sanitize(array('title' => STR
, 'displaytitle' => STR
, 'opentag' => STR
, 'closetag' => STR
));
159 foreach ($_POST['perm'] AS $permtitle => $binaryswitch)
161 $permissionvalue +
= $_PERMISSION["$permtitle"] * $binaryswitch;
165 INSERT INTO " . TABLE_PREFIX
. "usergroup
166 (title, displaytitle, opentag, closetag, permissions)
168 ('" . addslasheslike($vars['title']) . "',
169 '" . addslasheslike($vars['displaytitle']) . "',
170 '" . addslasheslike($vars['opentag']) . "',
171 '" . addslasheslike($vars['closetag']) . "',
178 $admin->redirect('usergroup.php?do=modify');
181 // ###################################################################
183 if ($_POST['do'] == 'update')
185 sanitize(array('usergroupid' => INT, 'title' => STR
, 'displaytitle' => STR
, 'opentag' => STR
, 'closetag' => STR
));
187 foreach ($_POST['perm'] AS $permtitle => $binaryswitch)
189 $permissionvalue +
= $_PERMISSION["$permtitle"] * $binaryswitch;
193 UPDATE " . TABLE_PREFIX
. "usergroup
194 SET title = '" . addslasheslike($vars['title']) . "',
195 displaytitle = '" . addslasheslike($vars['displaytitle']) . "',
196 opentag = '" . addslasheslike(unhtmlspecialchars($vars['opentag'])) . "',
197 closetag = '" . addslasheslike(unhtmlspecialchars($vars['closetag'])) . "',
198 permissions = $permissionvalue
199 WHERE usergroupid = $vars[usergroupid]"
205 $admin->redirect('usergroup.php?do=modify');
208 // ###################################################################
210 if ($_REQUEST['do'] == 'modify')
212 $admin->page_start(phrase('usergroup_manager'));
214 $admin->form_start('usergroup.php', 'null');
215 $admin->table_start();
216 $admin->table_head(phrase('usergroup_manager'), 3);
218 $groups = $DB_sql->query("SELECT * FROM " . TABLE_PREFIX
. "usergroup ORDER BY usergroupid ASC");
219 while ($group = $DB_sql->fetch_array($groups))
221 $usergroups["$group[usergroupid]"] = $group;
223 $DB_sql->free_result($groups);
225 $groups = $DB_sql->query("
226 SELECT COUNT(user.userid) AS total, user.usergroupid
227 FROM " . TABLE_PREFIX
. "user AS user
228 LEFT JOIN " . TABLE_PREFIX
. "usergroup AS usergroup USING (usergroupid)
229 GROUP BY usergroup.usergroupid
230 ORDER BY usergroup.usergroupid"
232 while ($group = $DB_sql->fetch_array($groups))
234 $usergroups["$group[usergroupid]"]['total'] = $group['total'];
237 $admin->table_column_head(array(phrase('usergroup'), phrase('number_of_users'), phrase('action')));
238 foreach ($usergroups AS $group)
240 $admin->row_multi_item(array("<a href=\"usergroup.php?do=edit&usergroupid=$group[usergroupid]\">$group[title]</a>" => 'l', iff(!$group['total'], '-', $group['total']) => 'c', "<a href=\"usergroup.php?do=edit&usergroupid=$group[usergroupid]\">" . phrase('edit_wraplink') . "</a>" . iff($group['usergroupid'] > 6, "<a href=\"usergroup.php?do=delete&usergroupid=$group[usergroupid]\">" . phrase('delete_wraplink') . "</a>") => 'c'));
243 $admin->row_span('<input type="button" name="addug" value=" ' . phrase('add_new_usergroup') . ' " onclick="window.location = \'usergroup.php?do=add\';" />', 'tfoot', 'center', 3);
250 /*=====================================================================*\
251 || ###################################################################
254 || ###################################################################
255 \*=====================================================================*/