// ###################################################################
-if ($_REQUEST['do'] == 'add' OR $_REQUEST['do'] == 'edit')
+if ($_REQUEST['do'] == 'add' OR $_REQUEST['do'] == 'edit' OR $_REQUEST['do'] == 'clone')
{
- $add = (($_REQUEST['do'] == 'add') ? true : false);
- $edit = (($_REQUEST['do'] == 'edit') ? true : false);
+ $clone = ($_REQUEST['do'] == 'clone');
+ $add = ($_REQUEST['do'] == 'add' OR $clone);
+ $edit = !$add;
if ($edit)
{
$admin->form_start('usergroup.php', ($add ? 'insert' : 'update'));
- if ($edit)
+ if ($edit OR $clone)
{
$usergroup = new UsergroupAPI($bugsys);
$usergroup->set('usergroupid', $bugsys->in['usergroupid']);
$usergroup->set_condition();
$usergroup->fetch();
- $admin->form_hidden_field('usergroupid', $usergroup->objdata['usergroupid']);
+ if ($clone)
+ {
+ $admin->form_hidden_field('cloneid', $usergroup->objdata['usergroupid']);
+ }
+ else
+ {
+ $admin->form_hidden_field('usergroupid', $usergroup->objdata['usergroupid']);
+ }
}
else
{
// Details
$admin->table_start();
$admin->table_head(_('Usergroup Details'));
- $admin->row_input(_('Usergroup Title'), 'title', $bugsys->sanitize($usergroup->objdata['title']));
- $admin->row_input(_('Display Title<div><dfn>This is the title that others will be able to see when comments are posted.</dfn></div>'), 'displaytitle', $bugsys->sanitize($usergroup->objdata['displaytitle']));
+ $admin->row_input(_('Usergroup Title'), 'title', (($add AND $clone) ? '' : $bugsys->sanitize($usergroup->objdata['title'])));
+ $admin->row_input(_('Display Title<div><dfn>This is the title that others will be able to see when comments are posted.</dfn></div>'), 'displaytitle', (($add AND $clone) ? '' : $bugsys->sanitize($usergroup->objdata['displaytitle'])));
$admin->table_end();
// Permission
$admin->table_start();
$admin->table_head(_('Custom Field Permissions'));
- if ($edit)
+ if ($edit OR $clone)
{
$perms = $db->query("SELECT fieldid, mask FROM " . TABLE_PREFIX . "bugfieldpermission WHERE usergroupid = " . $usergroup->objdata['usergroupid']);
while ($perm = $db->fetch_array($perms))
);
}
+ // copy product permissions from cloning
+ if ($bugsys->input_clean('cloneid', TYPE_UINT))
+ {
+ $prodperms = $db->query("SELECT * FROM " . TABLE_PREFIX . "permission WHERE usergroupid = " . $bugsys->in['cloneid']);
+ while ($prod = $db->fetch_array($prodperms))
+ {
+ $db->query("INSERT INTO " . TABLE_PREFIX . "permission (usergroupid, productid, mask) VALUES (" . $usergroup->insertid . ", $prod[productid], $prod[mask])");
+ }
+ build_permissions();
+ }
+
$admin->redirect('usergroup.php?do=modify');
}
$admin->table_column_head(array(_('Usergroup'), _('Number of Users'), _('Action')));
foreach ($usergroups AS $group)
{
- $admin->row_multi_item(array("<a href=\"usergroup.php?do=edit&usergroupid=$group[usergroupid]\">$group[title]</a>" => 'l', ((!$group['total']) ? '-' : $group['total']) => 'c', "<a href=\"usergroup.php?do=edit&usergroupid=$group[usergroupid]\">[" . _('Edit') . "]</a>" . (($group['usergroupid'] > 6) ? " <a href=\"usergroup.php?do=delete&usergroupid=$group[usergroupid]\">[" . _('Delete') . "]</a>" : '') => 'c'));
+ $admin->row_multi_item(array(
+ "<a href=\"usergroup.php?do=edit&usergroupid=$group[usergroupid]\">$group[title]</a>" => 'l',
+ (!$group['total'] ? '-' : $group['total']) => 'c',
+
+ "<a href=\"usergroup.php?do=edit&usergroupid=$group[usergroupid]\">[" . _('Edit') . "]</a> " .
+ "<a href=\"usergroup.php?do=clone&usergroupid=$group[usergroupid]\">[" . _('Clone') . "]</a>" .
+ ($group['usergroupid'] > 6 ? " <a href=\"usergroup.php?do=delete&usergroupid=$group[usergroupid]\">[" . _('Delete') . "]</a>" : '') => 'c'
+ ));
}
$admin->table_end();
|| # $Id$
|| ###################################################################
\*=====================================================================*/
-?>
\ No newline at end of file
+?>