added "Turn Admin On" group

This commit is contained in:
JT Smith 2004-02-04 19:54:03 +00:00
parent b1b5ebf17f
commit 685d2d9315
7 changed files with 24 additions and 19 deletions

View file

@ -57,5 +57,8 @@ webgui.
- The everyone and registered users group are no longer magic in that there - 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 are physical linkages between them and users. The magic was getting too
hard to maintain and users were confused by it. hard to maintain and users were confused by it.
- Added a "Turn Admin On" group to determine who can enable or disable admin
mode.

View file

@ -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); 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, 7 from users;
insert into groupings (groupId,userId) select userId, 2 from users where userId<>1; 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);

View file

@ -19,7 +19,7 @@ use WebGUI::URL;
#------------------------------------------------------------------- #-------------------------------------------------------------------
sub process { sub process {
my ($temp, @param, $turnOn, $turnOff); my ($temp, @param, $turnOn, $turnOff);
if (WebGUI::Privilege::isInGroup(4)) { if (WebGUI::Privilege::isInGroup(5)) {
@param = WebGUI::Macro::getParams($_[0]); @param = WebGUI::Macro::getParams($_[0]);
if ($session{var}{adminOn}) { if ($session{var}{adminOn}) {
$turnOff = $param[1] || WebGUI::International::get(517); $turnOff = $param[1] || WebGUI::International::get(517);

View file

@ -20,7 +20,7 @@ use WebGUI::URL;
#------------------------------------------------------------------- #-------------------------------------------------------------------
sub process { sub process {
my ($temp, @param, $turnOn, $turnOff); my ($temp, @param, $turnOn, $turnOff);
if (WebGUI::Privilege::canEditPage()) { if (WebGUI::Privilege::canEditPage() && WebGUI::Privilege::isInGroup(5)) {
@param = WebGUI::Macro::getParams($_[0]); @param = WebGUI::Macro::getParams($_[0]);
if ($session{var}{adminOn}) { if ($session{var}{adminOn}) {
$turnOff = $param[1] || WebGUI::International::get(517); $turnOff = $param[1] || WebGUI::International::get(517);

View file

@ -37,7 +37,7 @@ our @EXPORT = qw(&www_viewMessageLogMessage &www_viewThreadSubscriptions &www_vi
sub _accountOptions { sub _accountOptions {
my ($output); my ($output);
$output = '<div class="accountOptions"><ul>'; $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}) { if ($session{var}{adminOn}) {
$output .= '<li><a href="'.WebGUI::URL::page('op=switchOffAdmin').'">'. $output .= '<li><a href="'.WebGUI::URL::page('op=switchOffAdmin').'">'.
WebGUI::International::get(12).'</a>'; WebGUI::International::get(12).'</a>';

View file

@ -21,24 +21,18 @@ our @EXPORT = qw(&www_switchOffAdmin &www_switchOnAdmin);
#------------------------------------------------------------------- #-------------------------------------------------------------------
sub www_switchOffAdmin { sub www_switchOffAdmin {
if ($session{var}{sessionId}) { return "" unless (WebGUI::Privilege::isInGroup(5));
WebGUI::SQL->write("update userSession set adminOn=0 where sessionId='$session{var}{sessionId}'"); WebGUI::SQL->write("update userSession set adminOn=0 where sessionId='$session{var}{sessionId}'");
WebGUI::Session::refreshSessionVars($session{var}{sessionId}); WebGUI::Session::refreshSessionVars($session{var}{sessionId});
return ""; return "";
} else {
return WebGUI::Privilege::insufficient();
}
} }
#------------------------------------------------------------------- #-------------------------------------------------------------------
sub www_switchOnAdmin { sub www_switchOnAdmin {
if ($session{var}{sessionId}) { return "" unless (WebGUI::Privilege::isInGroup(5));
WebGUI::SQL->write("update userSession set adminOn=1 where sessionId='$session{var}{sessionId}'"); WebGUI::SQL->write("update userSession set adminOn=1 where sessionId='$session{var}{sessionId}'");
WebGUI::Session::refreshSessionVars($session{var}{sessionId}); WebGUI::Session::refreshSessionVars($session{var}{sessionId});
return ""; return "";
} else {
return WebGUI::Privilege::insufficient();
}
} }

View file

@ -23,7 +23,7 @@ our @EXPORT = qw(&menuWrapper);
#------------------------------------------------------------------- #-------------------------------------------------------------------
sub accountOptions { sub accountOptions {
my @array; 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; my %hash;
if ($session{var}{adminOn}) { if ($session{var}{adminOn}) {
$hash{'options.display'} .= '<a href="'.WebGUI::URL::page('op=switchOffAdmin').'">'.WebGUI::International::get(12).'</a>'; $hash{'options.display'} .= '<a href="'.WebGUI::URL::page('op=switchOffAdmin').'">'.WebGUI::International::get(12).'</a>';