more session related bug fixes

This commit is contained in:
JT Smith 2006-01-15 18:34:44 +00:00
parent f2cccdff9f
commit b0ffb721b6
44 changed files with 143 additions and 143 deletions

View file

@ -199,7 +199,7 @@ sub canPost {
#-------------------------------------------------------------------
sub canSubscribe {
my $self = shift;
return ($self->session->user->profileField("userId") ne "1" && $self->canView);
return ($self->session->user->userId ne "1" && $self->canView);
}
#-------------------------------------------------------------------
@ -864,9 +864,9 @@ Subscribes a user to this collaboration system.
sub subscribe {
my $self = shift;
WebGUI::Cache->new($self->session,"wobject_".$self->getId."_".$self->session->user->profileField("userId"))->delete;
WebGUI::Cache->new($self->session,"wobject_".$self->getId."_".$self->session->user->userId)->delete;
my $group = WebGUI::Group->new($self->session,$self->get("subscriptionGroupId"));
$group->addUsers([$self->session->user->profileField("userId")]);
$group->addUsers([$self->session->user->userId]);
}
#-------------------------------------------------------------------
@ -879,9 +879,9 @@ Unsubscribes a user from this collaboration system
sub unsubscribe {
my $self = shift;
WebGUI::Cache->new($self->session,"wobject_".$self->getId."_".$self->session->user->profileField("userId"))->delete;
WebGUI::Cache->new($self->session,"wobject_".$self->getId."_".$self->session->user->userId)->delete;
my $group = WebGUI::Group->new($self->session,$self->get("subscriptionGroupId"));
$group->deleteUsers([$self->session->user->profileField("userId")],[$self->get("subscriptionGroupId")]);
$group->deleteUsers([$self->session->user->userId],[$self->get("subscriptionGroupId")]);
}
@ -909,7 +909,7 @@ sub view {
$var{"add.url"} = $self->getNewThreadUrl;
$var{"rss.url"} = $self->getRssUrl;
$var{'user.isModerator'} = $self->canModerate;
$var{'user.isVisitor'} = ($self->session->user->profileField("userId") eq '1');
$var{'user.isVisitor'} = ($self->session->user->userId eq '1');
$var{'user.isSubscribed'} = $self->isSubscribed;
$var{'sortby.title.url'} = $self->getSortByUrl("title");
$var{'sortby.username.url'} = $self->getSortByUrl("username");
@ -922,7 +922,7 @@ sub view {
$var{"search.url"} = $self->getSearchUrl;
$var{"subscribe.url"} = $self->getSubscribeUrl;
$var{"unsubscribe.url"} = $self->getUnsubscribeUrl;
my $constraints = "(assetData.status='approved' or (assetData.ownerUserId=".$self->session->db->quote($self->session->user->profileField("userId"))." and assetData.ownerUserId<>'1') or assetData.tagId=".$self->session->db->quote($self->session->scratch->get("versionTag"));
my $constraints = "(assetData.status='approved' or (assetData.ownerUserId=".$self->session->db->quote($self->session->user->userId)." and assetData.ownerUserId<>'1') or assetData.tagId=".$self->session->db->quote($self->session->scratch->get("versionTag"));
if ($var{'user.isModerator'}) {
$constraints .= " or assetData.status='pending'";
}
@ -1058,7 +1058,7 @@ sub www_search {
assetData.status in ('approved','archived')
or assetData.tagId=".$self->session->db->quote($self->session->scratch->get("versionTag"));
$sql .= " or assetData.status='pending'" if ($self->canModerate);
$sql .= " or (assetData.ownerUserId=".$self->session->db->quote($self->session->user->profileField("userId"))." and assetData.ownerUserId<>'1')
$sql .= " or (assetData.ownerUserId=".$self->session->db->quote($self->session->user->userId)." and assetData.ownerUserId<>'1')
) ";
$sql .= " and ($all) " if ($all ne "");
$sql .= " and " if ($sql ne "" && $exactPhrase ne "");

View file

@ -24,14 +24,14 @@ our @ISA = qw(WebGUI::Asset::Wobject);
#-------------------------------------------------------------------
sub canManage {
my $self = shift;
return 0 if $self->session->user->profileField("userId") == 1;
return 0 if $self->session->user->userId == 1;
return $self->session->user->isInGroup($self->get("adminsGroupId"));
}
#-------------------------------------------------------------------
sub canPersonalize {
my $self = shift;
return 0 if $self->session->user->profileField("userId") == 1;
return 0 if $self->session->user->userId == 1;
return $self->session->user->isInGroup($self->get("usersGroupId"));
}
@ -88,7 +88,7 @@ sub getContentPositions {
#-------------------------------------------------------------------
sub discernUserId {
my $self = shift;
return ($self->canManage && $self->session->var->isAdminOn) ? '1' : $self->session->user->profileField("userId");
return ($self->canManage && $self->session->var->isAdminOn) ? '1' : $self->session->user->userId;
}
#-------------------------------------------------------------------
@ -217,7 +217,7 @@ sub view {
shortcutUrl=>$child->getUrl,
canPersonalize=>$self->canPersonalize,
showReloadIcon=>$child->{_properties}{showReloadIcon},
canEditUserPrefs=>(($self->session->user->profileField("userId") ne '1') && (ref $child eq 'WebGUI::Asset::Shortcut') && (scalar($child->getPrefFieldsToShow) > 0))
canEditUserPrefs=>(($self->session->user->userId ne '1') && (ref $child eq 'WebGUI::Asset::Shortcut') && (scalar($child->getPrefFieldsToShow) > 0))
});
$newStuff .= 'available_dashlets["'.$child->getId.'"]=\''.$child->getUrl.'\';';
@ -229,7 +229,7 @@ sub view {
shortcutUrl=>$child->getUrl,
canPersonalize=>$self->canPersonalize,
showReloadIcon=>$child->{_properties}{showReloadIcon},
canEditUserPrefs=>(($self->session->user->profileField("userId") ne '1') && (ref $child eq 'WebGUI::Asset::Shortcut') && (scalar($child->getPrefFieldsToShow) > 0))
canEditUserPrefs=>(($self->session->user->userId ne '1') && (ref $child eq 'WebGUI::Asset::Shortcut') && (scalar($child->getPrefFieldsToShow) > 0))
});
$newStuff .= 'available_dashlets["'.$child->getId.'"]=\''.$child->getUrl.'\';';
}
@ -252,7 +252,7 @@ sub view {
shortcutUrl=>$child->getUrl,
showReloadIcon=>$child->{_properties}{showReloadIcon},
canPersonalize=>$self->canPersonalize,
canEditUserPrefs=>(($self->session->user->profileField("userId") ne '1') && (ref $child eq 'WebGUI::Asset::Shortcut') && (scalar($child->getPrefFieldsToShow) > 0))
canEditUserPrefs=>(($self->session->user->userId ne '1') && (ref $child eq 'WebGUI::Asset::Shortcut') && (scalar($child->getPrefFieldsToShow) > 0))
});
$newStuff .= 'available_dashlets["'.$child->getId.'"]=\''.$child->getUrl.'\';';
}
@ -272,7 +272,7 @@ sub view {
#-------------------------------------------------------------------
sub www_setContentPositions {
my $self = shift;
return 'Visitors cannot save settings' if($self->session->user->profileField("userId") eq '1');
return 'Visitors cannot save settings' if($self->session->user->userId eq '1');
return $self->session->privilege->insufficient() unless ($self->canPersonalize);
return 'empty' unless $self->get("isInitialized");
my $dummy = $self->initialize unless $self->get("isInitialized");

View file

@ -1052,8 +1052,8 @@ sub www_process {
my $entryId = $self->setCollateral("DataForm_entry","DataForm_entryId",{
DataForm_entryId=>$self->session->form->process("entryId"),
assetId=>$self->getId,
userId=>$self->session->user->profileField("userId"),
username=>$self->session->user->profileField("username"),
userId=>$self->session->user->userId,
username=>$self->session->user->username,
ipAddress=>$self->session->env->get("REMOTE_ADDR"),
submissionDate=$self->session->datetime->time()
},0);

View file

@ -23,7 +23,7 @@ our @ISA = qw(WebGUI::Asset::Wobject);
#-------------------------------------------------------------------
#sub canManage {
# my $self = shift;
# my $userId = shift || $self->session->user->profileField("userId");
# my $userId = shift || $self->session->user->userId;
# if ($userId eq $self->getValue("ownerUserId")) {
# return 1;
# }

View file

@ -321,7 +321,7 @@ sub view {
$var{content} = "<b>Getting <a href='$proxiedUrl'>$proxiedUrl</a> failed</b>".
"<p><i>GET status line: ".$response->status_line."</i>";
}
if ($self->session->user->profileField("userId") eq '1') {
if ($self->session->user->userId eq '1') {
$ttl = $self->get("cacheTimeoutVisitor");
} else {
$ttl = $self->get("cacheTimeout");

View file

@ -153,7 +153,7 @@ sub view {
}
else { $var{canViewReport} = 0; }
my $statusUserId = $self->session->scratch->get("userId") || $self->session->user->profileField("userId");
my $statusUserId = $self->session->scratch->get("userId") || $self->session->user->userId;
my $statusListString = $self->getValue("statusList");
chop($statusListString);
my @statusListArray = split("\n",$statusListString);
@ -168,7 +168,7 @@ sub view {
my ($status) = $self->session->db->quickArray("select status from InOutBoard_status where userId=".$self->session->db->quote($statusUserId)." and assetId=".$self->session->db->quote($self->getId));
##Find all the users for which I am a delegate
my @users = $self->session->db->buildArray("select userId from InOutBoard_delegates where assetId=".$self->session->db->quote($self->getId)." and delegateUserId=".$self->session->db->quote($self->session->user->profileField("userId")));
my @users = $self->session->db->buildArray("select userId from InOutBoard_delegates where assetId=".$self->session->db->quote($self->getId)." and delegateUserId=".$self->session->db->quote($self->session->user->userId));
my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl);
if (@users) {
@ -202,7 +202,7 @@ sub view {
);
$f->submit;
my ($isInGroup) = $self->session->db->quickArray("select count(*) from groupings where userId=".$self->session->db->quote($self->session->user->profileField("userId"))." and groupId=".$self->session->db->quote($self->get("inOutGroup")));
my ($isInGroup) = $self->session->db->quickArray("select count(*) from groupings where userId=".$self->session->db->quote($self->session->user->userId)." and groupId=".$self->session->db->quote($self->get("inOutGroup")));
if ($isInGroup) {
$var{displayForm} = 1;
$var{'form'} = $f->print;
@ -287,7 +287,7 @@ sub www_selectDelegates {
#left join userProfileData a on users.userId=a.userId and a.fieldName='firstName'
#left join userProfileData b on users.userId=b.userId and b.fieldName='lastName'
#where users.userId<>'1' and users.status='Active' and users.userId<>%s
#group by userId", $self->session->db->quote($self->session->user->profileField("userId"));
#group by userId", $self->session->db->quote($self->session->user->userId);
#Comment the sql query below (lines 297 - 307) to show all users of the system in the delegate select list
my $sql = sprintf "select users.username,
@ -300,7 +300,7 @@ left join userProfileData b on users.userId=b.userId and b.fieldName='lastName'
left join userProfileData c on users.userId=c.userId and c.fieldName='department'
left join InOutBoard_status on users.userId=InOutBoard_status.userId and InOutBoard_status.assetId=%s
where users.userId<>'1' and groupings.groupId=InOutBoard.inOutGroup and users.status='Active' and users.userId <> %s and groupings.userId=users.userId and InOutBoard.inOutGroup=%s
group by userId", $self->session->db->quote($self->getId), $self->session->db->quote($self->session->user->profileField("userId")), $self->session->db->quote($self->getValue("inOutGroup")) ;
group by userId", $self->session->db->quote($self->getId), $self->session->db->quote($self->session->user->userId), $self->session->db->quote($self->getValue("inOutGroup")) ;
my %userNames = ();
my $sth = $self->session->db->read($sql);
while (my $data = $sth->hashRef) {
@ -308,7 +308,7 @@ group by userId", $self->session->db->quote($self->getId), $self->session->db->q
}
$sth->finish;
$sql = sprintf "select delegateUserId from InOutBoard_delegates where userId=%s and assetId=%s",
$self->session->db->quote($self->session->user->profileField("userId")), $self->session->db->quote($self->getId);
$self->session->db->quote($self->session->user->userId), $self->session->db->quote($self->getId);
my $delegates = $self->session->db->buildArrayRef($sql);
my $i18n = WebGUI::International->new($self->session,"Asset_InOutBoard");
my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl);
@ -336,12 +336,12 @@ group by userId", $self->session->db->quote($self->getId), $self->session->db->q
sub www_selectDelegatesEditSave {
my $self = shift;
my @delegates = $self->session->form->selectList("delegates");
$self->session->db->write("delete from InOutBoard_delegates where assetId=".$self->session->db->quote($self->getId)." and userId=".$self->session->db->quote($self->session->user->profileField("userId")));
$self->session->db->write("delete from InOutBoard_delegates where assetId=".$self->session->db->quote($self->getId)." and userId=".$self->session->db->quote($self->session->user->userId));
foreach my $delegate (@delegates) {
$self->session->db->write("insert into InOutBoard_delegates
(userId,delegateUserId,assetId) values
(".$self->session->db->quote($self->session->user->profileField("userId")).",".$self->session->db->quote($delegate).",".$self->session->db->quote($self->getId).")");
(".$self->session->db->quote($self->session->user->userId).",".$self->session->db->quote($delegate).",".$self->session->db->quote($self->getId).")");
}
return "";
}
@ -352,13 +352,13 @@ sub www_setStatus {
#$self->session->errorHandler->warn("userId: ".$self->session->scratch->get("userId") ."\n" );
if ($self->session->form->process("delegate") eq $self->session->scratch->get("userId")) {
#$self->session->errorHandler->warn("Wrote data and removed scratch\n");
my $sessionUserId = $self->session->scratch->get("userId") || $self->session->user->profileField("userId");
my $sessionUserId = $self->session->scratch->get("userId") || $self->session->user->userId;
#$self->session->errorHandler->warn("user Id: ".$sessionUserId."\n");
$self->session->scratch->delete("userId");
$self->session->db->write("delete from InOutBoard_status where userId=".$self->session->db->quote($sessionUserId)." and assetId=".$self->session->db->quote($self->getId));
$self->session->db->write("insert into InOutBoard_status (assetId,userId,status,dateStamp,message) values (".$self->session->db->quote($self->getId).",".$self->session->db->quote($sessionUserId).","
.$self->session->db->quote($self->session->form->process("status")).",".$self->session->datetime->time().",".$self->session->db->quote($self->session->form->process("message")).")");
$self->session->db->write("insert into InOutBoard_statusLog (assetId,userId,createdBy,status,dateStamp,message) values (".$self->session->db->quote($self->getId).",".$self->session->db->quote($sessionUserId).",".$self->session->db->quote($self->session->user->profileField("userId")).","
$self->session->db->write("insert into InOutBoard_statusLog (assetId,userId,createdBy,status,dateStamp,message) values (".$self->session->db->quote($self->getId).",".$self->session->db->quote($sessionUserId).",".$self->session->db->quote($self->session->user->userId).","
.$self->session->db->quote($self->session->form->process("status")).",".$self->session->datetime->time().",".$self->session->db->quote($self->session->form->process("message")).")");
}
else {

View file

@ -147,7 +147,7 @@ sub hasRated {
return 1 unless ($self->session->user->isInGroup($self->get("groupToRate")));
my $ratingTimeout = $self->session->user->isInGroup($self->get("privilegedGroup")) ? $self->get("ratingTimeoutPrivileged") : $self->get("ratingTimeout");
my ($hasRated) = $self->session->db->quickArray("select count(*) from Matrix_rating where
((userId=".$self->session->db->quote($self->session->user->profileField("userId"))." and userId<>'1') or (userId='1' and ipAddress=".$self->session->db->quote($self->session->env->get("HTTP_X_FORWARDED_FOR")).")) and
((userId=".$self->session->db->quote($self->session->user->userId)." and userId<>'1') or (userId='1' and ipAddress=".$self->session->db->quote($self->session->env->get("HTTP_X_FORWARDED_FOR")).")) and
listingId=".$self->session->db->quote($listingId)." and timeStamp>".($self->session->datetime->time()-$ratingTimeout));
return $hasRated;
}
@ -181,7 +181,7 @@ sub setRatings {
foreach my $category ($self->getCategories) {
if ($ratings->{$category}) {
$self->session->db->write("insert into Matrix_rating (userId, category, rating, timeStamp, listingId,ipAddress, assetId) values (
".$self->session->db->quote($self->session->user->profileField("userId")).", ".$self->session->db->quote($category).", ".$self->session->db->quote($ratings->{$category}).", ".$self->session->datetime->time()
".$self->session->db->quote($self->session->user->userId).", ".$self->session->db->quote($category).", ".$self->session->db->quote($ratings->{$category}).", ".$self->session->datetime->time()
.", ".$self->session->db->quote($listingId).", ".$self->session->db->quote($self->session->env->get("HTTP_X_FORWARDED_FOR")).",".$self->session->db->quote($self->getId).")");
}
my $sql = "from Matrix_rating where listingId=".$self->session->db->quote($listingId)." and category=".$self->session->db->quote($category);
@ -442,7 +442,7 @@ sub www_editListing {
my $self = shift;
my $listing= $self->session->db->getRow("Matrix_listing","listingId",$self->session->form->process("listingId"));
my $i18n = WebGUI::International->new($self->session,'Asset_Matrix');
return $i18n->get('no edit rights') unless (($self->session->form->process("listingId") eq "new" && $self->session->user->isInGroup($self->get("groupToAdd"))) || $self->session->user->profileField("userId") eq $listing->{maintainerId} || $self->canEdit);
return $i18n->get('no edit rights') unless (($self->session->form->process("listingId") eq "new" && $self->session->user->isInGroup($self->get("groupToAdd"))) || $self->session->user->userId eq $listing->{maintainerId} || $self->canEdit);
my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl);
$f->hidden(
-name=>"func",
@ -572,7 +572,7 @@ sub www_editListingSave {
my $self = shift;
my $listing = $self->session->db->getRow("Matrix_listing","listingId",$self->session->form->process("listingId"));
my $i18n = WebGUI::International->new($self->session,'Asset_Matrix');
return $i18n->get('no edit rights') unless (($self->session->form->process("listingId") eq "new" && $self->session->user->isInGroup($self->get("groupToAdd"))) || $self->session->user->profileField("userId") eq $listing->{maintainerId} || $self->canEdit);
return $i18n->get('no edit rights') unless (($self->session->form->process("listingId") eq "new" && $self->session->user->isInGroup($self->get("groupToAdd"))) || $self->session->user->userId eq $listing->{maintainerId} || $self->canEdit);
my %data = (
listingId => $self->session->form->process("listingId"),
lastUpdated => $self->session->datetime->time(),
@ -585,7 +585,7 @@ sub www_editListingSave {
);
my $isNew = 0;
if ($self->session->form->process("listingId") eq "new") {
$data{maintainerId} = $self->session->user->profileField("userId") if ($self->session->form->process("listingId") eq "new");
$data{maintainerId} = $self->session->user->userId if ($self->session->form->process("listingId") eq "new");
my $forum = $self->addChild({
className=>"WebGUI::Asset::Wobject::Collaboration",
title=>$self->session->form->process("productName"),
@ -865,7 +865,7 @@ sub view {
my (%var);
$var{'compare.form'} = $self->getCompareForm;
$var{'search.url'} = $self->getUrl("func=search");
$var{'isLoggedIn'} = ($self->session->user->profileField("userId") ne "1");
$var{'isLoggedIn'} = ($self->session->user->userId ne "1");
$var{'field.list.url'} = $self->getUrl('func=listFields');
$var{'listing.add.url'} = $self->formatURL("editListing","new");
@ -981,7 +981,7 @@ sub www_viewDetail {
}
$var{'edit.url'} = $self->formatURL("editListing",$listingId);
$var{id} = $listingId;
$var{'user.canEdit'} = ($self->session->user->profileField("userId") eq $listing->{maintainerId} || $self->canEdit);
$var{'user.canEdit'} = ($self->session->user->userId eq $listing->{maintainerId} || $self->canEdit);
$var{'user.canApprove'} = $self->canEdit;
$var{'approve.url'} = $self->getUrl("func=approveListing&listingId=".$listingId."&mlog=".$self->session->form->process("mlog"));
$var{'delete.url'} = $self->getUrl("func=deleteListing&listingId=".$listingId."&mlog=".$self->session->form->process("mlog"));

View file

@ -283,7 +283,7 @@ sub getToolbar {
$returnUrl = ";proceed=goBackToPage;returnUrl=".$self->session->url->escape($self->session->asset->getUrl);
}
my $toolbar;
if (!$self->isLocked || $self->get("isLockedBy") eq $self->session->user->profileField("userId")) {
if (!$self->isLocked || $self->get("isLockedBy") eq $self->session->user->userId) {
$toolbar = $self->session->icon->edit('func=edit'.$returnUrl,$self->get("url"));
}
my $i18n = WebGUI::International->new($self->session, "Asset");

View file

@ -25,8 +25,8 @@ our @ISA = qw(WebGUI::Asset::Wobject);
sub _hasVoted {
my $self = shift;
my ($hasVoted) = $self->session->db->quickArray("select count(*) from Poll_answer
where assetId=".$self->session->db->quote($self->getId)." and ((userId=".$self->session->db->quote($self->session->user->profileField("userId"))."
and userId<>'1') or (userId=".$self->session->db->quote($self->session->user->profileField("userId"))." and ipAddress='".$self->session->env->get("REMOTE_ADDR")."'))");
where assetId=".$self->session->db->quote($self->getId)." and ((userId=".$self->session->db->quote($self->session->user->userId)."
and userId<>'1') or (userId=".$self->session->db->quote($self->session->user->userId)." and ipAddress='".$self->session->env->get("REMOTE_ADDR")."'))");
return $hasVoted;
}
@ -280,7 +280,7 @@ sub view {
$var{question} = $self->get("question");
if ($self->get("active") eq "0") {
$showPoll = 0;
} elsif ($self->session->user->isInGroup($self->get("voteGroup"),$self->session->user->profileField("userId"))) {
} elsif ($self->session->user->isInGroup($self->get("voteGroup"),$self->session->user->userId)) {
if ($self->_hasVoted()) {
$showPoll = 0;
} else {
@ -324,9 +324,9 @@ sub www_vote {
my $self = shift;
my $u;
if ($self->session->form->process("answer") ne "" && $self->session->user->isInGroup($self->get("voteGroup")) && !($self->_hasVoted())) {
$self->setVote($self->session->form->process("answer"),$self->session->user->profileField("userId"),$self->session->env->get("REMOTE_ADDR"));
$self->setVote($self->session->form->process("answer"),$self->session->user->userId,$self->session->env->get("REMOTE_ADDR"));
if ($self->session->setting->get("useKarma")) {
$u = WebGUI::User->new($self->session->user->profileField("userId"));
$u = WebGUI::User->new($self->session->user->userId);
$u->karma($self->get("karmaPerVote"),"Poll (".$self->getId.")","Voted on this poll.");
}
$self->deletePageCache;

View file

@ -384,7 +384,7 @@ sub view {
#Set some template variables
$var->{'extrasFolder'} = $self->session->config->get("extrasURL")."/wobject/StockData";
$var->{'editUrl'} = $self->getUrl("func=editStocks");
$var->{'isVisitor'} = $self->session->user->profileField("userId") eq 1;
$var->{'isVisitor'} = $self->session->user->userId eq 1;
$var->{'stock.display.url'} = $self->getUrl("func=displayStock&symbol=");
#Build list of stocks as an array

View file

@ -190,7 +190,7 @@ sub generateResponseId {
'Survey_responseId'=>"new",
userId=>$userId,
ipAddress=>$ipAddress,
username=>$self->session->user->profileField("username"),
username=>$self->session->user->username,
startDate=>$self->session->datetime->time(),
'Survey_id'=>$self->get("Survey_id")
});
@ -555,7 +555,7 @@ sub getSequentialQuestionIds {
#-------------------------------------------------------------------
sub getUserId {
my $self = shift;
my $userId = ($self->get("anonymous") && $self->session->user->profileField("userId") != 1) ? substr(md5_hex($self->session->user->profileField("userId")),0,8) : $self->session->user->profileField("userId");
my $userId = ($self->get("anonymous") && $self->session->user->userId != 1) ? substr(md5_hex($self->session->user->userId),0,8) : $self->session->user->userId;
return $userId;
}
@ -1167,7 +1167,7 @@ sub www_respond {
return "" unless ($self->session->user->isInGroup($self->get("groupToTakeSurvey")));
my $varname = $self->getResponseIdString;
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 $userId = ($self->get("anonymous")) ? substr(md5_hex($self->session->user->userId),0,8) : $self->session->user->userId;
my $terminate = 0;
foreach my $key (keys %{$session{form}}) {
if ($key =~ /^answerId_(.+)$/) {