migrating paginator api to new session system

fixed a few old style session vars
This commit is contained in:
JT Smith 2006-01-12 17:24:06 +00:00
parent 65a40d75ac
commit 877bf082a0
34 changed files with 280 additions and 262 deletions

View file

@ -172,7 +172,7 @@ sub view {
$var{"description.first.2sentences"} =~ s/^((.*?\.){2}).*/$1/s;
$var{"description.first.sentence"} = $var{"description.first.2sentences"};
$var{"description.first.sentence"} =~ s/^(.*?\.).*/$1/s;
my $p = WebGUI::Paginator->new($self->getUrl,1);
my $p = WebGUI::Paginator->new($self->session,$self->getUrl,1);
if ($self->session->form->process("makePrintable") || $var{description} eq "") {
$var{description} =~ s/\^\-\;//g;
$p->setDataByArrayRef([$var{description}]);

View file

@ -894,9 +894,9 @@ sub view {
my $self = shift;
my $scratchSortBy = $self->getId."_sortBy";
my $scratchSortOrder = $self->getId."_sortDir";
my $sortBy = $self->session->form->process("sortBy") || $session{scratch}{$scratchSortBy} || $self->get("sortBy");
my $sortOrder = $session{scratch}{$scratchSortOrder} || $self->get("sortOrder");
if ($sortBy ne $session{scratch}{$scratchSortBy} && $self->session->form->process("func") ne "editSave") {
my $sortBy = $self->session->form->process("sortBy") || $self->session->scratch->get("$scratchSortBy") || $self->get("sortBy");
my $sortOrder = $self->session->scratch->get("$scratchSortOrder") || $self->get("sortOrder");
if ($sortBy ne $self->session->scratch->get("$scratchSortBy") && $self->session->form->process("func") ne "editSave") {
$self->session->scratch->set($scratchSortBy,$self->session->form->process("sortBy"));
} elsif ($self->session->form->process("sortBy") && $self->session->form->process("func") ne "editSave") {
if ($sortOrder eq "asc") {
@ -938,7 +938,7 @@ sub view {
left join assetData on assetData.assetId=Thread.assetId and Thread.revisionDate = assetData.revisionDate
where asset.parentId=".$self->session->db->quote($self->getId)." and asset.state='published' and asset.className='WebGUI::Asset::Post::Thread' and assetData.revisionDate=(SELECT max(revisionDate) from assetData where assetData.assetId=asset.assetId) and $constraints
group by assetData.assetId order by Thread.isSticky desc, ".$sortBy." ".$sortOrder;
my $p = WebGUI::Paginator->new($self->getUrl,$self->get("threadsPerPage"));
my $p = WebGUI::Paginator->new($self->session,$self->getUrl,$self->get("threadsPerPage"));
$self->appendPostListTemplateVars(\%var, $sql, $p);
$self->appendTemplateLabels(\%var);
return $self->processTemplate(\%var,$self->get("collaborationTemplateId"));
@ -965,28 +965,28 @@ sub www_search {
.WebGUI::Form::hidden($self->session,{ name=>"doit", value=>1 });
$var{'all.form'} = WebGUI::Form::text({
name=>'all',
value=>$session{scratch}{$self->getId."_all"},
value=>$self->session->scratch->get("$self->getId."_all""),
size=>($self->session->setting->get("textBoxSize")-5)
});
$var{'exactphrase.form'} = WebGUI::Form::text({
name=>'exactPhrase',
value=>$session{scratch}{$self->getId."_exactPhrase"},
value=>$self->session->scratch->get("$self->getId."_exactPhrase""),
size=>($self->session->setting->get("textBoxSize")-5)
});
$var{'atleastone.form'} = WebGUI::Form::text({
name=>'atLeastOne',
value=>$session{scratch}{$self->getId."_atLeastOne"},
value=>$self->session->scratch->get("$self->getId."_atLeastOne""),
size=>($self->session->setting->get("textBoxSize")-5)
});
$var{'without.form'} = WebGUI::Form::text({
name=>'without',
value=>$session{scratch}{$self->getId."_without"},
value=>$self->session->scratch->get("$self->getId."_without""),
size=>($self->session->setting->get("textBoxSize")-5)
});
my %results;
tie %results, 'Tie::IxHash';
%results = (10=>'10', 25=>'25', 50=>'50', 100=>'100');
my $numResults = $session{scratch}{$self->getId."_numResults"} || $self->get("threadsPerPage");
my $numResults = $self->session->scratch->get("$self->getId."_numResults"") || $self->get("threadsPerPage");
$var{'results.form'} = WebGUI::Form::selectBox({
name=>"numResults",
options=>\%results,
@ -1000,10 +1000,10 @@ sub www_search {
if ($self->session->form->process("doit")) {
my @fieldsToSearch = qw(assetData.title assetData.synopsis Post.content Post.username Post.userDefined1 Post.userDefined2 Post.userDefined3 Post.userDefined4 Post.userDefined5);
my $all;
if ($session{scratch}{$self->getId."_all"} ne "") {
$session{scratch}{$self->getId."_all"} =~ s/,/ /g;
$session{scratch}{$self->getId."_all"} =~ s/\s+/ /g;
my @words = split(/ /,$session{scratch}{$self->getId."_all"});
if ($self->session->scratch->get("$self->getId."_all"") ne "") {
$self->session->scratch->get("$self->getId."_all"") =~ s/,/ /g;
$self->session->scratch->get("$self->getId."_all"") =~ s/\s+/ /g;
my @words = split(/ /,$self->session->scratch->get("$self->getId."_all""));
foreach my $word (@words) {
$all .= " and " if ($all ne "");
$all .= "(";
@ -1018,17 +1018,17 @@ sub www_search {
}
}
my $exactPhrase;
if ($session{scratch}{$self->getId."_exactPhrase"} ne "") {
if ($self->session->scratch->get("$self->getId."_exactPhrase"") ne "") {
foreach my $field (@fieldsToSearch) {
$exactPhrase .= " or " if ($exactPhrase ne "");
$exactPhrase .= " $field like ".$self->session->db->quote("%".$session{scratch}{$self->getId."_exactPhrase"}."%");
$exactPhrase .= " $field like ".$self->session->db->quote("%".$self->session->scratch->get("$self->getId."_exactPhrase"")."%");
}
}
my $atLeastOne;
if ($session{scratch}{$self->getId."_atLeastOne"} ne "") {
$session{scratch}{$self->getId."_atLeastOne"} =~ s/,/ /g;
$session{scratch}{$self->getId."_atLeastOne"} =~ s/\s+/ /g;
my @words = split(/ /,$session{scratch}{$self->getId."_atLeastOne"});
if ($self->session->scratch->get("$self->getId."_atLeastOne"") ne "") {
$self->session->scratch->get("$self->getId."_atLeastOne"") =~ s/,/ /g;
$self->session->scratch->get("$self->getId."_atLeastOne"") =~ s/\s+/ /g;
my @words = split(/ /,$self->session->scratch->get("$self->getId."_atLeastOne""));
foreach my $word (@words) {
foreach my $field (@fieldsToSearch) {
$atLeastOne .= " or " if ($atLeastOne ne "");
@ -1037,10 +1037,10 @@ sub www_search {
}
}
my $without;
if ($session{scratch}{$self->getId."_without"} ne "") {
$session{scratch}{$self->getId."_without"} =~ s/,/ /g;
$session{scratch}{$self->getId."_without"} =~ s/\s+/ /g;
my @words = split(/ /,$session{scratch}{$self->getId."_without"});
if ($self->session->scratch->get("$self->getId."_without"") ne "") {
$self->session->scratch->get("$self->getId."_without"") =~ s/,/ /g;
$self->session->scratch->get("$self->getId."_without"") =~ s/\s+/ /g;
my @words = split(/ /,$self->session->scratch->get("$self->getId."_without""));
foreach my $word (@words) {
foreach my $field (@fieldsToSearch) {
$without .= " and " if ($without ne "");
@ -1071,7 +1071,7 @@ sub www_search {
$sql .= " and " if ($sql ne "" && $without ne "");
$sql .= " ($without) " if ($without ne "");
$sql .= " group by assetData.assetId order by Post.dateSubmitted desc";
my $p = WebGUI::Paginator->new($self->getUrl("func=search;doit=1"),$numResults);
my $p = WebGUI::Paginator->new($self->session,$self->getUrl("func=search;doit=1"),$numResults);
$self->appendPostListTemplateVars(\%var, $sql, $p);
}
return $self->processStyle($self->processTemplate(\%var, $self->get("searchTemplateId")));

View file

@ -40,7 +40,7 @@ sub _createField {
my %param;
$param{name} = $data->{name};
$param{name} = "field_".$data->{sequenceNumber} if ($param{name} eq ""); # Empty fieldname not allowed
$session{form}{$param{name}} =~ s/\^.*?\;//gs ; # remove macro's from user input
$self->session->form->process("$param{name}") =~ s/\^.*?\;//gs ; # remove macro's from user input
$param{value} = $data->{value};
$param{size} = $data->{width};
$param{rows} = $data->{rows} || 5;
@ -53,7 +53,7 @@ sub _createField {
}
if (isIn($data->{type},qw(selectList checkList))) {
my @defaultValues;
if ($session{form}{$param{name}}) {
if ($self->session->form->process("$param{name}")) {
@defaultValues = $self->session->form->selectList($param{name});
} else {
foreach (split(/\n/, $data->{value})) {
@ -426,7 +426,7 @@ sub getRecordTemplateVars {
my @fields;
my $sth = $self->session->db->read("$select from DataForm_field as a $join $where and a.DataForm_tabId=".$self->session->db->quote($tab{DataForm_tabId})." order by a.sequenceNumber");
while (%data = $sth->hash) {
my $formValue = $session{form}{$data{name}};
my $formValue = $self->session->form->process("$data{name}");
if ((not exists $data{value}) && $self->session->form->process("func") ne "editSave" && $self->session->form->process("func") ne "editFieldSave" && defined $formValue) {
$data{value} = $formValue;
$data{value} = $self->session->datetime->setToEpoch($data{value}) if ($data{type} eq "date");
@ -470,7 +470,7 @@ sub getRecordTemplateVars {
my @fields;
my $sth = $self->session->db->read("$select from DataForm_field as a $join $where and a.DataForm_tabId = 0 order by a.sequenceNumber");
while (%data = $sth->hash) {
my $formValue = $session{form}{$data{name}};
my $formValue = $self->session->form->process("$data{name}");
if ((not exists $data{value}) && $self->session->form->process("func") ne "editSave" && $self->session->form->process("func") ne "editFieldSave" && defined $formValue) {
$data{value} = $formValue;
$data{value} = $self->session->datetime->setToEpoch($data{value}) if ($data{type} eq "date");

View file

@ -232,7 +232,7 @@ sub view {
foreach my $input_name (keys %{$session{form}}) {
next if ($input_name !~ /^HttpProxy_/); # Skip non proxied form var's
$input_name =~ s/^HttpProxy_//;
$proxiedUrl=$self->session->url->append($proxiedUrl,"$input_name=$session{form}{'HttpProxy_'.$input_name}");
$proxiedUrl=$self->session->url->append($proxiedUrl,"$input_name=$self->session->form->process("'HttpProxy_'.$input_name")");
}
}
$request = HTTP::Request->new(GET => $proxiedUrl, $header) || return "wrong url"; # Create GET request
@ -245,13 +245,13 @@ sub view {
next if ($input_name !~ /^HttpProxy_/); # Skip non proxied form var's
$input_name =~ s/^HttpProxy_//;
my $uploadFile = $self->session->request->tmpFileName($session{form}{'HttpProxy_'.$input_name});
my $uploadFile = $self->session->request->tmpFileName($self->session->form->process("'HttpProxy_'.$input_name"));
if(-r $uploadFile) { # Found uploaded file
@formUpload=($uploadFile, qq/$session{form}{'HttpProxy_'.$input_name}/);
@formUpload=($uploadFile, qq/$self->session->form->process("'HttpProxy_'.$input_name")/);
$formdata{$input_name}=\@formUpload;
$contentType = 'form-data'; # Different Content Type header for file upload
} else {
$formdata{$input_name}=qq/$session{form}{'HttpProxy_'.$input_name}/;
$formdata{$input_name}=qq/$self->session->form->process("'HttpProxy_'.$input_name")/;
}
}
# Create POST request

View file

@ -214,7 +214,7 @@ sub view {
my $lastDepartment = "_nothing_";
my $p = WebGUI::Paginator->new($url, $self->getValue("paginateAfter"));
my $p = WebGUI::Paginator->new($self->session,$url, $self->getValue("paginateAfter"));
my $sql = "select users.username,
users.userId,
@ -433,7 +433,7 @@ sub www_viewReport {
$var{showReport} = 1;
$endDate = $self->session->datetime->addToTime($endDate,24,0,0);
my $lastDepartment = "_none_";
my $p = WebGUI::Paginator->new($url, $pageReportAfter);
my $p = WebGUI::Paginator->new($self->session,$url, $pageReportAfter);
my $sql = "select users.username,
users.userId,

View file

@ -260,7 +260,7 @@ sub view {
map {$url .= "&namespaces=".$self->session->url->escape($_)} $self->session->request->param('namespaces');
map {$url .= "&contentTypes=".$self->session->url->escape($_)} $self->session->request->param('contentTypes');
$url .= "&paginateAfter=".$self->getValue("paginateAfter");
my $p = WebGUI::Paginator->new($self->session->url->page($url), $self->getValue("paginateAfter"));
my $p = WebGUI::Paginator->new($self->session,$self->session->url->page($url), $self->getValue("paginateAfter"));
$p->setDataByArrayRef($results);
$var{startNr} = 1;
if($self->session->form->process("pn")) {

View file

@ -749,11 +749,11 @@ sub www_rate {
if ($first) {
$first=0;
} else {
if ($lastRating != $session{form}{$category}) {
if ($lastRating != $self->session->form->process("$category")) {
$sameRating = 0;
}
}
$lastRating = $session{form}{$category};
$lastRating = $self->session->form->process("$category");
}
return $self->www_viewDetail("",1) if ($hasRated || $sameRating); # Throw out ratings that are all the same number, or if the user rates twice.
$self->setRatings($self->session->form->process("listingId"),$session{form});
@ -773,14 +773,14 @@ sub www_search {
}
my $sth = $self->session->db->read("select name,fieldType from Matrix_field");
while (my ($name,$fieldType) = $sth->array) {
next unless ($session{form}{$name});
next unless ($self->session->form->process("$name"));
push(@list,0);
my $where;
if ($fieldType ne "goodBad") {
$where = "("
."a.value like ".$self->session->db->quote("%".$session{form}{$name}."%")
."a.value like ".$self->session->db->quote("%".$self->session->form->process("$name")."%")
." or a.value='Any'"
#." or a.value<".$self->session->db->quote($session{form}{$name})
#." or a.value<".$self->session->db->quote($self->session->form->process("$name"))
." or a.value='Free'"
.")";
} else {
@ -832,13 +832,13 @@ sub www_search {
if ($data->{fieldType} ne "goodBad") {
$data->{form} = WebGUI::Form::text({
name=>$data->{name},
value=>$session{form}{$data->{name}}
value=>$self->session->form->process("$data->{name}")
});
} else {
$data->{form} = WebGUI::Form::checkbox({
name=>$data->{name},
value=>"1",
checked=>$session{form}{$data->{name}}
checked=>$self->session->form->process("$data->{name}")
});
}
push(@loop,$data);

View file

@ -459,7 +459,7 @@ sub www_preview {
showSystemPages=>$self->session->form->process("showSystemPages"),
showHiddenPages=>$self->session->form->process("showHiddenPages"),
showUnprivilegedPages=>$self->session->form->process("showUnprivilegedPages"),
'reverse'=>$session{form}{'reverse'},
'reverse'=>$self->session->form->process("'reverse'"),
);
my $output = qq(
<table width="100%" border="0" cellpadding="5" cellspacing="0">
@ -474,7 +474,7 @@ sub www_preview {
stopAtLevel: $self->session->form->process("stopAtLevel")<br />
depth: $self->session->form->process("depth")<br />
templateId: $self->session->form->process("templateId")<br />
reverse: $session{form}{'reverse'}<br />
reverse: $self->session->form->process("'reverse'")<br />
showSystemPages: $self->session->form->process("showSystemPages")<br />
showHiddenPages: $self->session->form->process("showHiddenPages")<br />
showUnprivilegedPages: $self->session->form->process("showUnprivilegedPages")<br />

View file

@ -289,7 +289,7 @@ sub _parsePlaceholderParams {
my ($type,$field) = split(/:/,$row);
my $param;
if($type =~ /^form/) {
$param = $session{form}{$field};
$param = $self->session->form->process("$field");
} elsif ($type =~ /^query(\d)/) {
$param = $self->{_query}{$1}{rowData}{$field};
}
@ -332,12 +332,12 @@ sub _processQuery {
foreach (keys %{$session{form}}) {
unless ($_ eq "pn" || $_ eq "func" || $_ =~ /identifier/i || $_ =~ /password/i) {
$url = $self->session->url->append($url, $self->session->url->escape($_)
.'='.$self->session->url->escape($session{form}{$_}));
.'='.$self->session->url->escape($self->session->form->process("$_")));
}
}
my $paginateAfter = $self->get("paginateAfter");
$paginateAfter = 1000 if($nr > 1);
my $p = WebGUI::Paginator->new($url,$paginateAfter);
my $p = WebGUI::Paginator->new($self->session,$url,$paginateAfter);
my $error = $p->setDataByQuery($query,$dbh,1,$placeholderParams);
if ($error ne "") {
$self->session->errorHandler->warn("There was a problem with the query: ".$error);

View file

@ -187,7 +187,7 @@ sub duplicate {
sub generateResponseId {
my $self = shift;
my $varname = $self->getResponseIdString;
if ($session{scratch}{$varname}) {
if ($self->session->scratch->get("$varname")) {
$self->completeResponse;
}
my $ipAddress = $self->getIp;
@ -532,7 +532,7 @@ sub getSectionDrivenQuestionIds {
#-------------------------------------------------------------------
sub getResponseId {
my $self = shift;
return $session{scratch}{$self->getResponseIdString};
return $self->session->scratch->get("$self->getResponseIdString");
}
#-------------------------------------------------------------------
@ -1161,31 +1161,31 @@ sub www_respond {
my $self = shift;
return "" unless ($self->session->user->isInGroup($self->get("groupToTakeSurvey")));
my $varname = $self->getResponseIdString;
return "" unless ($session{scratch}{$varname});
return "" unless ($self->session->scratch->get("$varname"));
my $userId = ($self->get("anonymous")) ? substr(md5_hex($self->session->user->profileField("userId")),0,8) : $self->session->user->profileField("userId");
my $terminate = 0;
foreach my $key (keys %{$session{form}}) {
if ($key =~ /^answerId_(.+)$/) {
my $id = $1;
my ($previousResponse) = $self->session->db->quickArray("select count(*) from Survey_questionResponse
where Survey_answerId=".$self->session->db->quote($session{form}{"answerId_".$id})." and Survey_responseId=".$self->session->db->quote($session{scratch}{$varname}));
where Survey_answerId=".$self->session->db->quote($self->session->form->process(""answerId_".$id"))." and Survey_responseId=".$self->session->db->quote($self->session->scratch->get("$varname")));
next if ($previousResponse);
my $answer = $self->getCollateral("Survey_answer","Survey_answerId",$session{form}{"answerId_".$id});
my $answer = $self->getCollateral("Survey_answer","Survey_answerId",$self->session->form->process(""answerId_".$id"));
if ($self->get("questionOrder") eq "response" && $answer->{gotoQuestion} eq "") {
$terminate = 1;
}
my $response = $session{form}{"textResponse_".$id} || $answer->{answer};
my $response = $self->session->form->process(""textResponse_".$id} || $answer->{answer");
$self->session->db->write("insert into Survey_questionResponse (Survey_answerId,Survey_questionId,Survey_responseId,Survey_id,comment,response,dateOfResponse) values (
".$self->session->db->quote($answer->{Survey_answerId}).", ".$self->session->db->quote($answer->{Survey_questionId}).", ".$self->session->db->quote($session{scratch}{$varname}).", ".$self->session->db->quote($answer->{Survey_id}).",
".$self->session->db->quote($session{form}{"comment_".$id}).", ".$self->session->db->quote($response).", ".$self->session->datetime->time().")");
".$self->session->db->quote($answer->{Survey_answerId}).", ".$self->session->db->quote($answer->{Survey_questionId}).", ".$self->session->db->quote($self->session->scratch->get("$varname}).", ".$self->session->db->quote($answer->{Survey_id")).",
".$self->session->db->quote($self->session->form->process(""comment_".$id")).", ".$self->session->db->quote($response).", ".$self->session->datetime->time().")");
}
}
my $responseCount = $self->getQuestionResponseCount($session{scratch}{$varname});
my $responseCount = $self->getQuestionResponseCount($self->session->scratch->get("$varname"));
if ($terminate || $responseCount >= $self->getValue("questionsPerResponse") || $responseCount >= $self->getQuestionCount) {
$self->session->db->setRow("Survey_response","Survey_responseId",{
isComplete=>1,
endDate=>$self->session->datetime->time(),
Survey_responseId=>$session{scratch}{$varname}
Survey_responseId=>$self->session->scratch->get("$varname")
});
}
$self->logView() if ($self->session->setting->get("passiveProfilingEnabled"));
@ -1212,7 +1212,7 @@ sub www_viewGradebook {
$self->logView() if ($self->session->setting->get("passiveProfilingEnabled"));
my $var = $self->getMenuVars;
$var->{title} = WebGUI::International::get(71,'Asset_Survey');
my $p = WebGUI::Paginator->new($self->getUrl('func=viewGradebook'));
my $p = WebGUI::Paginator->new($self->session,$self->getUrl('func=viewGradebook'));
$p->setDataByQuery("select userId,username,ipAddress,Survey_responseId,startDate,endDate from Survey_response
where Survey_id=".$self->session->db->quote($self->get("Survey_id"))." order by username,ipAddress,startDate");
my $users = $p->getPageData;
@ -1308,7 +1308,7 @@ sub www_viewStatisticalOverview {
$self->logView() if ($self->session->setting->get("passiveProfilingEnabled"));
my $var = $self->getMenuVars;
$var->{title} = WebGUI::International::get(58,'Asset_Survey');
my $p = WebGUI::Paginator->new($self->getUrl('func=viewStatisticalOverview'));
my $p = WebGUI::Paginator->new($self->session,$self->getUrl('func=viewStatisticalOverview'));
$p->setDataByQuery("select Survey_questionId,question,answerFieldType,allowComment from Survey_question
where Survey_id=".$self->session->db->quote($self->get("Survey_id"))." order by sequenceNumber");
my $questions = $p->getPageData;

View file

@ -419,7 +419,7 @@ sub view {
# this case hasn't ever happened running against my dev SOAP::Lite
# services, but let's assume it might. If our results array has
# more than one element, let's hope if contains scalars
$p = WebGUI::Paginator->new($url, $self->get('paginateAfter'));
$p = WebGUI::Paginator->new($self->session,$url, $self->get('paginateAfter'));
$p->setDataByArrayRef(\@result);
@result = ();
@result = @$p;
@ -431,7 +431,7 @@ sub view {
if (my $aref = $result[0]->{$self->get('paginateVar')}) {
$var{'numResults'} = scalar @$aref;
$p = WebGUI::Paginator->new($url, $self->get('paginateAfter'));
$p = WebGUI::Paginator->new($self->session,$url, $self->get('paginateAfter'));
$p->setDataByArrayRef($aref);
$result[0]->{$self->get('paginateVar')} = $p->getPageData;
@ -443,21 +443,21 @@ sub view {
# prevent the wobject from dying
for (keys %{$result[0]}) {
if ((ref $result[0]->{$_}) =~ /ARRAY/) {
$p = WebGUI::Paginator->new($url, $self->get('paginateAfter'));
$p = WebGUI::Paginator->new($self->session,$url, $self->get('paginateAfter'));
$p->setDataByArrayRef($result[0]->{$_});
last;
}
}
$p ||= WebGUI::Paginator->new($url);
$p ||= WebGUI::Paginator->new($self->session,$url);
$result[0]->{$_} = $p->getPageData;
} elsif ((ref $result[0]) =~ /ARRAY/) {
$p = WebGUI::Paginator->new($url, $self->get('paginateAfter'));
$p = WebGUI::Paginator->new($self->session,$url, $self->get('paginateAfter'));
$p->setDataByArrayRef($result[0]);
$result[0] = $p->getPageData;
} else {
$p = WebGUI::Paginator->new($url, $self->get('paginateAfter'));
$p = WebGUI::Paginator->new($self->session,$url, $self->get('paginateAfter'));
$p->setDataByArrayRef([$result[0]]);
$result[0] = $p->getPageData;
}