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 .= '| '.$links->{$id}.' | ';
}
$output .= '
';
- 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 .= '
';
- 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 = '- '.$i18n->get(77).' '.$session->form->process("username").'Too or '.$session->form->process("username").'02
';
}
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 {
';
- 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 );
}