delete;
return www_listDatabaseLinks();
}
@@ -73,7 +73,7 @@ sub www_deleteDatabaseLinkConfirm {
#-------------------------------------------------------------------
sub www_editDatabaseLink {
my $session = shift;
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(3));
my ($output, %db, $f);
tie %db, 'Tie::CPHash';
if ($session->form->process("dlid") eq "new") {
@@ -129,7 +129,7 @@ sub www_editDatabaseLink {
#-------------------------------------------------------------------
sub www_editDatabaseLinkSave {
my $session = shift;
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(3));
my $params = {
title=>$session->form->process("title"),
username=>$session->form->process("dbusername"),
@@ -147,7 +147,7 @@ sub www_editDatabaseLinkSave {
#-------------------------------------------------------------------
sub www_listDatabaseLinks {
my $session = shift;
- return $session->privilege->adminOnly() unless(WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless($session->user->isInGroup(3));
my $links = WebGUI::DatabaseLinks->getList($session);
my $output = '';
foreach my $id (keys %{$links}) {
diff --git a/lib/WebGUI/Operation/Group.pm b/lib/WebGUI/Operation/Group.pm
index bb30ff842..9fe3f25d8 100644
--- a/lib/WebGUI/Operation/Group.pm
+++ b/lib/WebGUI/Operation/Group.pm
@@ -33,8 +33,8 @@ use WebGUI::Utility;
#-------------------------------------------------------------------
sub _hasSecondaryPrivilege {
my $session = shift;
- return 0 unless (WebGUI::Grouping::isInGroup(11));
- return WebGUI::Grouping::userGroupAdmin($session->user->profileField("userId"),$_[0]);
+ return 0 unless ($session->user->isInGroup(11));
+ return $group->userIsAdmin($session->user->profileField("userId"),$_[0]);
}
@@ -49,10 +49,10 @@ sub _submenu {
if ($help) {
$ac->setHelp($help);
}
- if (WebGUI::Grouping::isInGroup(3)) {
+ if ($session->user->isInGroup(3)) {
$ac->addSubmenuItem($session->url->page('op=editGroup;gid=new'), WebGUI::International::get(90));
}
- if (WebGUI::Grouping::isInGroup(11)) {
+ if ($session->user->isInGroup(11)) {
unless ($session->form->process("op") eq "listGroups"
|| $session->form->process("gid") eq "new"
|| $session->form->process("op") eq "deleteGroupConfirm") {
@@ -162,18 +162,18 @@ sub walkGroups {
#-------------------------------------------------------------------
sub www_addGroupsToGroupSave {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
my @groups = $session->form->group('groups');
- WebGUI::Grouping::addGroupsToGroups(\@groups,[$session->form->process("gid")]);
+ $group->addGroups(\@groups,[$session->form->process("gid")]);
return www_manageGroupsInGroup();
}
#-------------------------------------------------------------------
sub www_addUsersToGroupSave {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
my @users = $session->form->selectList('users');
- WebGUI::Grouping::addUsersToGroups(\@users,[$session->form->process("gid")]);
+ $group->addUsers(\@users,[$session->form->process("gid")]);
return www_manageUsersInGroup();
}
@@ -183,7 +183,7 @@ sub www_autoAddToGroup {
return WebGUI::AdminConsole->new($session,"groups")->render($session->privilege->insufficient()) unless ($session->user->profileField("userId") ne 1);
my $group = WebGUI::Group->new($session->form->process("groupId"));
if ($group->autoAdd) {
- WebGUI::Grouping::addUsersToGroups([$session->user->profileField("userId")],[$session->form->process("groupId")]);
+ $group->addUsers([$session->user->profileField("userId")],[$session->form->process("groupId")]);
}
return "";
}
@@ -194,7 +194,7 @@ sub www_autoDeleteFromGroup {
return WebGUI::AdminConsole->new($session,"groups")->render($session->privilege->insufficient()) unless ($session->user->profileField("userId") ne 1);
my $group = WebGUI::Group->new($session->form->process("groupId"));
if ($group->autoDelete) {
- WebGUI::Grouping::deleteUsersFromGroups([$session->user->profileField("userId")],[$session->form->process("groupId")]);
+ $group->deleteUsers([$session->user->profileField("userId")],[$session->form->process("groupId")]);
}
return "";
}
@@ -202,7 +202,7 @@ sub www_autoDeleteFromGroup {
#-------------------------------------------------------------------
sub www_deleteGroup {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
return $session->privilege->vitalComponent() if (isIn($session->form->process("gid"), qw(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17)));
my ($output);
$output .= WebGUI::International::get(86).'';
@@ -216,7 +216,7 @@ sub www_deleteGroup {
#-------------------------------------------------------------------
sub www_deleteGroupConfirm {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
return $session->privilege->vitalComponent() if (isIn($session->form->process("gid"), qw(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17)));
my $g = WebGUI::Group->new($session->form->process("gid"));
$g->delete;
@@ -226,8 +226,8 @@ sub www_deleteGroupConfirm {
#-------------------------------------------------------------------
sub www_deleteGroupGrouping {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup('3') || _hasSecondaryPrivilege($session->form->process("gid")));
- WebGUI::Grouping::deleteGroupsFromGroups([$session->form->process("delete")],[$session->form->process("gid")]);
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup('3') || _hasSecondaryPrivilege($session->form->process("gid")));
+ $group->deleteGroups([$session->form->process("delete")],[$session->form->process("gid")]);
return www_manageGroupsInGroup();
}
@@ -244,7 +244,7 @@ perform this operation, and the
sub www_deleteGrouping {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
if (($session->user->profileField("userId") eq $session->form->process("uid") || $session->form->process("uid") eq '3') && $session->form->process("gid") eq '3') {
return $session->privilege->vitalComponent();
}
@@ -261,7 +261,7 @@ sub www_deleteGrouping {
#-------------------------------------------------------------------
sub www_editGroup {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
my ($output, $f, $g);
if ($session->form->process("gid") eq "new") {
$g = WebGUI::Group->new("");
@@ -279,7 +279,7 @@ sub www_editGroup {
);
$f->readOnly(
-label => WebGUI::International::get(379),
- -value => $g->groupId,
+ -value => $g->getId,
);
$f->text(
-name => "groupName",
@@ -408,7 +408,7 @@ sub www_editGroup {
#-------------------------------------------------------------------
sub www_editGroupSave {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
my $g = WebGUI::Group->new($session->form->process("gid"));
$g->description($session->form->process("description"));
$g->name($session->form->process("groupName"));
@@ -434,7 +434,7 @@ sub www_editGroupSave {
#-------------------------------------------------------------------
sub www_editGrouping {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
my $f = WebGUI::HTMLForm->new;
$f->hidden(
-name => "op",
@@ -464,13 +464,13 @@ sub www_editGrouping {
-name => "expireDate",
-label => WebGUI::International::get(369),
-hoverHelp => WebGUI::International::get('369 description'),
- -value => WebGUI::Grouping::userGroupExpireDate($session->form->process("uid"),$session->form->process("gid")),
+ -value => $group->userGroupExpireDate($session->form->process("uid"),$session->form->process("gid")),
);
$f->yesNo(
-name=>"groupAdmin",
-label=>WebGUI::International::get(977),
-hoverHelp=>WebGUI::International::get('977 description'),
- -value=>WebGUI::Grouping::userGroupAdmin($session->form->process("uid"),$session->form->process("gid"))
+ -value=>$group->userIsAdmin($session->form->process("uid"),$session->form->process("gid"))
);
$f->submit;
return _submenu($f->print,'370','grouping edit');
@@ -479,16 +479,16 @@ sub www_editGrouping {
#-------------------------------------------------------------------
sub www_editGroupingSave {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
- WebGUI::Grouping::userGroupExpireDate($session->form->process("uid"),$session->form->process("gid")$session->datetime->setToEpoch($session->form->process("expireDate")));
- WebGUI::Grouping::userGroupAdmin($session->form->process("uid"),$session->form->process("gid"),$session->form->process("groupAdmin"));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
+ $group->userGroupExpireDate($session->form->process("uid"),$session->form->process("gid")$session->datetime->setToEpoch($session->form->process("expireDate")));
+ $group->userIsAdmin($session->form->process("uid"),$session->form->process("gid"),$session->form->process("groupAdmin"));
return www_manageUsersInGroup();
}
#-------------------------------------------------------------------
sub www_emailGroup {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
my ($output,$f);
$f = WebGUI::HTMLForm->new;
$f->hidden(
@@ -524,7 +524,7 @@ sub www_emailGroup {
#-------------------------------------------------------------------
sub www_emailGroupSend {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
my ($sth, $email);
$sth = $session->db->read("select b.fieldData from groupings a left join userProfileData b
on a.userId=b.userId and b.fieldName='email' where a.groupId=".$session->db->quote($session->form->process("gid")));
@@ -540,7 +540,7 @@ sub www_emailGroupSend {
#-------------------------------------------------------------------
sub www_listGroups {
my $session = shift;
- if (WebGUI::Grouping::isInGroup(3)) {
+ if ($session->user->isInGroup(3)) {
my $output = getGroupSearchForm("listGroups");
my ($groupCount) = $session->db->quickArray("select count(*) from groups where isEditable=1");
return _submenu($output) unless ($session->form->process("doit") || $groupCount<250 || $session->form->process("pn") > 1);
@@ -562,7 +562,7 @@ sub www_listGroups {
$output .= '
';
$output .= $p->getBarTraditional;
return _submenu($output,'',"groups manage");
- } elsif (WebGUI::Grouping::isInGroup(11)) {
+ } elsif ($session->user->isInGroup(11)) {
my ($output, $p, $sth, @data, @row, $i, $userCount);
my @editableGroups = $session->db->buildArray("select groupId from groupings where userId=".$session->db->quote($session->user->profileField("userId"))." and groupAdmin=1");
push (@editableGroups,0);
@@ -597,7 +597,7 @@ sub www_listGroups {
#-------------------------------------------------------------------
sub www_manageGroupsInGroup {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
my $f = WebGUI::HTMLForm->new;
$f->hidden(
-name => "op",
@@ -608,8 +608,8 @@ sub www_manageGroupsInGroup {
-value => $session->form->process("gid")
);
my @groups;
- my $groupsIn = WebGUI::Grouping::getGroupsInGroup($session->form->process("gid"),1);
- my $groupsFor = WebGUI::Grouping::getGroupsForGroup($session->form->process("gid"));
+ my $groupsIn = $group->getGroupsIn($session->form->process("gid"),1);
+ my $groupsFor = $group->getGroupsFor($session->form->process("gid"));
push(@groups, @$groupsIn,@$groupsFor,$session->form->process("gid"));
$f->group(
-name=>"groups",
@@ -628,7 +628,7 @@ sub www_manageGroupsInGroup {
#-------------------------------------------------------------------
sub www_manageUsersInGroup {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
my $output = WebGUI::Form::formHeader($session,)
.WebGUI::Form::hidden({
name=>"gid",
@@ -673,7 +673,7 @@ sub www_manageUsersInGroup {
-name => "op",
-value => "addUsersToGroupSave"
);
- my $existingUsers = WebGUI::Grouping::getUsersInGroup($session->form->process("gid"));
+ my $existingUsers = $group->getUsers($session->form->process("gid"));
push(@{$existingUsers},"1");
my %users;
tie %users, "Tie::IxHash";
diff --git a/lib/WebGUI/Operation/Help.pm b/lib/WebGUI/Operation/Help.pm
index 9103143d4..cc6b0c779 100644
--- a/lib/WebGUI/Operation/Help.pm
+++ b/lib/WebGUI/Operation/Help.pm
@@ -99,7 +99,7 @@ sub _getHelpName {
#-------------------------------------------------------------------
sub www_viewHelp {
my $session = shift;
- return $session->privilege->insufficient() unless (WebGUI::Grouping::isInGroup(7));
+ return $session->privilege->insufficient() unless ($session->user->isInGroup(7));
my $ac = WebGUI::AdminConsole->new($session,"help");
my $namespace = $session->form->process("namespace") || "WebGUI";
my $i18n = WebGUI::International->new($namespace);
@@ -128,7 +128,7 @@ sub www_viewHelp {
#-------------------------------------------------------------------
sub www_viewHelpIndex {
my $session = shift;
- return $session->privilege->insufficient() unless (WebGUI::Grouping::isInGroup(7));
+ return $session->privilege->insufficient() unless ($session->user->isInGroup(7));
my @helpIndex;
my $i;
my @files = _getHelpFilesList();
@@ -162,7 +162,7 @@ sub www_viewHelpIndex {
#-------------------------------------------------------------------
sub www_viewHelpTOC {
my $session = shift;
- return $session->privilege->insufficient() unless (WebGUI::Grouping::isInGroup(7));
+ return $session->privilege->insufficient() unless ($session->user->isInGroup(7));
my @helpIndex;
my $i;
my @files = _getHelpFilesList();
@@ -192,7 +192,7 @@ sub www_viewHelpTOC {
#-------------------------------------------------------------------
sub www_viewHelpChapter {
my $session = shift;
- return $session->privilege->insufficient() unless (WebGUI::Grouping::isInGroup(7));
+ return $session->privilege->insufficient() unless ($session->user->isInGroup(7));
my $namespace = $session->form->process("namespace");
my $help = _load($namespace);
my @entries = sort keys %{ $help };
diff --git a/lib/WebGUI/Operation/LDAPLink.pm b/lib/WebGUI/Operation/LDAPLink.pm
index 8bbb500dd..9bbefbb58 100644
--- a/lib/WebGUI/Operation/LDAPLink.pm
+++ b/lib/WebGUI/Operation/LDAPLink.pm
@@ -52,7 +52,7 @@ sub _submenu {
#-------------------------------------------------------------------
sub www_copyLDAPLink {
my $session = shift;
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(3));
my (%db);
tie %db, 'Tie::CPHash';
%db = $session->db->quickHash("select * from ldapLink where ldapLinkId=".$session->db->quote($session->form->process("llid")));
@@ -67,7 +67,7 @@ sub www_copyLDAPLink {
#-------------------------------------------------------------------
sub www_deleteLDAPLink {
my $session = shift;
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(3));
$session->db->write("delete from ldapLink where ldapLinkId=".$session->db->quote($session->form->process("llid")));
$session->form->process("op") = "listLDAPLinks";
return www_listLDAPLinks();
@@ -76,7 +76,7 @@ sub www_deleteLDAPLink {
#-------------------------------------------------------------------
sub www_editLDAPLink {
my $session = shift;
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(3));
my ($output, %db, $f);
tie %db, 'Tie::CPHash';
%db = $session->db->quickHash("select * from ldapLink where ldapLinkId=".$session->db->quote($session->form->process("llid")));
@@ -188,7 +188,7 @@ sub www_editLDAPLink {
#-------------------------------------------------------------------
sub www_editLDAPLinkSave {
my $session = shift;
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(3));
my $properties = {};
$properties->{ldapLinkId} = $session->form->process("llid");
$properties->{ldapLinkName} = $session->form->process("ldapLinkName");
@@ -214,7 +214,7 @@ sub www_editLDAPLinkSave {
#-------------------------------------------------------------------
sub www_listLDAPLinks {
my $session = shift;
- return $session->privilege->adminOnly() unless(WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless($session->user->isInGroup(3));
my ($output, $p, $sth, $data, @row, $i);
my $returnUrl = "";
if($session->form->process("returnUrl")) {
diff --git a/lib/WebGUI/Operation/LoginHistory.pm b/lib/WebGUI/Operation/LoginHistory.pm
index ccc1a3754..516c0c91c 100644
--- a/lib/WebGUI/Operation/LoginHistory.pm
+++ b/lib/WebGUI/Operation/LoginHistory.pm
@@ -39,7 +39,7 @@ they used.
sub www_viewLoginHistory {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my ($output, $p, @row, $i, $sth, %data);
tie %data, 'Tie::CPHash';
$sth = $session->db->read("select * from users,userLoginLog where users.userId=userLoginLog.userId order by userLoginLog.timeStamp desc");
diff --git a/lib/WebGUI/Operation/MessageLog.pm b/lib/WebGUI/Operation/MessageLog.pm
index b8bc15944..08bc12d91 100644
--- a/lib/WebGUI/Operation/MessageLog.pm
+++ b/lib/WebGUI/Operation/MessageLog.pm
@@ -59,7 +59,7 @@ Templated display all messages for the current user.
sub www_viewMessageLog {
my $session = shift;
my (@msg, $vars);
- return $session->privilege->insufficient() unless (WebGUI::Grouping::isInGroup(2,$session->user->profileField("userId")));
+ return $session->privilege->insufficient() unless ($session->user->isInGroup(2,$session->user->profileField("userId")));
$vars->{displayTitle} = '
'.WebGUI::International::get(159).'
';
my $p = WebGUI::Paginator->new($session->url->page('op=viewMessageLog'));
my $query = "select messageLogId,subject,url,dateOfEntry,status from messageLog where userId=".$session->db->quote($session->user->profileField("userId"))." order by dateOfEntry desc";
@@ -104,7 +104,7 @@ Templated display of a single message for the user.
sub www_viewMessageLogMessage {
my $session = shift;
my ($data, $vars);
- return $session->privilege->insufficient() unless (WebGUI::Grouping::isInGroup(2,$session->user->profileField("userId")));
+ return $session->privilege->insufficient() unless ($session->user->isInGroup(2,$session->user->profileField("userId")));
$vars->{displayTitle} = '
'.WebGUI::International::get(159).'
';
$data = $session->db->quickHashRef("select * from messageLog where messageLogId=".$session->db->quote($session->form->process("mlog"))." and userId=".$session->db->quote($session->user->profileField("userId")));
diff --git a/lib/WebGUI/Operation/ProductManager.pm b/lib/WebGUI/Operation/ProductManager.pm
index 619cf8cba..70d3a65ba 100755
--- a/lib/WebGUI/Operation/ProductManager.pm
+++ b/lib/WebGUI/Operation/ProductManager.pm
@@ -45,7 +45,7 @@ sub www_deleteProductParameterOption {
my $session = shift;
my $optionId = $session->form->process("optionId");
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
WebGUI::Product->getByOptionId($optionId)->deleteOption($optionId);
@@ -57,7 +57,7 @@ sub www_deleteProductParameter {
my $session = shift;
my $parameterId = $session->form->process("parameterId");
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
WebGUI::Product->getByParameterId($parameterId)->deleteParameter($parameterId);
@@ -69,7 +69,7 @@ sub www_deleteProduct {
my $session = shift;
my $productId = $session->form->process("productId");
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
WebGUI::Product->new($productId)->delete;
@@ -81,7 +81,7 @@ sub www_editProduct {
my $session = shift;
my ($productId, $product, $f, $i18n);
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
$i18n = WebGUI::International->new('ProductManager');
$productId = $session->form->process("productId");
@@ -157,7 +157,7 @@ sub www_editProductSave {
my $session = shift;
my ($self, @error, $productId, $product, $i18n);
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
$i18n = WebGUI::International->new('ProductManager');
@@ -189,7 +189,7 @@ sub www_editProductParameter {
my $session = shift;
my ($parameterId, $product, $productId, $parameter, $f, $i18n);
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
$i18n = WebGUI::International->new('ProductManager');
@@ -236,7 +236,7 @@ sub www_editProductParameterSave {
my $session = shift;
my (@error, $parameterId, $product, $i18n, $skuTemplate, $oldName, $newName);
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
$i18n = WebGUI::International->new('ProductManager');
@@ -275,7 +275,7 @@ sub www_editProductParameterOption {
my $session = shift;
my ($self, $optionId, $option, $f, $i18n);
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
$i18n = WebGUI::International->new('ProductManager');
@@ -339,7 +339,7 @@ sub www_editProductParameterOptionSave {
my $session = shift;
my ($self, @error, $optionId, $product, $i18n);
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
$i18n = WebGUI::International->new('ProductManager');
@@ -366,7 +366,7 @@ sub www_editProductVariant {
my $session = shift;
my ($variantId, $variant, $f, $i18n);
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
$i18n = WebGUI::International->new("ProductManager");
@@ -420,7 +420,7 @@ sub www_editProductVariantSave {
my $session = shift;
my $variantId = $session->form->process("variantId");
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
WebGUI::Product->getByVariantId($variantId)->setVariant($variantId, $session{form});
@@ -432,7 +432,7 @@ sub www_editSkuTemplate {
my $session = shift;
my ($product, $productId, $output, $f, $name, $i18n);
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
$i18n = WebGUI::International->new("ProductManager");
@@ -472,7 +472,7 @@ sub www_editSkuTemplateSave {
my $session = shift;
my ($productId) = $session->form->process("productId");
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
WebGUI::Product->new($productId)->set({
skuTemplate => $session->form->process("skuTemplate"),
@@ -486,7 +486,7 @@ sub www_listProducts {
my $session = shift;
my ($self, $sth, $output, $row, $i18n);
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
$i18n = WebGUI::International->new('ProductManager');
@@ -514,7 +514,7 @@ sub www_listProductVariants {
my $session = shift;
my ($productId, $product, @variants, %parameters, %options, $output, %composition, $i18n);
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
$i18n = WebGUI::International->new("ProductManager");
@@ -576,7 +576,7 @@ sub www_listProductVariants {
sub www_listProductVariantsSave {
my $session = shift;
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
my %availableVariants = map {$_ => 1} $session->form->selectList('available');
@@ -596,7 +596,7 @@ sub www_manageProduct {
my $session = shift;
my ($productId, $product, $output, $parameter, $option, $optionId, $i18n);
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(14));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(14));
$i18n = WebGUI::International->new("ProductManager");
diff --git a/lib/WebGUI/Operation/Profile.pm b/lib/WebGUI/Operation/Profile.pm
index 898d1b740..f90b3bb35 100644
--- a/lib/WebGUI/Operation/Profile.pm
+++ b/lib/WebGUI/Operation/Profile.pm
@@ -159,8 +159,8 @@ sub www_viewProfile {
return $session->privilege->notMember() if($u->username eq "");
- return $session->style->userStyle($vars->{displayTitle}.WebGUI::International::get(862)) if($u->profileField("publicProfile") < 1 && ($session->user->profileField("userId") ne $session->form->process("uid") || WebGUI::Grouping::isInGroup(3)));
- return $session->privilege->insufficient() if(!WebGUI::Grouping::isInGroup(2));
+ return $session->style->userStyle($vars->{displayTitle}.WebGUI::International::get(862)) if($u->profileField("publicProfile") < 1 && ($session->user->profileField("userId") ne $session->form->process("uid") || $session->user->isInGroup(3)));
+ return $session->privilege->insufficient() if(!$session->user->isInGroup(2));
my @array = ();
foreach my $category (@{WebGUI::ProfileCategory->getCategories}) {
diff --git a/lib/WebGUI/Operation/ProfileSettings.pm b/lib/WebGUI/Operation/ProfileSettings.pm
index d0bbcddf0..0af5a60bc 100644
--- a/lib/WebGUI/Operation/ProfileSettings.pm
+++ b/lib/WebGUI/Operation/ProfileSettings.pm
@@ -52,7 +52,7 @@ sub _submenu {
#-------------------------------------------------------------------
sub www_deleteProfileCategoryConfirm {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my $category = WebGUI::ProfileCategory->new($session->form->process("cid"));
return WebGUI::AdminConsole->new($session,"userProfiling")->render($session->privilege->vitalComponent()) if ($category->isProtected);
$category->delete;
@@ -62,7 +62,7 @@ sub www_deleteProfileCategoryConfirm {
#-------------------------------------------------------------------
sub www_deleteProfileFieldConfirm {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my $field = WebGUI::ProfileField->new($session->form->process("fid"));
return WebGUI::AdminConsole->new($session,"userProfiling")->render($session->privilege->vitalComponent()) if ($field->isProtected);
$field->delete;
@@ -72,7 +72,7 @@ sub www_deleteProfileFieldConfirm {
#-------------------------------------------------------------------
sub www_editProfileCategory {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my $data = {};
my $f = WebGUI::HTMLForm->new;
$f->hidden(
@@ -120,7 +120,7 @@ sub www_editProfileCategory {
#-------------------------------------------------------------------
sub www_editProfileCategorySave {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my %data = (
label=>$session->form->text("label"),
visible=>$session->form->yesNo("visible"),
@@ -138,7 +138,7 @@ sub www_editProfileCategorySave {
#-------------------------------------------------------------------
sub www_editProfileField {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my $f = WebGUI::HTMLForm->new;
$f->hidden(
-name => "op",
@@ -239,7 +239,7 @@ sub www_editProfileField {
#-------------------------------------------------------------------
sub www_editProfileFieldSave {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my %data = (
label=>$session->form->text("label"),
editable=>$session->form->yesNo("editable"),
@@ -264,7 +264,7 @@ sub www_editProfileFieldSave {
#-------------------------------------------------------------------
sub www_editProfileSettings {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my $output = "";
foreach my $category (@{WebGUI::ProfileCategory->getCategories}) {
$output .= deleteIcon('op=deleteProfileCategoryConfirm;cid='.$category->getId,'',WebGUI::International::get(466,"WebGUIProfile"));
@@ -288,7 +288,7 @@ sub www_editProfileSettings {
#-------------------------------------------------------------------
sub www_moveProfileCategoryDown {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
WebGUI::ProfileCategory->new($session->form->process("cid"))->moveDown;
return www_editProfileSettings();
}
@@ -296,7 +296,7 @@ sub www_moveProfileCategoryDown {
#-------------------------------------------------------------------
sub www_moveProfileCategoryUp {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
WebGUI::ProfileCategory->new($session->form->process("cid"))->moveUp;
return www_editProfileSettings();
}
@@ -304,7 +304,7 @@ sub www_moveProfileCategoryUp {
#-------------------------------------------------------------------
sub www_moveProfileFieldDown {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
WebGUI::ProfileField->new($session->form->process("fid"))->moveDown;
return www_editProfileSettings();
}
@@ -312,7 +312,7 @@ sub www_moveProfileFieldDown {
#-------------------------------------------------------------------
sub www_moveProfileFieldUp {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
WebGUI::ProfileField->new($session->form->process("fid"))->moveUp;
return www_editProfileSettings();
}
diff --git a/lib/WebGUI/Operation/Replacements.pm b/lib/WebGUI/Operation/Replacements.pm
index d86c349be..50c1549c0 100644
--- a/lib/WebGUI/Operation/Replacements.pm
+++ b/lib/WebGUI/Operation/Replacements.pm
@@ -40,7 +40,7 @@ sub _submenu {
#-------------------------------------------------------------------
sub www_deleteReplacement {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
$session->db->write("delete from replacements where replacementId=".$session->db->quote($session->form->process("replacementId")));
return www_listReplacements();
}
@@ -48,7 +48,7 @@ sub www_deleteReplacement {
#-------------------------------------------------------------------
sub www_editReplacement {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my $data = $session->db->getRow("replacements","replacementId",$session->form->process("replacementId"));
my $f = WebGUI::HTMLForm->new;
$f->hidden(
@@ -82,7 +82,7 @@ sub www_editReplacement {
#-------------------------------------------------------------------
sub www_editReplacementSave {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
$session->db->setRow("replacements","replacementId",{
replacementId=>$session->form->process("replacementId"),
searchFor=>$session->form->process("searchFor"),
@@ -94,7 +94,7 @@ sub www_editReplacementSave {
#-------------------------------------------------------------------
sub www_listReplacements {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my $output = '
';
$output .= ' |
';
my $sth = $session->db->read("select replacementId,searchFor,replaceWith from replacements order by searchFor");
diff --git a/lib/WebGUI/Operation/Settings.pm b/lib/WebGUI/Operation/Settings.pm
index 0981519e0..a9e7208f1 100644
--- a/lib/WebGUI/Operation/Settings.pm
+++ b/lib/WebGUI/Operation/Settings.pm
@@ -28,7 +28,7 @@ use WebGUI::URL;
#-------------------------------------------------------------------
sub www_editSettings {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my $i18n = WebGUI::International->new("WebGUI");
my %tabs;
tie %tabs, 'Tie::IxHash';
@@ -297,7 +297,7 @@ sub www_editSettings {
#-------------------------------------------------------------------
sub www_saveSettings {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my ($key, $value);
foreach $key (keys %{$session{form}}) {
$value = $session{form}{$key};
diff --git a/lib/WebGUI/Operation/Shared.pm b/lib/WebGUI/Operation/Shared.pm
index 6f95f29db..a209b7850 100644
--- a/lib/WebGUI/Operation/Shared.pm
+++ b/lib/WebGUI/Operation/Shared.pm
@@ -27,7 +27,7 @@ our @EXPORT = qw(&menuWrapper);
sub accountOptions {
my $session = shift;
my @array;
- if (WebGUI::Grouping::isInGroup(12)) {
+ if ($session->user->isInGroup(12)) {
my %hash;
if ($session->var->get("adminOn")) {
$hash{'options.display'} .= ''.WebGUI::International::get(12).'';
@@ -63,7 +63,7 @@ our @EXPORT = qw(&menuWrapper);
my %logout;
$logout{'options.display'} = ''.WebGUI::International::get(64).'';
push(@array,\%logout);
- if ($session->setting->get("selfDeactivation") && !WebGUI::Grouping::isInGroup(3)){
+ if ($session->setting->get("selfDeactivation") && !$session->user->isInGroup(3)){
my %hash;
$hash{'options.display'} = ''.WebGUI::International::get(65).'';
push(@array,\%hash);
diff --git a/lib/WebGUI/Operation/Statistics.pm b/lib/WebGUI/Operation/Statistics.pm
index 9984421f9..86e6aff8d 100644
--- a/lib/WebGUI/Operation/Statistics.pm
+++ b/lib/WebGUI/Operation/Statistics.pm
@@ -36,7 +36,7 @@ sub _submenu {
#-------------------------------------------------------------------
sub www_viewStatistics {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my ($output, $data);
my $url = "http://www.plainblack.com/downloads/latest-version.txt";
my $cache = WebGUI::Cache->new($session,$url,"URL");
diff --git a/lib/WebGUI/Operation/Subscription.pm b/lib/WebGUI/Operation/Subscription.pm
index e760822ba..825ed3495 100644
--- a/lib/WebGUI/Operation/Subscription.pm
+++ b/lib/WebGUI/Operation/Subscription.pm
@@ -56,7 +56,7 @@ sub _submenu {
sub www_createSubscriptionCodeBatch {
my $session = shift;
my (%subscriptions, $f, $error, $errorMessage);
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
$error = shift;
my $i18n = WebGUI::International->new("Subscription");
@@ -115,7 +115,7 @@ sub www_createSubscriptionCodeBatchSave {
my $session = shift;
my ($numberOfCodes, $description, $expires, $batchId, @codeElements, $currentCode, $code, $i, @subscriptions,
@error, $creationEpoch);
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my $i18n = WebGUI::International->new("Subscription");
@@ -154,7 +154,7 @@ sub www_createSubscriptionCodeBatchSave {
#-------------------------------------------------------------------
sub www_deleteSubscription {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
WebGUI::Subscription->new($session->form->process("sid"))->delete;
return www_listSubscriptions();
@@ -163,7 +163,7 @@ sub www_deleteSubscription {
#-------------------------------------------------------------------
sub www_deleteSubscriptionCodeBatch {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
$session->db->write("delete from subscriptionCodeBatch where batchId=".$session->db->quote($session->form->process("bid")));
$session->db->write("delete from subscriptionCode where batchId=".$session->db->quote($session->form->process("bid")));
@@ -174,7 +174,7 @@ sub www_deleteSubscriptionCodeBatch {
#-------------------------------------------------------------------
sub www_deleteSubscriptionCodes {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
if ($session->form->process("selection") eq 'dc') {
$session->db->write("delete from subscriptionCode where dateCreated >= ".$session->db->quote($session->form->process("dcStart")).
@@ -191,7 +191,7 @@ sub www_deleteSubscriptionCodes {
sub www_editSubscription {
my $session = shift;
my ($properties, $subscriptionId, $durationInterval, $durationUnits, $f);
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my $i18n = WebGUI::International->new("Subscription");
@@ -268,7 +268,7 @@ sub www_editSubscription {
sub www_editSubscriptionSave {
my $session = shift;
my (@relevantFields);
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
@relevantFields = qw(subscriptionId name price description subscriptionGroup duration executeOnSubscription karma);
WebGUI::Subscription->new($session->form->process("sid"))->set({map {$_ => $session{form}{$_}} @relevantFields});
@@ -280,7 +280,7 @@ sub www_editSubscriptionSave {
sub www_listSubscriptionCodeBatches {
my $session = shift;
my ($p, $batches, $output);
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my $i18n = WebGUI::International->new("Subscription");
@@ -310,7 +310,7 @@ sub www_listSubscriptionCodeBatches {
sub www_listSubscriptionCodes {
my $session = shift;
my ($p, $codes, $output, $where, $ops, $delete);
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my $i18n = WebGUI::International->new("Subscription");
@@ -392,7 +392,7 @@ sub www_listSubscriptionCodes {
sub www_listSubscriptions {
my $session = shift;
my ($p, $subscriptions, $output);
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my $i18n = WebGUI::International->new("Subscription");
diff --git a/lib/WebGUI/Operation/TransactionLog.pm b/lib/WebGUI/Operation/TransactionLog.pm
index 154a0033a..fbcbe524f 100644
--- a/lib/WebGUI/Operation/TransactionLog.pm
+++ b/lib/WebGUI/Operation/TransactionLog.pm
@@ -96,7 +96,7 @@ sub www_deleteTransaction {
my $session = shift;
my $transactionId;
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(3));
$transactionId = $session->form->process("tid");
@@ -108,7 +108,7 @@ sub www_deleteTransaction {
#-------------------------------------------------------------------
sub www_deleteTransactionItem {
my $session = shift;
- return $session->privilege->insufficient unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->insufficient unless ($session->user->isInGroup(3));
WebGUI::Commerce::Transaction->new($session->form->process("tid"))->deleteItem($session->form->process("iid"), $session->form->process("itype"));
diff --git a/lib/WebGUI/Operation/User.pm b/lib/WebGUI/Operation/User.pm
index 2da8c0044..0f04e2c5a 100644
--- a/lib/WebGUI/Operation/User.pm
+++ b/lib/WebGUI/Operation/User.pm
@@ -73,10 +73,10 @@ sub _submenu {
if ($help) {
$ac->setHelp($help);
}
- if (WebGUI::Grouping::isInGroup(11)) {
+ if ($session->user->isInGroup(11)) {
$ac->addSubmenuItem($session->url->page("op=editUser;uid=new"), WebGUI::International::get(169));
}
- if (WebGUI::Grouping::isInGroup(3)) {
+ if ($session->user->isInGroup(3)) {
unless ($session->form->process("op") eq "listUsers"
|| $session->form->process("op") eq "deleteUserConfirm") {
$ac->addSubmenuItem($session->url->page("op=editUser;uid=".$session->form->process("uid")), WebGUI::International::get(457));
@@ -227,7 +227,7 @@ Allows an administrator to assume another user.
sub www_becomeUser {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
$session->user({userId=>$session->form->process("uid")});
return "";
}
@@ -246,7 +246,7 @@ of the user to delete is expected in a URL param names 'uid'.
sub www_deleteUser {
my $session = shift;
my ($output);
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
if ($session->form->process("uid") eq '1' || $session->form->process("uid") eq '3') {
return _submenu($session->privilege->vitalComponent());
} else {
@@ -271,7 +271,7 @@ after this.
sub www_deleteUserConfirm {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my ($u);
if ($session->form->process("uid") eq '1' || $session->form->process("uid") eq '3') {
return WebGUI::AdminConsole->new($session,"users")->render($session->privilege->vitalComponent());
@@ -285,7 +285,7 @@ sub www_deleteUserConfirm {
#-------------------------------------------------------------------
sub www_editUser {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(11));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(11));
my $error = shift;
my $i18n = WebGUI::International->new("WebGUI");
my %tabs;
@@ -393,10 +393,10 @@ sub www_editUser {
#-------------------------------------------------------------------
sub www_editUserSave {
my $session = shift;
- my $isAdmin = WebGUI::Grouping::isInGroup(3);
+ my $isAdmin = $session->user->isInGroup(3);
my $isSecondary;
unless ($isAdmin) {
- $isSecondary = (WebGUI::Grouping::isInGroup(11) && $session->form->process("uid") eq "new");
+ $isSecondary = ($session->user->isInGroup(11) && $session->form->process("uid") eq "new");
}
return $session->privilege->adminOnly() unless ($isAdmin || $isSecondary);
my ($uid) = $session->db->quickArray("select userId from users where username=".$session->db->quote($session->form->process("username")));
@@ -432,7 +432,7 @@ sub www_editUserSave {
#-------------------------------------------------------------------
sub www_editUserKarma {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my ($output, $f, $a, %user, %data, $method, $values, $category, $label, $default, $previousCategory);
$f = WebGUI::HTMLForm->new;
$f->hidden(
@@ -461,7 +461,7 @@ sub www_editUserKarma {
#-------------------------------------------------------------------
sub www_editUserKarmaSave {
my $session = shift;
- return $session->privilege->adminOnly() unless (WebGUI::Grouping::isInGroup(3));
+ return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my ($u);
$u = WebGUI::User->new($session->form->process("uid"));
$u->karma($session->form->process("amount"),$session->user->profileField("username")." (".$session->user->profileField("userId").")",$session->form->process("description"));
@@ -471,8 +471,8 @@ sub www_editUserKarmaSave {
#-------------------------------------------------------------------
sub www_listUsers {
my $session = shift;
- unless (WebGUI::Grouping::isInGroup(3)) {
- if (WebGUI::Grouping::isInGroup(11)) {
+ unless ($session->user->isInGroup(3)) {
+ if ($session->user->isInGroup(11)) {
$session->form->process("uid") = "new";
return www_editUser();
}
diff --git a/lib/WebGUI/Session/Style.pm b/lib/WebGUI/Session/Style.pm
index c50cd3342..76164ee9b 100644
--- a/lib/WebGUI/Session/Style.pm
+++ b/lib/WebGUI/Session/Style.pm
@@ -182,7 +182,7 @@ return props[propName];
}
';
-if (WebGUI::Grouping::isInGroup(2)) {
+if ($self->session->user->isInGroup(2)) {
# This "triple incantation" panders to the delicate tastes of various browsers for reliable cache suppression.
$var{'head.tags'} .= '
diff --git a/lib/WebGUI/Subscription.pm b/lib/WebGUI/Subscription.pm
index 94a57da65..6ebfddfef 100644
--- a/lib/WebGUI/Subscription.pm
+++ b/lib/WebGUI/Subscription.pm
@@ -62,7 +62,7 @@ sub apply {
$groupId = $self->{_properties}{subscriptionGroup};
# Make user part of the right group
- WebGUI::Grouping::addUsersToGroups([$userId], [$groupId], _getDuration($self->{_properties}{duration}));
+ $group->addUsers([$userId], [$groupId], _getDuration($self->{_properties}{duration}));
# Add karma
WebGUI::User->new($userId)->karma($self->{_properties}{karma}, 'Subscription', 'Added for purchasing subscription '.$self->{_properties}{name});
diff --git a/lib/WebGUI/User.pm b/lib/WebGUI/User.pm
index 58481572e..d005fda40 100644
--- a/lib/WebGUI/User.pm
+++ b/lib/WebGUI/User.pm
@@ -41,6 +41,7 @@ This package provides an object-oriented way of managing WebGUI users as well as
$referringAffiliate = $u->referringAffiliate;
$status = $u->status("somestatus");
$username = $u->username("jonboy");
+ $arrayRef = $u->getGroups;
$u->addToGroups(\@arr);
$u->deleteFromGroups(\@arr);
@@ -57,7 +58,7 @@ sub _create {
my $userId = shift || WebGUI::Id::generate();
$self->session->db->write("insert into users (userId,dateCreated) values (".$self->session->db->quote($userId).","$self->session->datetime->time().")");
require WebGUI::Grouping;
- WebGUI::Grouping::addUsersToGroups([$userId],[2,7]);
+ $group->addUsers([$userId],[2,7]);
return $userId;
}
@@ -83,7 +84,7 @@ sub addToGroups {
my $expireOffset = shift;
$self->uncache;
require WebGUI::Grouping;
- WebGUI::Grouping::addUsersToGroups([$self->userId],$groups,$expireOffset);
+ $group->addUsers([$self->userId],$groups,$expireOffset);
}
#-------------------------------------------------------------------
@@ -139,7 +140,7 @@ sub delete {
$self->session->db->write("delete from users where userId=".$self->session->db->quote($self->{_userId}));
$self->session->db->write("delete from userProfileData where userId=".$self->session->db->quote($self->{_userId}));
require WebGUI::Grouping;
- WebGUI::Grouping::deleteUsersFromGroups([$self->{_userId}],WebGUI::Grouping::getGroupsForUser($self->{_userId}));
+ $group->deleteUsers([$self->{_userId}],$self->session->user->getGroups($self->{_userId}));
$self->session->db->write("delete from messageLog where userId=".$self->session->db->quote($self->{_userId}));
my $authMethod = WebGUI::Operation::Auth::getInstance($self->authMethod,$self->{_userId});
@@ -168,7 +169,39 @@ sub deleteFromGroups {
my $groups = shift;
$self->uncache;
require WebGUI::Grouping;
- WebGUI::Grouping::deleteUsersFromGroups([$self->userId],$groups);
+ $group->deleteUsers([$self->userId],$groups);
+}
+
+#-------------------------------------------------------------------
+
+=head2 getGroups ( [ withoutExpired ] )
+
+Returns an array reference containing a list of groups this user is in.
+
+=head3 withoutExpired
+
+If set to "1" then the listing will not include expired groupings. Defaults to "0".
+
+=cut
+
+sub getGroups {
+ my $self = shift;
+ my $withoutExpired = shift;
+ my $clause = "and expireDate>"$self->session->datetime->time() if ($withoutExpired);
+ my $gotGroupsForUser = $self->session->stow->get("gotGroupsForUser");
+ if (exists $gotGroupsForUser->{$self->userId}) {
+ return $gotGroupsForUser->{$self->userId};
+ } else {
+ my @groups = $self->session->db->buildArray("select groupId from groupings where userId=".$self->session->db->quote($userId)." $clause");
+ my $isInGroup = $self->session->stow("isInGroup");
+ foreach my $gid (@groups) {
+ $isInGroup->{$self->userId}{$gid} = 1;
+ }
+ $self->session->stow("isInGroup",$isInGroup);
+ $gotGroupsForUser->{$userId} = \@groups;
+ $self->session->stow("gotGroupsForUser",$gotGroupsForUser);
+ return \@groups;
+ }
}
#-------------------------------------------------------------------
@@ -186,6 +219,172 @@ sub identifier {
return $self->{_user}{"identifier"};
}
+#-------------------------------------------------------------------
+
+=head2 isInGroup ( [ groupId ] )
+
+Returns a boolean (0|1) value signifying that the user has the required privileges. Always returns true for Admins.
+
+=head3 groupId
+
+The group that you wish to verify against the user. Defaults to group with Id 3 (the Admin group).
+
+=cut
+
+sub isInGroup {
+ my (@data, $groupId);
+ my ($gid, $secondRun) = @_;
+ $gid = 3 unless (defined $gid);
+ $uid = $self->userId;
+ ### The following several checks are to increase performance. If this section were removed, everything would continue to work as normal.
+ return 1 if ($gid eq '7'); # everyone is in the everyone group
+ return 1 if ($gid eq '1' && $uid eq '1'); # visitors are in the visitors group
+ return 0 if ($uid eq '1'); #Visitor is in no other groups
+ return 1 if ($uid eq '3'); #Admin is in every group
+ return 1 if ($gid eq '2' && $uid ne '1'); # if you're not a visitor, then you're a registered user
+ ### Look to see if we've already looked up this group.
+ my $isInGroup = $self->session->stow->get("isInGroup");
+ if ($isInGroup->{$uid}{$gid} eq '1') {
+ return 1;
+ } elsif ($isInGroup->{$uid}{$gid} eq "0") {
+ return 0;
+ }
+ ### Lookup the actual groupings.
+ unless ($secondRun) { # don't look up user groups if we've already done it once.
+ my $groups = $self->getGroups(1);
+ foreach (@{$groups}) {
+ $isInGroup->{$uid}{$_} = 1;
+ }
+ if ($isInGroup->{$uid}{$gid} eq '1') {
+ $self->session->stow->set("isInGroup",$isInGroup);
+ return 1;
+ }
+ }
+ ### Get data for auxillary checks.
+ my $group = WebGUI::Group->new($gid);
+ ### Check IP Address
+ if ($group->get("ipFilter")) {
+ my $ipFilter = $group->get("ipFilter");
+ $ipFilter =~ s/\s//g;
+ $ipFilter =~ s/\./\\\./g;
+ my @ips = split(";",$ipFilter);
+ foreach my $ip (@ips) {
+ if ($self->session->env->get("REMOTE_ADDR") =~ /^$ip/) {
+ $isInGroup->{$uid}{$gid} = 1;
+ $self->session->stow->set("isInGroup",$isInGroup);
+ return 1;
+ }
+ }
+ }
+ ### Check Scratch Variables
+ if ($group->get("scratchFilter")) {
+ my $scratchFilter = $group->get("scratchFilter");
+ $scratchFilter =~ s/\s//g;
+ my @vars = split(";",$scratchFilter);
+ foreach my $var (@vars) {
+ my ($name, $value) = split(/\=/,$var);
+ if ($self->session->scratch->get($name) eq $value) {
+ $isInGroup->{$uid}{$gid} = 1;
+ $self->session->stow->set("isInGroup",$isInGroup);
+ return 1;
+ }
+ }
+ }
+ ### Check karma levels.
+ if ($self->session->setting->get("useKarma")) {
+ if ($self->karma >= $group->get("karmaThreshold")) {
+ $isInGroup->{$uid}{$gid} = 1;
+ $self->session->stow->set("isInGroup",$isInGroup);
+ return 1;
+ }
+ }
+ ### Check external database
+ if ($group->get("dbQuery") && $group->get("databaseLinkId")) {
+ # skip if not logged in and query contains a User macro
+ unless ($group->get("dbQuery") =~ /\^User/i && $uid eq '1') {
+ my $dbLink = WebGUI::DatabaseLink->new($self->session,$group->get("databaseLinkId"));
+ my $dbh = $dbLink->dbh;
+ if (defined $dbh) {
+ if ($group->get("dbQuery") =~ /select 1/i) {
+ my $query = $group->group("dbQuery");
+ WebGUI::Macro::process($self->session,\$query);
+ my $sth = $dbh->unconditionalRead($query);
+ unless ($sth->errorCode < 1) {
+ $self->session->errorHandler->warn("There was a problem with the database query for group ID $gid.");
+ } else {
+ my ($result) = $sth->array;
+ if ($result == 1) {
+ $isInGroup->{$uid}{$gid} = 1;
+ if ($group->get("dbCacheTimeout") > 0) {
+ $group->deleteUsers([$uid]);
+ $group->addUsers([$uid],$group->get("dbCacheTimeout"));
+ }
+ } else {
+ $isInGroup->{$uid}{$gid} = 0;
+ $group->deleteUsers([$uid]) if ($group->get("dbCacheTimeout") > 0);
+ }
+ }
+ $sth->finish;
+ } else {
+ $self->session->errorHandler->warn("Database query for group ID $gid must use 'select 1'");
+ }
+ $dbLink->disconnect;
+ $self->session->stow->set("isInGroup",$isInGroup);
+ return 1 if ($isInGroup->{$uid}{$gid});
+ }
+ }
+ }
+ ### Check ldap
+ if ($group->get("ldapGroup") && $group->get("ldapGroupProperty")) {
+ # skip if not logged in
+ unless($uid eq '1') {
+ # skip if user is not set to LDAP
+ if($self->authMethod eq "LDAP") {
+ my $auth = WebGUI::Auth->new($session,"LDAP",$uid);
+ my $params = $auth->getParams();
+ my $ldapLink = WebGUI::LDAPLink->new($session,$params->{ldapConnection});
+ if($ldapLink ne "") {
+ my $people = [];
+ if($group->get("ldapRecursiveProperty")) {
+ $ldapLink->recurseProperty($group->get("ldapGroup"),$people,$group->get("ldapGroupProperty"),$group->get("ldapRecursiveProperty"));
+ } else {
+ $people = $ldapLink->getProperty($group->get("ldapGroup"),$group->get("ldapGroupProperty"));
+ }
+
+ if(isIn($params->{connectDN},@{$people})) {
+ $isInGroup->{$uid}{$gid} = 1;
+ if ($group{dbCacheTimeout} > 10) {
+ $group->deleteUsers([$uid]);
+ $group->addUsers([$uid],$group->get("dbCacheTimeout"));
+ }
+ } else {
+ $isInGroup->{$uid}{$gid} = 0;
+ $group->deleteUsers([$uid]) if ($group->get("dbCacheTimeout") > 10);
+ }
+ $ldapLink->unbind;
+ $self->session->stow->set("isInGroup",$isInGroup);
+ return 1 if ($isInGroup->{$uid}{$gid});
+ }
+ }
+ }
+ }
+
+ ### Check for groups of groups.
+ my $groups = $group->getGroupsIn(1);
+ foreach (@{$groups}) {
+ $isInGroup->{$uid}{$_} = $self->isInGroup($_, 1);
+ if ($isInGroup->{$uid}{$_}) {
+ $isInGroup->{$uid}{$gid} = 1; # cache current group also so we don't have to do the group in group check again
+ $self->session->stow->set("isInGroup",$isInGroup);
+ return 1;
+ }
+ }
+ $isInGroup->{$uid}{$gid} = 0;
+ $self->session->stow->set("isInGroup",$isInGroup);
+ return 0;
+}
+
+
#-------------------------------------------------------------------
=head2 karma ( [ amount, source, description ] )