diff --git a/lib/WebGUI/Asset.pm b/lib/WebGUI/Asset.pm index 69f336f56..8c5a074f9 100644 --- a/lib/WebGUI/Asset.pm +++ b/lib/WebGUI/Asset.pm @@ -366,6 +366,7 @@ sub getAssetAdderLinks { my $addToUrl = shift; my $type = shift || "assets"; my %links; + return []; foreach my $class (@{$self->session->config->get($type)}) { next unless $class; my $load = "use ".$class; diff --git a/lib/WebGUI/Asset/Wobject/Navigation.pm b/lib/WebGUI/Asset/Wobject/Navigation.pm index 8fc0ee9cb..3553add13 100644 --- a/lib/WebGUI/Asset/Wobject/Navigation.pm +++ b/lib/WebGUI/Asset/Wobject/Navigation.pm @@ -305,7 +305,7 @@ sub view { my $self = shift; # we've got to determine what our start point is based upon user conditions my $start; - $self->session->asset = WebGUI::Asset->newByUrl($self->session) unless ($self->session->asset); + $self->session->asset(WebGUI::Asset->newByUrl($self->session)) unless ($self->session->asset); my $current = $self->session->asset; if ($self->get("startType") eq "specificUrl") { $start = WebGUI::Asset->newByUrl($self->session,$self->get("startPoint")); diff --git a/lib/WebGUI/Auth.pm b/lib/WebGUI/Auth.pm index 9cae26303..62995d586 100644 --- a/lib/WebGUI/Auth.pm +++ b/lib/WebGUI/Auth.pm @@ -136,7 +136,7 @@ sub authenticate { my $self = shift; my $username = shift; my $i18n = WebGUI::International->new($self->session); - my $user = $self->session->db->quickHashRef("select userId,authMethod,status from users where username=".$self->session->db->$self->session->db->quote($username)); + my $user = $self->session->db->quickHashRef("select userId,authMethod,status from users where username=".$self->session->db->quote($username)); my $uid = $user->{userId}; #If userId does not exist or is not active, fail login if(!$uid){ @@ -326,7 +326,7 @@ Removes the user's authentication parameters from the database for all authentic sub deleteParams { my $self = shift; - $self->session->db->write("delete from authentication where userId=".$self->session->db->$self->session->db->quote($self->userId)); + $self->session->db->write("delete from authentication where userId=".$self->session->db->quote($self->userId)); } #------------------------------------------------------------------- @@ -363,7 +363,7 @@ sub displayAccount { $vars->{'account.form.submit'} = WebGUI::Form::submit($self->session,{}); $vars->{'account.form.footer'} = WebGUI::Form::formFooter($self->session,); - $vars->{'account.options'} = WebGUI::Operation::Shared::accountOptions(); + $vars->{'account.options'} = WebGUI::Operation::Shared::accountOptions($self->session); return WebGUI::Asset::Template->new($self->session,$self->getAccountTemplateId)->process($vars); } @@ -564,7 +564,7 @@ sub login { #Create a new user $uid = $self->userId; - $u = WebGUI::User->new($uid); + $u = WebGUI::User->new($self->session,$uid); $self->session->user({user=>$u}); $u->karma($self->session->setting->get("karmaPerLogin"),"Login","Just for logging in.") if ($self->session->setting->get("useKarma")); $self->_logLogin($uid,"success"); @@ -587,7 +587,7 @@ Superclass method that performs standard logout routines. sub logout { my $self = shift; $self->session->var->end($self->session->var->get("sessionId")); - $self->session->var->start(1); + $self->session->var->start(1,$self->session->getId); my $u = WebGUI::User->new($self->session,1); $self->{user} = $u; return ""; @@ -625,7 +625,8 @@ sub new { $self->{error} = ""; $self->{profile} = (); $self->{warning} = ""; - my @callable = ('init', shift); + my $call = shift; + my @callable = ('init', @{$call}); $self->{callable} = \@callable; bless $self, $class; return $self; diff --git a/lib/WebGUI/Auth/LDAP.pm b/lib/WebGUI/Auth/LDAP.pm index a19171dc2..01f7c1c12 100644 --- a/lib/WebGUI/Auth/LDAP.pm +++ b/lib/WebGUI/Auth/LDAP.pm @@ -416,7 +416,9 @@ sub new { my $userId = $_[1]; my @callable = ('createAccount','deactivateAccount','displayAccount','displayLogin','login','logout','createAccountSave','deactivateAccountConfirm'); my $self = WebGUI::Auth->new($session,$authMethod,$userId,\@callable); - $self->{_connection} = WebGUI::LDAPLink->new($session,($session->scratch->get("ldapConnection") || $session->setting->get("ldapConnection")))->get; + my $connection = $session->scratch->get("ldapConnection") || $session->setting->get("ldapConnection"); + my $ldaplink = WebGUI::LDAPLink->new($session,$connection); + $self->{_connection} = $ldaplink->get; my $i18n = WebGUI::International->new($session, "AuthLDAP"); my %ldapStatusCode = map { $_ => $i18n->get("LDAPLink_".$_) } (0..21, 32,33,34,36, 48..54, 64..71, 80); diff --git a/lib/WebGUI/Form/Date.pm b/lib/WebGUI/Form/Date.pm index 198205ed1..3806fe3ee 100644 --- a/lib/WebGUI/Form/Date.pm +++ b/lib/WebGUI/Form/Date.pm @@ -135,14 +135,14 @@ Renders a date picker control. sub toHtml { my $self = shift; if ($self->get("_defaulted") && $self->get("noDate") ) { - $self->get("value") = ''; + $self->set("value",''); } else { - $self->get("value") = $self->session->datetime->epochToSet($self->get("value")); + $self->set("value",$self->session->datetime->epochToSet($self->get("value"))); } - my $language = WebGUI::International::getLanguage($self->session->user->profileField("language"),"languageAbbreviation"); + my $language = WebGUI::International->new($self->session)->getLanguage($self->session->user->profileField("language"),"languageAbbreviation"); unless ($language) { - $language = WebGUI::International::getLanguage("English","languageAbbreviation"); + $language = WebGUI::International->new($self->session)->getLanguage($self,"English","languageAbbreviation"); } $self->session->style->setScript($self->session->config->get("extrasURL").'/calendar/calendar.js',{ type=>'text/javascript' }); $self->session->style->setScript($self->session->config->get("extrasURL").'/calendar/lang/calendar-'.$language.'.js',{ type=>'text/javascript' }); diff --git a/lib/WebGUI/Form/HTMLArea.pm b/lib/WebGUI/Form/HTMLArea.pm index 6f15a319d..8942ab3ca 100644 --- a/lib/WebGUI/Form/HTMLArea.pm +++ b/lib/WebGUI/Form/HTMLArea.pm @@ -117,7 +117,7 @@ Renders an HTML area field. sub toHtml { my $self = shift; $self->session->style->setScript($self->session->config->get("extrasURL").'/textFix.js',{ type=>'text/javascript' }); - $self->set("extras", $self->('extras') . ' onblur="fixChars(this.form.'.$self->get("name").')" mce_editable="true" '); + $self->set("extras", $self->get('extras') . ' onblur="fixChars(this.form.'.$self->get("name").')" mce_editable="true" '); return $self->SUPER::toHtml.WebGUI::Asset::RichEdit->new($self->session,$self->get("richEditId"))->getRichEditor($self->get('id')); my $i18n = WebGUI::International->new($self->session); my $richEdit = WebGUI::Asset::RichEdit->new($self->session,$self->get("richEditId")); diff --git a/lib/WebGUI/Form/Integer.pm b/lib/WebGUI/Form/Integer.pm index 77d1f12f7..6ab7b0d38 100644 --- a/lib/WebGUI/Form/Integer.pm +++ b/lib/WebGUI/Form/Integer.pm @@ -117,7 +117,7 @@ Renders an integer field. sub toHtml { my $self = shift; $self->session->style->setScript($self->session->config->get("extrasURL").'/inputCheck.js',{ type=>'text/javascript' }); - $self->set("extras", $self->('extras') . ' onkeyup="doInputCheck(this.form.'.$self->get("name").',\'0123456789-\')"'); + $self->set("extras", $self->get('extras') . ' onkeyup="doInputCheck(this.form.'.$self->get("name").',\'0123456789-\')"'); return $self->SUPER::toHtml; } diff --git a/lib/WebGUI/International.pm b/lib/WebGUI/International.pm index 3dc468955..a05e8a84f 100644 --- a/lib/WebGUI/International.pm +++ b/lib/WebGUI/International.pm @@ -146,7 +146,7 @@ sub getLanguages { foreach my $file (@files) { if ($file =~ /(.*?)\.pm$/) { my $language = $1; - $hashRef->{$language} = getLanguage($language,"label"); + $hashRef->{$language} = $self->getLanguage($language,"label"); } } return $hashRef; @@ -207,6 +207,7 @@ Specify a default language. Defaults to user preference or "English". sub new { my ($class, $session, $namespace, $language) = @_; + use WebGUI; WebGUI::dumpSession($session); bless( { _session => $session, _namespace => $namespace, diff --git a/lib/WebGUI/Operation.pm b/lib/WebGUI/Operation.pm index 69046b0d7..c3ed1505f 100644 --- a/lib/WebGUI/Operation.pm +++ b/lib/WebGUI/Operation.pm @@ -59,7 +59,7 @@ sub execute { $session->errorHandler->error("Couldn't compile operation: ".$operation->{$op}.". Root cause: ".$@) if ($@); # Call the method $cmd = $operation->{$op} . '::www_'.$op; - $output = eval{&$cmd($session)}; + $output = eval{&{$cmd}($session)}; $session->errorHandler->error("Couldn't execute operation : ".$cmd.". Root cause: ".$@) if ($@); } else { $session->errorHandler->security("execute an invalid operation: ".$op); diff --git a/lib/WebGUI/Operation/Admin.pm b/lib/WebGUI/Operation/Admin.pm index 83646f311..333070b5d 100644 --- a/lib/WebGUI/Operation/Admin.pm +++ b/lib/WebGUI/Operation/Admin.pm @@ -51,7 +51,7 @@ via WebGUI::Session::switchAdminOff() sub www_switchOffAdmin { my $session = shift; use WebGUI; WebGUI::dumpSession($session); return "" unless ($session->user->isInGroup(12)); - WebGUI::Session::switchAdminOff(); + $session->var->switchAdminOff(); return ""; } @@ -60,14 +60,13 @@ sub www_switchOffAdmin { =head2 www_adminConsole ( ) If the current user is in the Turn On Admin Group, then allow them to turn on Admin mode. -via WebGUI::Session::switchAdminOn() =cut sub www_switchOnAdmin { my $session = shift; use WebGUI; WebGUI::dumpSession($session); return "" unless ($session->user->isInGroup(12)); - WebGUI::Session::switchAdminOn(); + $session->var->switchAdminOn(); return ""; } diff --git a/lib/WebGUI/Operation/Auth.pm b/lib/WebGUI/Operation/Auth.pm index 82b6bcb72..8f58a9fc4 100644 --- a/lib/WebGUI/Operation/Auth.pm +++ b/lib/WebGUI/Operation/Auth.pm @@ -30,8 +30,8 @@ Get the instance of this object or create a new instance if none exists =cut sub getInstance { - my $session = shift; use WebGUI; WebGUI::dumpSession($session); - #Get Auth Settings + my $session = shift; use WebGUI; WebGUI::dumpSession($session); + #Get Auth Settings my $authMethod = $session->user->authMethod || $session->setting->get("authMethod"); $authMethod = $session->setting->get("authMethod") if($session->user->userId eq '1'); $authMethod = $_[0] if($_[0] && isIn($_[0], @{$session->config->get("authMethods")})); @@ -41,8 +41,8 @@ sub getInstance { my $load = "use ".$cmd; eval($load); $session->errorHandler->fatal("Authentication module failed to compile: $cmd.".$@) if($@); - my $auth = eval{$cmd->new($session, $authMethod,$userId)}; - $session->errorHandler->fatal("Couldn't instantiate authentication module: $authMethod. Root cause: ".$@) if($@); + my $auth = eval{$cmd->new($session, $authMethod,$userId)}; + $session->errorHandler->fatal("Couldn't instantiate authentication module: $authMethod. Root cause: ".$@) if($@); return $auth; } @@ -59,16 +59,16 @@ is returned. sub www_auth { my $session = shift; use WebGUI; WebGUI::dumpSession($session); - my $auth; - ($auth) = $session->db->quickArray("select authMethod from users where username=".$session->db->quote($session->form->process("username"))) if($session->form->process("username")); - my $authMethod = getInstance($session,$auth); - my $methodCall = shift || $session->form->process("method") || "init"; - if(!$authMethod->isCallable($methodCall)){ - $session->errorHandler->security("access uncallable auth method"); - my $i18n = WebGUI::International->new($session); - return $i18n->get(1077); - } - return $session->style->userStyle($authMethod->$methodCall); + my $auth; + ($auth) = $session->db->quickArray("select authMethod from users where username=".$session->db->quote($session->form->process("username"))) if($session->form->process("username")); + my $authMethod = getInstance($session,$auth); + my $methodCall = shift || $session->form->process("method") || "init"; + if(!$authMethod->isCallable($methodCall)){ + $session->errorHandler->security("access uncallable auth method"); + my $i18n = WebGUI::International->new($session); + return $i18n->get(1077); + } + return $session->style->userStyle($authMethod->$methodCall); } diff --git a/lib/WebGUI/Operation/Cache.pm b/lib/WebGUI/Operation/Cache.pm index 1729afa5f..9c0b0112b 100644 --- a/lib/WebGUI/Operation/Cache.pm +++ b/lib/WebGUI/Operation/Cache.pm @@ -78,7 +78,7 @@ sub www_flushCache { return $session->privilege->adminOnly() unless ($session->user->isInGroup(3)); my $cache = WebGUI::Cache->new($session,); $cache->flush; - return www_manageCache(); + return www_manageCache($session); } #------------------------------------------------------------------- @@ -108,7 +108,7 @@ sub www_manageCache { ''; $output .= ""; - return _submenu($output); + return _submenu($session,$output); } diff --git a/lib/WebGUI/Operation/Profile.pm b/lib/WebGUI/Operation/Profile.pm index 07c782385..7d869ca81 100644 --- a/lib/WebGUI/Operation/Profile.pm +++ b/lib/WebGUI/Operation/Profile.pm @@ -94,7 +94,7 @@ sub validateProfileData { #------------------------------------------------------------------- sub www_editProfile { my $session = shift; use WebGUI; WebGUI::dumpSession($session); - return WebGUI::Operation::Auth::www_auth("init") if($session->user->userId eq '1'); + return WebGUI::Operation::Auth::www_auth($session,"init") if($session->user->userId eq '1'); my $i18n = WebGUI::International->new($session); my $vars = {}; $vars->{displayTitle} .= '