added "Turn Admin On" group
This commit is contained in:
parent
b1b5ebf17f
commit
685d2d9315
7 changed files with 24 additions and 19 deletions
|
|
@ -57,5 +57,8 @@ webgui.
|
|||
- The everyone and registered users group are no longer magic in that there
|
||||
are physical linkages between them and users. The magic was getting too
|
||||
hard to maintain and users were confused by it.
|
||||
|
||||
- Added a "Turn Admin On" group to determine who can enable or disable admin
|
||||
mode.
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -350,6 +350,14 @@ alter table groups add column showInForms int not null default 1;
|
|||
update groups set isEditable=0 where groupId in (1,2,7);
|
||||
insert into groupings (groupId,userId) select userId, 7 from users;
|
||||
insert into groupings (groupId,userId) select userId, 2 from users where userId<>1;
|
||||
insert into groups (groupId,groupName,description,showInForms) values (5,'Turn Admin On','These users can enable admin mode.',0);
|
||||
insert into groupGroupings (groupId, inGroup) values (3,5);
|
||||
insert into groupGroupings (groupId, inGroup) values (4,5);
|
||||
insert into groupGroupings (groupId, inGroup) values (6,5);
|
||||
insert into groupGroupings (groupId, inGroup) values (8,5);
|
||||
insert into groupGroupings (groupId, inGroup) values (9,5);
|
||||
insert into groupGroupings (groupId, inGroup) values (10,5);
|
||||
insert into groupGroupings (groupId, inGroup) values (11,5);
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ use WebGUI::URL;
|
|||
#-------------------------------------------------------------------
|
||||
sub process {
|
||||
my ($temp, @param, $turnOn, $turnOff);
|
||||
if (WebGUI::Privilege::isInGroup(4)) {
|
||||
if (WebGUI::Privilege::isInGroup(5)) {
|
||||
@param = WebGUI::Macro::getParams($_[0]);
|
||||
if ($session{var}{adminOn}) {
|
||||
$turnOff = $param[1] || WebGUI::International::get(517);
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ use WebGUI::URL;
|
|||
#-------------------------------------------------------------------
|
||||
sub process {
|
||||
my ($temp, @param, $turnOn, $turnOff);
|
||||
if (WebGUI::Privilege::canEditPage()) {
|
||||
if (WebGUI::Privilege::canEditPage() && WebGUI::Privilege::isInGroup(5)) {
|
||||
@param = WebGUI::Macro::getParams($_[0]);
|
||||
if ($session{var}{adminOn}) {
|
||||
$turnOff = $param[1] || WebGUI::International::get(517);
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ our @EXPORT = qw(&www_viewMessageLogMessage &www_viewThreadSubscriptions &www_vi
|
|||
sub _accountOptions {
|
||||
my ($output);
|
||||
$output = '<div class="accountOptions"><ul>';
|
||||
if (WebGUI::Privilege::isInGroup(4) || WebGUI::Privilege::isInGroup(5) || WebGUI::Privilege::isInGroup(6) || WebGUI::Privilege::isInGroup(8) || WebGUI::Privilege::isInGroup(9) || WebGUI::Privilege::isInGroup(10) || WebGUI::Privilege::isInGroup(11)) {
|
||||
if (WebGUI::Privilege::isInGroup(5)) {
|
||||
if ($session{var}{adminOn}) {
|
||||
$output .= '<li><a href="'.WebGUI::URL::page('op=switchOffAdmin').'">'.
|
||||
WebGUI::International::get(12).'</a>';
|
||||
|
|
|
|||
|
|
@ -21,24 +21,18 @@ our @EXPORT = qw(&www_switchOffAdmin &www_switchOnAdmin);
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_switchOffAdmin {
|
||||
if ($session{var}{sessionId}) {
|
||||
WebGUI::SQL->write("update userSession set adminOn=0 where sessionId='$session{var}{sessionId}'");
|
||||
WebGUI::Session::refreshSessionVars($session{var}{sessionId});
|
||||
return "";
|
||||
} else {
|
||||
return WebGUI::Privilege::insufficient();
|
||||
}
|
||||
return "" unless (WebGUI::Privilege::isInGroup(5));
|
||||
WebGUI::SQL->write("update userSession set adminOn=0 where sessionId='$session{var}{sessionId}'");
|
||||
WebGUI::Session::refreshSessionVars($session{var}{sessionId});
|
||||
return "";
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_switchOnAdmin {
|
||||
if ($session{var}{sessionId}) {
|
||||
WebGUI::SQL->write("update userSession set adminOn=1 where sessionId='$session{var}{sessionId}'");
|
||||
WebGUI::Session::refreshSessionVars($session{var}{sessionId});
|
||||
return "";
|
||||
} else {
|
||||
return WebGUI::Privilege::insufficient();
|
||||
}
|
||||
return "" unless (WebGUI::Privilege::isInGroup(5));
|
||||
WebGUI::SQL->write("update userSession set adminOn=1 where sessionId='$session{var}{sessionId}'");
|
||||
WebGUI::Session::refreshSessionVars($session{var}{sessionId});
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ our @EXPORT = qw(&menuWrapper);
|
|||
#-------------------------------------------------------------------
|
||||
sub accountOptions {
|
||||
my @array;
|
||||
if (WebGUI::Privilege::isInGroup(4) || WebGUI::Privilege::isInGroup(5) || WebGUI::Privilege::isInGroup(6) || WebGUI::Privilege::isInGroup(8) || WebGUI::Privilege::isInGroup(9) || WebGUI::Privilege::isInGroup(10) || WebGUI::Privilege::isInGroup(11)) {
|
||||
if (WebGUI::Privilege::isInGroup(5)) {
|
||||
my %hash;
|
||||
if ($session{var}{adminOn}) {
|
||||
$hash{'options.display'} .= '<a href="'.WebGUI::URL::page('op=switchOffAdmin').'">'.WebGUI::International::get(12).'</a>';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue