diff --git a/lib/WebGUI/Operation/DatabaseLink.pm b/lib/WebGUI/Operation/DatabaseLink.pm index f644b113c..037cfa347 100644 --- a/lib/WebGUI/Operation/DatabaseLink.pm +++ b/lib/WebGUI/Operation/DatabaseLink.pm @@ -58,7 +58,7 @@ sub www_deleteDatabaseLink { .'">'.$i18n->get(44).''; $output .= '    '.$i18n->get(45).''; - return _submenu($output,"987","database link delete"); + return _submenu($session,$output,"987","database link delete"); } #------------------------------------------------------------------- @@ -76,7 +76,9 @@ sub www_editDatabaseLink { my ($output, %db, $f); tie %db, 'Tie::CPHash'; if ($session->form->process("dlid") eq "new") { - + + } elsif ($session->form->process("dlid") eq "0") { + } else { %db = %{WebGUI::DatabaseLink->new($session,$session->form->process("dlid"))->get}; } @@ -123,7 +125,7 @@ sub www_editDatabaseLink { ); $f->submit; $output .= $f->print; - return _submenu($output,"990","database link add/edit"); + return _submenu($session,$output,"990","database link add/edit"); } #------------------------------------------------------------------- @@ -148,7 +150,7 @@ sub www_editDatabaseLinkSave { sub www_listDatabaseLinks { my $session = shift; use WebGUI; WebGUI::dumpSession($session); return $session->privilege->adminOnly() unless($session->user->isInGroup(3)); - my $links = WebGUI::DatabaseLinks->getList($session); + my $links = WebGUI::DatabaseLink->getList($session); my $output = ''; my $i18n = WebGUI::International->new($session); foreach my $id (keys %{$links}) { @@ -161,7 +163,7 @@ sub www_listDatabaseLinks { $output .= ''; } $output .= '
'.$links->{$id}.'
'; - return _submenu($output,"database links manage"); + return _submenu($session,$output,"database links manage"); } diff --git a/lib/WebGUI/Operation/User.pm b/lib/WebGUI/Operation/User.pm index 222c478b2..3d473b7fc 100644 --- a/lib/WebGUI/Operation/User.pm +++ b/lib/WebGUI/Operation/User.pm @@ -37,7 +37,7 @@ Operation for creating, deleting, editing and many other user related functions. =cut #------------------------------------------------------------------- -=head2 _submenu ( $workarea [, $title, $help] ) +=head2 _submenu ( $session, $workarea [, $title, $help] ) Internal utility routine for setting up the Admin Console for User functions. @@ -84,7 +84,7 @@ sub _submenu { return $ac->render($workarea, $title); } -=head2 doUserSearch ( $op, $returnPaginator, $userFilter ) +=head2 doUserSearch ( $session, $op, $returnPaginator, $userFilter ) Subroutine that actually performs the SQL search for users. @@ -141,7 +141,7 @@ sub doUserSearch { } } -=head2 doUserSearchForm ( $op, $params ) +=head2 doUserSearchForm ( $session, $op, $params ) Form front-end and display for searching for users. @@ -223,6 +223,8 @@ sub www_becomeUser { my $session = shift; use WebGUI; WebGUI::dumpSession($session); return $session->privilege->adminOnly() unless ($session->user->isInGroup(3)); $session->user({userId=>$session->form->process("uid")}); + $session->var->end($session->var->get("sessionId")); + $session->var->start($session->form->process("uid"),$session->getId); return ""; } @@ -243,14 +245,14 @@ sub www_deleteUser { return $session->privilege->adminOnly() unless ($session->user->isInGroup(3)); my $i18n = WebGUI::International->new($session); if ($session->form->process("uid") eq '1' || $session->form->process("uid") eq '3') { - return _submenu($session->privilege->vitalComponent()); + return _submenu($session,$session->privilege->vitalComponent()); } else { $output .= $i18n->get(167).'

'; $output .= '

'.$i18n->get(44).''; $output .= '    '. $i18n->get(45).'
'; - return _submenu($output,'42',"user delete"); + return _submenu($session,$output,'42',"user delete"); } } @@ -382,7 +384,7 @@ sub www_editUser { -size=>15, -value=>\@groupsToDelete ); - return _submenu($error.$tabform->print,'168',"user add/edit"); + return _submenu($session,$error.$tabform->print,'168',"user add/edit"); } #------------------------------------------------------------------- @@ -419,7 +421,7 @@ sub www_editUserSave { $error = ''; } if ($isSecondary) { - return _submenu($i18n->get(978)); + return _submenu($session,$i18n->get(978)); } else { return www_editUser($error); } @@ -452,7 +454,7 @@ sub www_editUserKarma { ); $f->submit; $output .= $f->print; - return _submenu($output,'558',"edit user karma"); + return _submenu($session,$output,'558',"edit user karma"); } #------------------------------------------------------------------- @@ -477,9 +479,9 @@ sub www_listUsers { } my %status; my $i18n = WebGUI::International->new($session); - my $output = getUserSearchForm("listUsers"); + my $output = getUserSearchForm($session,"listUsers"); my ($userCount) = $session->db->quickArray("select count(*) from users"); - return _submenu($output) unless ($session->form->process("doit") || $userCount<250 || $session->form->process("pn") > 1); + return _submenu($session,$output) unless ($session->form->process("doit") || $userCount<250 || $session->form->process("pn") > 1); tie %status, 'Tie::IxHash'; %status = ( Active => $i18n->get(817), @@ -496,7 +498,7 @@ sub www_listUsers { '.$i18n->get(429).' '.$i18n->get(434).' '; - my $p = doUserSearch("listUsers",1); + my $p = doUserSearch($session,"listUsers",1); foreach my $data (@{$p->getPageData}) { $output .= ''; $output .= ''.$status{$data->{status}}.''; @@ -521,7 +523,7 @@ sub www_listUsers { } $output .= ''; $output .= $p->getBarTraditional; - return _submenu($output,undef,"users manage"); + return _submenu($session,$output,undef,"users manage"); } 1; diff --git a/lib/WebGUI/Paginator.pm b/lib/WebGUI/Paginator.pm index c9b7df8b7..e336d233a 100644 --- a/lib/WebGUI/Paginator.pm +++ b/lib/WebGUI/Paginator.pm @@ -538,10 +538,10 @@ sub setDataByQuery { my ($self, $sql, $dbh, $unconditional, $placeholders, $dynamicPageNumberKey, $dynamicPageNumberValue) = @_; $dbh ||= $self->session->dbSlave; if ($unconditional) { - $sth = $dbh->unconditionalRead($sql,$placeholders); + $sth = $dbh->unconditionalRead($sql,undef,$placeholders); return $sth->errorMessage if ($sth->errorCode > 0); } else { - $sth = $dbh->read($sql,$placeholders); + $sth = $dbh->read($sql,undef,$placeholders); } my $defaultPageNumber = $self->getPageNumber; $self->{_totalRows} = $sth->rows; diff --git a/lib/WebGUI/Session/DateTime.pm b/lib/WebGUI/Session/DateTime.pm index 769093cd6..2007980ce 100644 --- a/lib/WebGUI/Session/DateTime.pm +++ b/lib/WebGUI/Session/DateTime.pm @@ -60,7 +60,7 @@ This package provides easy to use date math functions, which are normally a comp ($interval, $units) = $dt->secondsToInterval($seconds); $timeString = $dt->secondsToTime($seconds); $epoch = $dt-$self->session->datetime->setToEpoch($setString); - $epoch = $dt-$self->session->datetime->time(); + $epoch = $dt-$self->time(); $seconds = $dt->timeToSeconds($timeString); =head1 METHODS @@ -223,7 +223,7 @@ A string representing the output format for the date. Defaults to '%z %Z'. You c sub epochToHuman { my $self = shift; - my $epoch = shift || $self->session->datetime->time(); + my $epoch = shift || $self->time(); my $i18n = WebGUI::International->new($self->session); my $language = $i18n->getLanguage($self->session->user->profileField("language")); my $locale = $language->{languageAbbreviation} || "en"; @@ -560,7 +560,7 @@ The number of seconds since January 1, 1970. Defaults to now. sub localtime { my $self = shift; - my $dt = DateTime->from_epoch( epoch => shift ||$self->session->datetime->time() ); + my $dt = DateTime->from_epoch( epoch => shift ||$self->time() ); $dt->set_time_zone($self->session->user->profileField("timeZone")|| "America/Chicago"); # assign the user's timezone return ( $dt->year, $dt->month, $dt->day, $dt->hour, $dt->minute, $dt->second, $dt->day_of_year, $dt->day_of_week, $dt->is_dst ); }