an absolute slew of changes.

This commit is contained in:
Matthew Wilson 2006-01-18 01:45:55 +00:00
parent 9499e17cfd
commit e33c7bebc3
22 changed files with 80 additions and 68 deletions

View file

@ -366,6 +366,7 @@ sub getAssetAdderLinks {
my $addToUrl = shift; my $addToUrl = shift;
my $type = shift || "assets"; my $type = shift || "assets";
my %links; my %links;
return [];
foreach my $class (@{$self->session->config->get($type)}) { foreach my $class (@{$self->session->config->get($type)}) {
next unless $class; next unless $class;
my $load = "use ".$class; my $load = "use ".$class;

View file

@ -305,7 +305,7 @@ sub view {
my $self = shift; my $self = shift;
# we've got to determine what our start point is based upon user conditions # we've got to determine what our start point is based upon user conditions
my $start; 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; my $current = $self->session->asset;
if ($self->get("startType") eq "specificUrl") { if ($self->get("startType") eq "specificUrl") {
$start = WebGUI::Asset->newByUrl($self->session,$self->get("startPoint")); $start = WebGUI::Asset->newByUrl($self->session,$self->get("startPoint"));

View file

@ -136,7 +136,7 @@ sub authenticate {
my $self = shift; my $self = shift;
my $username = shift; my $username = shift;
my $i18n = WebGUI::International->new($self->session); 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}; my $uid = $user->{userId};
#If userId does not exist or is not active, fail login #If userId does not exist or is not active, fail login
if(!$uid){ if(!$uid){
@ -326,7 +326,7 @@ Removes the user's authentication parameters from the database for all authentic
sub deleteParams { sub deleteParams {
my $self = shift; 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.submit'} = WebGUI::Form::submit($self->session,{});
$vars->{'account.form.footer'} = WebGUI::Form::formFooter($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); return WebGUI::Asset::Template->new($self->session,$self->getAccountTemplateId)->process($vars);
} }
@ -564,7 +564,7 @@ sub login {
#Create a new user #Create a new user
$uid = $self->userId; $uid = $self->userId;
$u = WebGUI::User->new($uid); $u = WebGUI::User->new($self->session,$uid);
$self->session->user({user=>$u}); $self->session->user({user=>$u});
$u->karma($self->session->setting->get("karmaPerLogin"),"Login","Just for logging in.") if ($self->session->setting->get("useKarma")); $u->karma($self->session->setting->get("karmaPerLogin"),"Login","Just for logging in.") if ($self->session->setting->get("useKarma"));
$self->_logLogin($uid,"success"); $self->_logLogin($uid,"success");
@ -587,7 +587,7 @@ Superclass method that performs standard logout routines.
sub logout { sub logout {
my $self = shift; my $self = shift;
$self->session->var->end($self->session->var->get("sessionId")); $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); my $u = WebGUI::User->new($self->session,1);
$self->{user} = $u; $self->{user} = $u;
return ""; return "";
@ -625,7 +625,8 @@ sub new {
$self->{error} = ""; $self->{error} = "";
$self->{profile} = (); $self->{profile} = ();
$self->{warning} = ""; $self->{warning} = "";
my @callable = ('init', shift); my $call = shift;
my @callable = ('init', @{$call});
$self->{callable} = \@callable; $self->{callable} = \@callable;
bless $self, $class; bless $self, $class;
return $self; return $self;

View file

@ -416,7 +416,9 @@ sub new {
my $userId = $_[1]; my $userId = $_[1];
my @callable = ('createAccount','deactivateAccount','displayAccount','displayLogin','login','logout','createAccountSave','deactivateAccountConfirm'); my @callable = ('createAccount','deactivateAccount','displayAccount','displayLogin','login','logout','createAccountSave','deactivateAccountConfirm');
my $self = WebGUI::Auth->new($session,$authMethod,$userId,\@callable); 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 $i18n = WebGUI::International->new($session, "AuthLDAP");
my %ldapStatusCode = map { $_ => $i18n->get("LDAPLink_".$_) } my %ldapStatusCode = map { $_ => $i18n->get("LDAPLink_".$_) }
(0..21, 32,33,34,36, 48..54, 64..71, 80); (0..21, 32,33,34,36, 48..54, 64..71, 80);

View file

@ -135,14 +135,14 @@ Renders a date picker control.
sub toHtml { sub toHtml {
my $self = shift; my $self = shift;
if ($self->get("_defaulted") && $self->get("noDate") ) { if ($self->get("_defaulted") && $self->get("noDate") ) {
$self->get("value") = ''; $self->set("value",'');
} }
else { 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) { 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/calendar.js',{ type=>'text/javascript' });
$self->session->style->setScript($self->session->config->get("extrasURL").'/calendar/lang/calendar-'.$language.'.js',{ type=>'text/javascript' }); $self->session->style->setScript($self->session->config->get("extrasURL").'/calendar/lang/calendar-'.$language.'.js',{ type=>'text/javascript' });

View file

@ -117,7 +117,7 @@ Renders an HTML area field.
sub toHtml { sub toHtml {
my $self = shift; my $self = shift;
$self->session->style->setScript($self->session->config->get("extrasURL").'/textFix.js',{ type=>'text/javascript' }); $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')); 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 $i18n = WebGUI::International->new($self->session);
my $richEdit = WebGUI::Asset::RichEdit->new($self->session,$self->get("richEditId")); my $richEdit = WebGUI::Asset::RichEdit->new($self->session,$self->get("richEditId"));

View file

@ -117,7 +117,7 @@ Renders an integer field.
sub toHtml { sub toHtml {
my $self = shift; my $self = shift;
$self->session->style->setScript($self->session->config->get("extrasURL").'/inputCheck.js',{ type=>'text/javascript' }); $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; return $self->SUPER::toHtml;
} }

View file

@ -146,7 +146,7 @@ sub getLanguages {
foreach my $file (@files) { foreach my $file (@files) {
if ($file =~ /(.*?)\.pm$/) { if ($file =~ /(.*?)\.pm$/) {
my $language = $1; my $language = $1;
$hashRef->{$language} = getLanguage($language,"label"); $hashRef->{$language} = $self->getLanguage($language,"label");
} }
} }
return $hashRef; return $hashRef;
@ -207,6 +207,7 @@ Specify a default language. Defaults to user preference or "English".
sub new { sub new {
my ($class, $session, $namespace, $language) = @_; my ($class, $session, $namespace, $language) = @_;
use WebGUI; WebGUI::dumpSession($session);
bless( { bless( {
_session => $session, _session => $session,
_namespace => $namespace, _namespace => $namespace,

View file

@ -59,7 +59,7 @@ sub execute {
$session->errorHandler->error("Couldn't compile operation: ".$operation->{$op}.". Root cause: ".$@) if ($@); $session->errorHandler->error("Couldn't compile operation: ".$operation->{$op}.". Root cause: ".$@) if ($@);
# Call the method # Call the method
$cmd = $operation->{$op} . '::www_'.$op; $cmd = $operation->{$op} . '::www_'.$op;
$output = eval{&$cmd($session)}; $output = eval{&{$cmd}($session)};
$session->errorHandler->error("Couldn't execute operation : ".$cmd.". Root cause: ".$@) if ($@); $session->errorHandler->error("Couldn't execute operation : ".$cmd.". Root cause: ".$@) if ($@);
} else { } else {
$session->errorHandler->security("execute an invalid operation: ".$op); $session->errorHandler->security("execute an invalid operation: ".$op);

View file

@ -51,7 +51,7 @@ via WebGUI::Session::switchAdminOff()
sub www_switchOffAdmin { sub www_switchOffAdmin {
my $session = shift; use WebGUI; WebGUI::dumpSession($session); my $session = shift; use WebGUI; WebGUI::dumpSession($session);
return "" unless ($session->user->isInGroup(12)); return "" unless ($session->user->isInGroup(12));
WebGUI::Session::switchAdminOff(); $session->var->switchAdminOff();
return ""; return "";
} }
@ -60,14 +60,13 @@ sub www_switchOffAdmin {
=head2 www_adminConsole ( ) =head2 www_adminConsole ( )
If the current user is in the Turn On Admin Group, then allow them to turn on Admin mode. If the current user is in the Turn On Admin Group, then allow them to turn on Admin mode.
via WebGUI::Session::switchAdminOn()
=cut =cut
sub www_switchOnAdmin { sub www_switchOnAdmin {
my $session = shift; use WebGUI; WebGUI::dumpSession($session); my $session = shift; use WebGUI; WebGUI::dumpSession($session);
return "" unless ($session->user->isInGroup(12)); return "" unless ($session->user->isInGroup(12));
WebGUI::Session::switchAdminOn(); $session->var->switchAdminOn();
return ""; return "";
} }

View file

@ -30,8 +30,8 @@ Get the instance of this object or create a new instance if none exists
=cut =cut
sub getInstance { sub getInstance {
my $session = shift; use WebGUI; WebGUI::dumpSession($session); my $session = shift; use WebGUI; WebGUI::dumpSession($session);
#Get Auth Settings #Get Auth Settings
my $authMethod = $session->user->authMethod || $session->setting->get("authMethod"); my $authMethod = $session->user->authMethod || $session->setting->get("authMethod");
$authMethod = $session->setting->get("authMethod") if($session->user->userId eq '1'); $authMethod = $session->setting->get("authMethod") if($session->user->userId eq '1');
$authMethod = $_[0] if($_[0] && isIn($_[0], @{$session->config->get("authMethods")})); $authMethod = $_[0] if($_[0] && isIn($_[0], @{$session->config->get("authMethods")}));
@ -41,8 +41,8 @@ sub getInstance {
my $load = "use ".$cmd; my $load = "use ".$cmd;
eval($load); eval($load);
$session->errorHandler->fatal("Authentication module failed to compile: $cmd.".$@) if($@); $session->errorHandler->fatal("Authentication module failed to compile: $cmd.".$@) if($@);
my $auth = eval{$cmd->new($session, $authMethod,$userId)}; my $auth = eval{$cmd->new($session, $authMethod,$userId)};
$session->errorHandler->fatal("Couldn't instantiate authentication module: $authMethod. Root cause: ".$@) if($@); $session->errorHandler->fatal("Couldn't instantiate authentication module: $authMethod. Root cause: ".$@) if($@);
return $auth; return $auth;
} }
@ -59,16 +59,16 @@ is returned.
sub www_auth { sub www_auth {
my $session = shift; use WebGUI; WebGUI::dumpSession($session); my $session = shift; use WebGUI; WebGUI::dumpSession($session);
my $auth; my $auth;
($auth) = $session->db->quickArray("select authMethod from users where username=".$session->db->quote($session->form->process("username"))) if($session->form->process("username")); ($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 $authMethod = getInstance($session,$auth);
my $methodCall = shift || $session->form->process("method") || "init"; my $methodCall = shift || $session->form->process("method") || "init";
if(!$authMethod->isCallable($methodCall)){ if(!$authMethod->isCallable($methodCall)){
$session->errorHandler->security("access uncallable auth method"); $session->errorHandler->security("access uncallable auth method");
my $i18n = WebGUI::International->new($session); my $i18n = WebGUI::International->new($session);
return $i18n->get(1077); return $i18n->get(1077);
} }
return $session->style->userStyle($authMethod->$methodCall); return $session->style->userStyle($authMethod->$methodCall);
} }

View file

@ -78,7 +78,7 @@ sub www_flushCache {
return $session->privilege->adminOnly() unless ($session->user->isInGroup(3)); return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my $cache = WebGUI::Cache->new($session,); my $cache = WebGUI::Cache->new($session,);
$cache->flush; $cache->flush;
return www_manageCache(); return www_manageCache($session);
} }
#------------------------------------------------------------------- #-------------------------------------------------------------------
@ -108,7 +108,7 @@ sub www_manageCache {
'</td></tr>'; '</td></tr>';
$output .= "</table>"; $output .= "</table>";
return _submenu($output); return _submenu($session,$output);
} }

View file

@ -94,7 +94,7 @@ sub validateProfileData {
#------------------------------------------------------------------- #-------------------------------------------------------------------
sub www_editProfile { sub www_editProfile {
my $session = shift; use WebGUI; WebGUI::dumpSession($session); 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 $i18n = WebGUI::International->new($session);
my $vars = {}; my $vars = {};
$vars->{displayTitle} .= '<h1>'.$i18n->get(338).'</h1>'; $vars->{displayTitle} .= '<h1>'.$i18n->get(338).'</h1>';
@ -105,7 +105,7 @@ sub www_editProfile {
$vars->{'profile.form.hidden'} = WebGUI::Form::hidden($session,{"name"=>"op","value"=>"editProfileSave"}); $vars->{'profile.form.hidden'} = WebGUI::Form::hidden($session,{"name"=>"op","value"=>"editProfileSave"});
$vars->{'profile.form.hidden'} .= WebGUI::Form::hidden($session,{"name"=>"uid","value"=>$session->user->userId}); $vars->{'profile.form.hidden'} .= WebGUI::Form::hidden($session,{"name"=>"uid","value"=>$session->user->userId});
my @array = (); my @array = ();
foreach my $category (@{WebGUI::ProfileCategory->getCategories}) { foreach my $category (@{WebGUI::ProfileCategory->getCategories($session)}) {
next unless $category->isEditable; next unless $category->isEditable;
my @temp = (); my @temp = ();
foreach my $field (@{$category->getFields}) { foreach my $field (@{$category->getFields}) {
@ -150,7 +150,7 @@ sub www_editProfileSave {
#------------------------------------------------------------------- #-------------------------------------------------------------------
sub www_viewProfile { sub www_viewProfile {
my $session = shift; use WebGUI; WebGUI::dumpSession($session); my $session = shift; use WebGUI; WebGUI::dumpSession($session);
my $u = WebGUI::User->new($session->form->process("uid")); my $u = WebGUI::User->new($session,$session->form->process("uid"));
my $i18n = WebGUI::International->new($session); my $i18n = WebGUI::International->new($session);
my $vars = {}; my $vars = {};
$vars->{displayTitle} = '<h1>'.$i18n->get(347).' '.$u->username.'</h1>'; $vars->{displayTitle} = '<h1>'.$i18n->get(347).' '.$u->username.'</h1>';
@ -161,7 +161,7 @@ sub www_viewProfile {
return $session->privilege->insufficient() if(!$session->user->isInGroup(2)); return $session->privilege->insufficient() if(!$session->user->isInGroup(2));
my @array = (); my @array = ();
foreach my $category (@{WebGUI::ProfileCategory->getCategories}) { foreach my $category (@{WebGUI::ProfileCategory->getCategories($session)}) {
next unless ($category->get("visible")); next unless ($category->get("visible"));
push(@array, {'profile.category' => $category->getLabel}); push(@array, {'profile.category' => $category->getLabel});
foreach my $field (@{$category->getFields}) { foreach my $field (@{$category->getFields}) {
@ -175,9 +175,10 @@ sub www_viewProfile {
} }
$vars->{'profile.elements'} = \@array; $vars->{'profile.elements'} = \@array;
if ($session->user->userId eq $session->form->process("uid")) { if ($session->user->userId eq $session->form->process("uid")) {
$vars->{'profile.accountOptions'} = WebGUI::Operation::Shared::accountOptions(); $vars->{'profile.accountOptions'} = WebGUI::Operation::Shared::accountOptions($session);
} }
return $session->style->userStyle(WebGUI::Asset::Template->new("PBtmpl0000000000000052")->process($vars));
return $session->style->userStyle(WebGUI::Asset::Template->new($session,"PBtmpl0000000000000052")->process($vars));
} }
1; 1;

View file

@ -221,7 +221,7 @@ sub www_editProfileField {
-value => $data->{dataDefault}, -value => $data->{dataDefault},
); );
my %hash; my %hash;
foreach my $category (@{WebGUI::ProfileCategory->getCategories}) { foreach my $category (@{WebGUI::ProfileCategory->getCategories($session)}) {
$hash{$category->getId} = $category->getLabel; $hash{$category->getId} = $category->getLabel;
} }
$f->selectBox( $f->selectBox(
@ -266,7 +266,7 @@ sub www_editProfileSettings {
return $session->privilege->adminOnly() unless ($session->user->isInGroup(3)); return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my $i18n = WebGUI::International->new($session,"WebGUIProfile"); my $i18n = WebGUI::International->new($session,"WebGUIProfile");
my $output = ""; my $output = "";
foreach my $category (@{WebGUI::ProfileCategory->getCategories}) { foreach my $category (@{WebGUI::ProfileCategory->getCategories($session)}) {
$output .= $session->icon->delete('op=deleteProfileCategoryConfirm;cid='.$category->getId,'',$i18n->get(466)); $output .= $session->icon->delete('op=deleteProfileCategoryConfirm;cid='.$category->getId,'',$i18n->get(466));
$output .= $session->icon->edit('op=editProfileCategory;cid='.$category->getId); $output .= $session->icon->edit('op=editProfileCategory;cid='.$category->getId);
$output .= $session->icon->moveUp('op=moveProfileCategoryUp;cid='.$category->getId); $output .= $session->icon->moveUp('op=moveProfileCategoryUp;cid='.$category->getId);

View file

@ -342,7 +342,7 @@ sub www_editUser {
my $style = '" style="display: none;' unless ($_ eq $u->authMethod); my $style = '" style="display: none;' unless ($_ eq $u->authMethod);
$tabform->getTab("account")->raw('<tr id="'.$_.$style.'"><td colspan="2" align="center"><table>'.$authInstance->editUserForm.'<tr><td width="170">&nbsp;</td><td>&nbsp;</td></tr></table></td></tr>'); $tabform->getTab("account")->raw('<tr id="'.$_.$style.'"><td colspan="2" align="center"><table>'.$authInstance->editUserForm.'<tr><td width="170">&nbsp;</td><td>&nbsp;</td></tr></table></td></tr>');
} }
foreach my $category (@{WebGUI::ProfileCategory->getCategories}) { foreach my $category (@{WebGUI::ProfileCategory->getCategories($session)}) {
$tabform->getTab("profile")->raw('<tr><td colspan="2" class="tableHeader">'.$category->getLabel.'</td></tr>'); $tabform->getTab("profile")->raw('<tr><td colspan="2" class="tableHeader">'.$category->getLabel.'</td></tr>');
foreach my $field (@{$category->getFields}) { foreach my $field (@{$category->getFields}) {
next if $field->getId =~ /contentPositions/; next if $field->getId =~ /contentPositions/;

View file

@ -107,6 +107,7 @@ sub www_setup {
$session->setting->set('companyURL',$session->form->url("companyURL")); $session->setting->set('companyURL',$session->form->url("companyURL"));
$session->setting->set('companyEmail',$session->form->email("companyEmail")); $session->setting->set('companyEmail',$session->form->email("companyEmail"));
$session->http->setRedirect($session->url->gateway()); $session->http->setRedirect($session->url->gateway());
$session->http->getHeader;
return ""; return "";
} else { } else {
$output .= '<legend align="left">Admin Account</legend>'; $output .= '<legend align="left">Admin Account</legend>';

View file

@ -124,10 +124,11 @@ Returns an array reference of all WebGUI::ProfileCategory objects in order of se
=cut =cut
sub getCategories { sub getCategories {
my $self = shift; my $class = shift;
my $session = shift;
my @categories = (); my @categories = ();
foreach my $id ($self->session->db->buildArray("select profileCategoryId from userProfileCategory order by sequenceNumber")) { foreach my $id ($session->db->buildArray("select profileCategoryId from userProfileCategory order by sequenceNumber")) {
push(@categories,WebGUI::ProfileCategory->new($self->session,$id)); push(@categories,WebGUI::ProfileCategory->new($session,$id));
} }
return \@categories; return \@categories;
} }
@ -173,7 +174,7 @@ Returns the eval'd label for this category.
sub getLabel { sub getLabel {
my $self = shift; my $self = shift;
return WebGUI::Operation::Shared::secureEval($self->get("label")); return WebGUI::Operation::Shared::secureEval($self->session,$self->get("label"));
} }
#------------------------------------------------------------------- #-------------------------------------------------------------------

View file

@ -135,7 +135,7 @@ sub formField {
$properties->{label} = $self->getLabel unless $properties->{label}; $properties->{label} = $self->getLabel unless $properties->{label};
$properties->{fieldType} = $self->get("fieldType"); $properties->{fieldType} = $self->get("fieldType");
$properties->{name} = $self->getId; $properties->{name} = $self->getId;
my $values = WebGUI::Operation::Shared::secureEval($self->get("possibleValues")) || {}; my $values = WebGUI::Operation::Shared::secureEval($self->session,$self->get("possibleValues")) || {};
my $orderedValues = {}; my $orderedValues = {};
tie %{$orderedValues}, 'Tie::IxHash'; tie %{$orderedValues}, 'Tie::IxHash';
foreach my $ov (sort keys %{$values}) { foreach my $ov (sort keys %{$values}) {
@ -150,7 +150,7 @@ sub formField {
} elsif (!defined $u && $self->session->user->profileField($properties->{name})) { } elsif (!defined $u && $self->session->user->profileField($properties->{name})) {
$default = $self->session->user->profileField($properties->{name}); $default = $self->session->user->profileField($properties->{name});
} else { } else {
$default = WebGUI::Operation::Shared::secureEval($properties->{dataDefault}); $default = WebGUI::Operation::Shared::secureEval($self->session,$properties->{dataDefault});
} }
$properties->{value} = $default; $properties->{value} = $default;
if ($withWrapper == 1) { if ($withWrapper == 1) {
@ -280,7 +280,7 @@ Returns the eval'd label for this field.
sub getLabel { sub getLabel {
my $self = shift; my $self = shift;
return WebGUI::Operation::Shared::secureEval($self->get("label")); return WebGUI::Operation::Shared::secureEval($self->session,$self->get("label"));
} }
#------------------------------------------------------------------- #-------------------------------------------------------------------

View file

@ -359,8 +359,8 @@ sub open {
my $config = WebGUI::Config->new($webguiRoot,$configFile); my $config = WebGUI::Config->new($webguiRoot,$configFile);
my $self = {_config=>$config, _server=>$server}; my $self = {_config=>$config, _server=>$server};
bless $self , $class; bless $self , $class;
$self->{_var} = WebGUI::Session::Var->new($self,$sessionId);
$self->{_request} = Apache2::Request->new($request, POST_MAX => 1024 * $self->setting->get("maxAttachmentSize")) if (defined $request); $self->{_request} = Apache2::Request->new($request, POST_MAX => 1024 * $self->setting->get("maxAttachmentSize")) if (defined $request);
$self->{_var} = WebGUI::Session::Var->new($self,$sessionId);
return $self; return $self;
} }
@ -535,10 +535,11 @@ sub user {
} }
delete $self->{_stow}; delete $self->{_stow};
$self->{_user} = $option->{user} || WebGUI::User->new($self, $userId); $self->{_user} = $option->{user} || WebGUI::User->new($self, $userId);
$self->var->start($userId,$self->getId);
$self->request->user($self->{_user}->username) if ($self->request);
} elsif (!exists $self->{_user}) { } elsif (!exists $self->{_user}) {
$self->{_user} = WebGUI::User->new($self, $self->var->get('userId')); $self->{_user} = WebGUI::User->new($self, $self->var->get('userId'));
} }
$self->request->user($self->{_user}->username) if ($self->request);
return $self->{_user}; return $self->{_user};
} }

View file

@ -77,7 +77,9 @@ Retrieves the cookies from the HTTP header and returns a hash reference containi
sub getCookies { sub getCookies {
my $self = shift; my $self = shift;
if ($self->session->request) { if ($self->session->request) {
return APR::Request::Apache2->handle($self->session->request)->jar(); my $jarHashRef = APR::Request::Apache2->handle($self->session->request)->jar();
return $jarHashRef if $jarHashRef;
return {};
} }
else { else {
return {}; return {};

View file

@ -213,20 +213,20 @@ Session id will be generated if not specified. In almost every case you should l
=cut =cut
sub start { sub start {
my $self = shift; my $self = shift;
my $userId = shift || 1; my $userId = shift || 1;
my $sessionId = shift; my $sessionId = shift || "new";
$self->{_var} = { $self->{_var} = {
sessionId=>"new", sessionId=>$sessionId,
expires=>$self->session->datetime->time() + $self->session->setting->get("sessionTimeout"), expires=>$self->session->datetime->time() + $self->session->setting->get("sessionTimeout"),
lastPageView=>$self->session->datetime->time(), lastPageView=>$self->session->datetime->time(),
lastIP => $self->session->env->get("REMOTE_ADDR"), lastIP => $self->session->env->get("REMOTE_ADDR"),
adminOn => 0, adminOn => 0,
userId => $userId userId => $userId
}; };
$self->{_var}{sessionId} = $self->session->{_sessionId} = $self->session->db->setRow("userSession","sessionId",$self->{_var}, $sessionId); $self->{_var}{sessionId} = $self->session->{_sessionId} = $self->session->db->setRow("userSession","sessionId",$self->{_var});
$self->session->http->setCookie("wgSession",$sessionId); $self->session->http->setCookie("wgSession",$self->{_var}{sessionId}) unless $self->{_var}{sessionId} eq $self->session->http->getCookies->{"wgSession"};
return $self->getId; return $self->getId;
} }
#------------------------------------------------------------------- #-------------------------------------------------------------------

View file

@ -67,6 +67,8 @@ is($user->authMethod, "WebGUI", 'authMethod() -- default value is WebGUI');
$lastUpdate = time(); $lastUpdate = time();
$user->authMethod("LDAP"); $user->authMethod("LDAP");
is($user->authMethod, "LDAP", 'authMethod() -- set to LDAP'); is($user->authMethod, "LDAP", 'authMethod() -- set to LDAP');
$user->authMethod("WebGUI");
is($user->authMethod, "WebGUI", 'authMethod() -- set back to WebGUI');
is($user->lastUpdated, $lastUpdate, 'lastUpdated() -- authmethod change'); is($user->lastUpdated, $lastUpdate, 'lastUpdated() -- authmethod change');
#See if datecreated is correct #See if datecreated is correct