diff --git a/lib/WebGUI/Operation/Account.pm b/lib/WebGUI/Operation/Account.pm index d8c9cd2f4..50888826e 100644 --- a/lib/WebGUI/Operation/Account.pm +++ b/lib/WebGUI/Operation/Account.pm @@ -250,7 +250,6 @@ sub www_createAccountSave { foreach $fieldName (keys %{$profile}) { $u->profileField($fieldName,${$profile}{$fieldName}); } - $u->addToGroups([2]); WebGUI::Session::start($u->userId); _logLogin($u->userId,"success"); WebGUI::MessageLog::addEntry('',$session{setting}{onNewUserAlertGroup},'',536) if ($session{setting}{alertOnNewUser}); diff --git a/lib/WebGUI/Operation/User.pm b/lib/WebGUI/Operation/User.pm index 2504c50ba..42e3bebd9 100644 --- a/lib/WebGUI/Operation/User.pm +++ b/lib/WebGUI/Operation/User.pm @@ -62,7 +62,7 @@ sub www_addUser { $f->select("authMethod",\%hash,WebGUI::International::get(164),[$session{setting}{authMethod}]); $f->url("ldapURL",WebGUI::International::get(165),$session{setting}{ldapURL}); $f->text("connectDN",WebGUI::International::get(166),$session{form}{connectDN}); - $f->group("groups",WebGUI::International::get(89),[2],5,1); + $f->group("groups",WebGUI::International::get(89),[],5,1); $f->submit; $output .= $f->print; } else { diff --git a/lib/WebGUI/Privilege.pm b/lib/WebGUI/Privilege.pm index 23d2bdc65..8c9e188ac 100644 --- a/lib/WebGUI/Privilege.pm +++ b/lib/WebGUI/Privilege.pm @@ -113,13 +113,25 @@ sub isInGroup { if ($uid eq "") { $uid = $session{user}{userId}; } - ### The "Everyone" group automatically returns true. - if ($gid == 7) { - return 1; + ### The "Everyone" group automatically returns true. + if ($gid == 7) { + return 1; + } + ### The "Visitor" group returns false, unless the user is visitor. + if ($gid == 1) { + if ($uid == 1) { + return 1; + } else { + return 0; + } + } + ### The "Registered Users" group returns true if user is not visitor. + if ($gid==2 && $uid != 1) { + return 1; } ### Lookup the actual grouping. @data = WebGUI::SQL->quickArray("select count(*) from groupings where groupId='$gid' and userId='$uid' and expireDate>".time()); - if ($data[0] > 0) { + if ($data[0] > 0 && $uid != 1) { return 1; } ### Get data for auxillary checks.