diff --git a/lib/WebGUI/Asset/USS_submission.pm b/lib/WebGUI/Asset/USS_submission.pm index 00aff4921..f9fb532ed 100644 --- a/lib/WebGUI/Asset/USS_submission.pm +++ b/lib/WebGUI/Asset/USS_submission.pm @@ -146,19 +146,6 @@ sub getResponseCount { return 0; } -#------------------------------------------------------------------- -sub getStatus { - my $self = shift; - my $status = shift || $self->get("status"); - if ($status eq "Approved") { - return WebGUI::International::get(560); - } elsif ($status eq "Denied") { - return WebGUI::International::get(561); - } elsif ($status eq "Pending") { - return WebGUI::International::get(562); - } -} - #------------------------------------------------------------------- sub getThumbnailUrl { return '/thumbnail.jpg'; @@ -215,7 +202,7 @@ sub view { $var{"date.updated.human"} = epochToHuman($self->get("dateUpdated")); $var{"date.updated.epoch"} = $self->get("dateUpdated"); $var{"status.label"} = WebGUI::International::get(14,"USS"); - $var{"status.status"} = $self->getStatus; + $var{"status.status"} = $self->getParent->status($self->get("status")); $var{"views.label"} = WebGUI::International::get(514); $var{"views.count"} = $self->getResponseCount; $var{canPost} = $self->canContribute; diff --git a/lib/WebGUI/Asset/Wobject/USS.pm b/lib/WebGUI/Asset/Wobject/USS.pm index 70bbb7aec..c5d2e7dc7 100644 --- a/lib/WebGUI/Asset/Wobject/USS.pm +++ b/lib/WebGUI/Asset/Wobject/USS.pm @@ -92,7 +92,7 @@ sub definition { defaultValue=>0 }, filterContent=>{ - fieldType=>"filter", + fieldType=>"filterContent", defaultValue=>"javascript" }, sortBy=>{ @@ -119,7 +119,7 @@ sub definition { #------------------------------------------------------------------- sub getEditForm { my $self = shift; - my $tabform = $self->getEditForm; + my $tabform = $self->SUPER::getEditForm; $tabform->getTab("display")->template( -value=>$self->getValue('templateId'), -namespace=>"USS" @@ -156,9 +156,9 @@ sub getEditForm { $tabform->getTab("security")->selectList( -name=>"defaultStatus", -options=>{ - Approved=>status('Approved'), - Denied=>status('Denied'), - Pending=>status('Pending') + Approved=>$self->status('Approved'), + Denied=>$self->status('Denied'), + Pending=>$self->status('Pending') }, -label=>WebGUI::International::get(563), -value=>[$self->getValue("defaultStatus")] @@ -282,13 +282,19 @@ sub getName { return WebGUI::International::get(29,"USS"); } + #------------------------------------------------------------------- -sub processPropertiesFromFormPost { +sub status { my $self = shift; - $self->SUPER::processPropertiesFromFormPost; - $self->deleteAllCachedSubmissions; + my $status = shift; + if ($status eq "Approved") { + return WebGUI::International::get(560); + } elsif ($status eq "Denied") { + return WebGUI::International::get(561); + } elsif ($status eq "Pending") { + return WebGUI::International::get(562); + } } - #------------------------------------------------------------------- sub view { @@ -368,7 +374,7 @@ sub view { "submission.userDefined5"=>$submission->get("userDefined5"), "submission.userId"=>$submission->get("userId"), "submission.username"=>$submission->get('username'), - "submission.status"=>$submission->getStatus, + "submission.status"=>$self->status($submission->get("status")), "submission.thumbnail"=>$submission->getThumbnailUrl, "submission.image"=>$submission->getImageUrl, "submission.date"=>epochToHuman($submission->get("dateSubmitted")), diff --git a/lib/WebGUI/Wobject/USS.pm b/lib/WebGUI/Wobject/USS.pm deleted file mode 100644 index a27c83290..000000000 --- a/lib/WebGUI/Wobject/USS.pm +++ /dev/null @@ -1,1018 +0,0 @@ -package WebGUI::Wobject::USS; - -#------------------------------------------------------------------- -# WebGUI is Copyright 2001-2005 Plain Black Corporation. -#------------------------------------------------------------------- -# Please read the legal notices (docs/legal.txt) and the license -# (docs/license.txt) that came with this distribution before using -# this software. -#------------------------------------------------------------------- -# http://www.plainblack.com info@plainblack.com -#------------------------------------------------------------------- - -use strict; -use Tie::CPHash; -use WebGUI::Attachment; -use WebGUI::Cache; -use WebGUI::DateTime; -use WebGUI::Forum; -use WebGUI::Forum::UI; -use WebGUI::Grouping; -use WebGUI::HTML; -use WebGUI::HTMLForm; -use WebGUI::HTTP; -use WebGUI::Icon; -use WebGUI::Id; -use WebGUI::International; -use WebGUI::MessageLog; -use WebGUI::Operation; -use WebGUI::Page; -use WebGUI::Paginator; -use WebGUI::Privilege; -use WebGUI::Session; -use WebGUI::SQL; -use WebGUI::Style; -use WebGUI::Template; -use WebGUI::URL; -use WebGUI::User; -use WebGUI::Utility; -use WebGUI::Wobject; - -our @ISA = qw(WebGUI::Wobject); - -#------------------------------------------------------------------- -# format the date according to rfc 822 (for RSS export) -my @_months = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec); -sub _get_rfc822_date { - my ($time) = @_; - my ($year, $mon, $mday, $hour, $min, $sec) = WebGUI::DateTime::localtime($time); - my $month = $_months[$mon - 1]; - return sprintf("%02d %s %04d %02d:%02d:%02d GMT", - $mday, $month, $year, $hour, $min, $sec); -} - -#------------------------------------------------------------------- -# encode a string to include in xml (for RSS export) -sub _xml_encode { - $_[0] =~ s/&/&/g; - $_[0] =~ s//\]\]>/g; - return $_[0]; -} - -#------------------------------------------------------------------- -sub deleteAllCachedSubmissions { - my $self = shift; - my $cache = WebGUI::Cache->new("USS_submission_"); - $cache->deleteByRegex(qr/USS_submission_/); -} - -#------------------------------------------------------------------- -sub deleteCachedSubmission { - my $self = shift; - my $submissionId = shift; - my $cache = WebGUI::Cache->new("USS_submission_".$submissionId); - $cache->delete; -} - - -#------------------------------------------------------------------- -sub duplicate { - WebGUI::ErrorHandler::warn("USS wobjects cannot be duplicated until after 6.3."); - return ""; - my %row; - tie %row, 'Tie::CPHash'; - my $w = $_[0]->SUPER::duplicate($_[1],1); - $w = WebGUI::Wobject::USS->new({wobjectId=>$w}); - my $sth = WebGUI::SQL->read("select * from USS_submission where USS_id=".quote($_[0]->get("USS_id"))); - while (%row = $sth->hash) { - my $newSubmissionId = WebGUI::Id::generate(); - my $file = WebGUI::Attachment->new($row{image},$_[0]->get("wobjectId"),$row{USS_submissionId}); - $file->copy($w,$newSubmissionId); - $file = WebGUI::Attachment->new($row{attachment},$_[0]->get("wobjectId"),$row{USS_submissionId}); - $file->copy($w,$newSubmissionId); - $row{USS_submissionId} = $newSubmissionId; - $w->setCollateral("USS_submission","USS_submissionId",\%row); - } - $sth->finish; -} - -#------------------------------------------------------------------- -sub getIndexerParams { - my $self = shift; - my $now = shift; - return { - USS_discussion => { - sql => "select forumPost.forumPostId, - forumPost.username, - forumPost.subject, - forumPost.message, - forumPost.userId as ownerId, - forumThread.forumId as forumId, - USS_submission.USS_submissionId as sid, - wobject.namespace as namespace, - wobject.wobjectId as wid, - page.urlizedTitle as urlizedTitle, - page.languageId as languageId, - page.pageId as pageId, - page.groupIdView as page_groupIdView, - wobject.groupIdView as wobject_groupIdView, - 7 as wobject_special_groupIdView - from forumPost, forumThread, USS_submission, wobject, page, USS - where forumPost.forumThreadId = forumThread.forumThreadId - and forumThread.forumId = USS_submission.forumId - and USS_submission.USS_id = USS.USS_id - and USS.wobjectId = wobject.wobjectId - and wobject.pageId = page.pageId - and wobject.startDate < $now - and wobject.endDate > $now - and page.startDate < $now - and page.endDate > $now", - fieldsToIndex => ["username", "subject", "message"], - contentType => 'discussion', - url => 'WebGUI::URL::append($data{urlizedTitle},"func=viewSubmission&wid=$data{wid}&sid=$data{sid}&forumOp=viewThread&forumPostId=$data{forumPostId}&forumId=$data{forumId}")', - headerShortcut => 'select subject from forumPost where forumPostId = \'$data{forumPostId}\'', - bodyShortcut => 'select message from forumPost where forumPostId = \'$data{forumPostId}\'', - }, - USS_submission => { - sql => "select USS_submission.title as title, - USS_submission.username as username, - USS_submission.content as content, - USS_submission.image as image, - USS_submission.attachment as attachment, - USS.wobjectId as wid, - USS_submission.USS_submissionId as sid, - USS_submission.userId as ownerId, - wobject.namespace as namespace, - page.urlizedTitle as urlizedTitle, - page.languageId as languageId, - page.pageId as pageId, - page.groupIdView as page_groupIdView, - wobject.groupIdView as wobject_groupIdView, - 7 as wobject_special_groupIdView - from wobject, page, USS_submission, USS - where USS_submission.USS_id = USS.USS_id - and USS.wobjectId = wobject.wobjectId - and wobject.pageId = page.pageId - and USS_submission.status = 'Approved' - and wobject.startDate < $now - and wobject.endDate > $now - and page.startDate < $now - and page.endDate > $now", - fieldsToIndex => ["username", "title", "content", "image", "attachment"], - contentType => 'wobjectDetail', - url => 'WebGUI::URL::append($data{urlizedTitle}, "func=viewSubmission&wid=$data{wid}&sid=$data{sid}")', - headerShortcut => 'select title from USS_submission where USS_submissionId = \'$data{sid}\'', - bodyShortcut => 'select content from USS_submission where USS_submissionId = \'$data{sid}\'', - } - }; -} - -#------------------------------------------------------------------- -sub name { - return WebGUI::International::get(29,$_[0]->get("namespace")); -} - -#------------------------------------------------------------------- -sub new { - my $class = shift; - my $property = shift; - my $self = WebGUI::Wobject->new( - -properties=>$property, - -useDiscussion=>1, - -useMetaData=>1, - -extendedProperties=>{ - submissionsPerPage=>{ - defaultValue=>50 - }, - groupToContribute=>{ - defaultValue=>2 - }, - groupToApprove=>{ - defaultValue=>4 - }, - defaultStatus=>{ - defaultValue=>"Approved" - }, - submissionTemplateId=>{ - defaultValue=>1 - }, - submissionFormTemplateId=>{ - defaultValue=>1 - }, - karmaPerSubmission=>{ - defaultValue=>0 - }, - filterContent=>{ - defaultValue=>"javascript" - }, - sortBy=>{ - defaultValue=>"dateUpdated" - }, - sortOrder=>{ - defaultValue=>"desc" - }, - USS_id=>{ - autoId=>1 - }, - submissionFormTemplateId=>{ - defaultValue=>1 - } - }, - -useTemplate=>1 - ); - bless $self, $class; -} - -#------------------------------------------------------------------- -sub purge { - my $sth = WebGUI::SQL->read("select forumId,pageId,USS_submissionId from USS_submission where USS_id=".quote($_[0]->get("USS_id"))); - while (my ($forumId, $pageId,$submissionId) = $sth->array) { - my ($inUseElsewhere) = WebGUI::SQL->quickArray("select count(*) from USS_submission where forumId=".quote($forumId)); - unless ($inUseElsewhere > 1) { - my $forum = WebGUI::Forum->new($forumId); - $forum->purge; - } - my $page = WebGUI::Page->new($pageId); - if (defined $page) { - $page->purge; - } else { - WebGUI::ErrorHandler::warn("Submission ".$submissionId." of USS ".$_[0]->get("USS_id")." didn't have real page attached to it. This could be a minor problem caused by a bug of old, or it could indicate major data corruption issues."); - } - } - $sth->finish; - WebGUI::SQL->write("delete from USS_submission where USS_id=".quote($_[0]->get("USS_id"))); - $_[0]->SUPER::purge(); -} - -#------------------------------------------------------------------- -sub status { - if ($_[0] eq "Approved") { - return WebGUI::International::get(560); - } elsif ($_[0] eq "Denied") { - return WebGUI::International::get(561); - } elsif ($_[0] eq "Pending") { - return WebGUI::International::get(562); - } -} - -#------------------------------------------------------------------- -# NOTE: Not a method. Used by the page tree. -sub viewSubmissionAsPage { - my $params = shift; - my $properties = WebGUI::SQL->getRow("wobject","wobjectId",$params->{wobjectId}); - my $w = WebGUI::Wobject::USS->new($properties); - return $w->www_viewSubmission($params->{submissionId}); -} - - -#------------------------------------------------------------------- -sub www_approveSubmission { - my $self = shift; - my (%submission); - tie %submission, 'Tie::CPHash'; - if (WebGUI::Grouping::isInGroup(4,$session{user}{userId}) || WebGUI::Grouping::isInGroup(3,$session{user}{userId})) { - %submission = WebGUI::SQL->quickHash("select * from USS_submission where USS_submissionId=".quote($session{form}{sid})); - WebGUI::SQL->write("update USS_submission set status='Approved' where USS_submissionId=".quote($session{form}{sid})); - WebGUI::MessageLog::addInternationalizedEntry($submission{userId},'',WebGUI::URL::page('func=viewSubmission&wid='. - $session{form}{wid}.'&sid='.$session{form}{sid},1),4,$self->get("namespace")); - WebGUI::MessageLog::completeEntry($session{form}{mlog}); - $self->deleteCachedSubmission($session{form}{sid}); - return WebGUI::Operation::www_viewMessageLog(); - } else { - return WebGUI::Privilege::insufficient(); - } -} - -#------------------------------------------------------------------- -sub www_copy { - return "Copying of User Submission Systems has been disabled until 6.3."; -} - - -#------------------------------------------------------------------- -sub www_deleteFile { - my $self = shift; - my ($owner) = WebGUI::SQL->quickArray("select userId from USS_submission where USS_submissionId=".quote($session{form}{sid})); - if ($owner eq $session{user}{userId} || WebGUI::Grouping::isInGroup($self->get("groupToApprove"))) { - $self->setCollateral("USS_submission","USS_submissionId",{ - $session{form}{file}=>'', - USS_submissionId=>$session{form}{sid} - },0,0); - $self->deleteCachedSubmission($session{form}{sid}); - return $self->www_editSubmission(); - } else { - return WebGUI::Privilege::insufficient(); - } -} - -#------------------------------------------------------------------- -sub www_deleteSubmissionConfirm { - my $self = shift; - my ($owner, $forumId, $pageId) = WebGUI::SQL->quickArray("select userId,forumId,pageId from USS_submission where USS_submissionId=".quote($session{form}{sid})); - if ($owner eq $session{user}{userId} || WebGUI::Grouping::isInGroup($self->get("groupToApprove"))) { - my ($inUseElsewhere) = WebGUI::SQL->quickArray("select count(*) from USS_submission where forumId=".quote($forumId)); - unless ($inUseElsewhere > 1) { - my $forum = WebGUI::Forum->new($forumId); - $forum->purge; - } - my $page = WebGUI::Page->new($pageId); - $page->purge; - $self->deleteCachedSubmission($session{form}{sid}); - $self->deleteCollateral("USS_submission","USS_submissionId",$session{form}{sid}); - my $file = WebGUI::Attachment->new("",$session{form}{wid},$session{form}{sid}); - $file->deleteNode; - return ""; - } else { - return WebGUI::Privilege::insufficient(); - } -} - -#------------------------------------------------------------------- -sub www_denySubmission { - my $self = shift; - my (%submission); - tie %submission, 'Tie::CPHash'; - if (WebGUI::Grouping::isInGroup(4,$session{user}{userId}) || WebGUI::Grouping::isInGroup(3,$session{user}{userId})) { - %submission = WebGUI::SQL->quickHash("select * from USS_submission where USS_submissionId=".quote($session{form}{sid})); - WebGUI::SQL->write("update USS_submission set status='Denied' where USS_submissionId=".quote($session{form}{sid})); - WebGUI::MessageLog::addInternationalizedEntry($submission{userId},'',WebGUI::URL::page('func=viewSubmission&wid='. - $session{form}{wid}.'&sid='.$session{form}{sid},1),5,$self->get("namespace")); - WebGUI::MessageLog::completeEntry($session{form}{mlog}); - $self->deleteCachedSubmission($session{form}{sid}); - return WebGUI::Operation::www_viewMessageLog(); - } else { - return WebGUI::Privilege::insufficient(); - } -} - -#------------------------------------------------------------------- -sub www_edit { - my $layout = WebGUI::HTMLForm->new; - my $privileges = WebGUI::HTMLForm->new; - my $properties = WebGUI::HTMLForm->new; - $layout->template( - -name=>"submissionTemplateId", - -value=>$_[0]->getValue("submissionTemplateId"), - -namespace=>$_[0]->get("namespace")."/Submission", - -label=>WebGUI::International::get(73,$_[0]->get("namespace")), - -afterEdit=>'func=edit&wid='.$_[0]->get("wobjectId") - ); - $layout->template( - -name=>"submissionFormTemplateId", - -value=>$_[0]->getValue("submissionFormTemplateId"), - -namespace=>$_[0]->get("namespace")."/SubmissionForm", - -label=>WebGUI::International::get(87,$_[0]->get("namespace")), - -afterEdit=>'func=edit&wid='.$_[0]->get("wobjectId") - ); - $privileges->group( - -name=>"groupToApprove", - -label=>WebGUI::International::get(1,$_[0]->get("namespace")), - -value=>[$_[0]->getValue("groupToApprove")] - ); - $privileges->group( - -name=>"groupToContribute", - -label=>WebGUI::International::get(2,$_[0]->get("namespace")), - -value=>[$_[0]->getValue("groupToContribute")] - ); - $layout->integer( - -name=>"submissionsPerPage", - -label=>WebGUI::International::get(6,$_[0]->get("namespace")), - -value=>$_[0]->getValue("submissionsPerPage") - ); - $privileges->selectList( - -name=>"defaultStatus", - -options=>{ - Approved=>status('Approved'), - Denied=>status('Denied'), - Pending=>status('Pending') - }, - -label=>WebGUI::International::get(563), - -value=>[$_[0]->getValue("defaultStatus")] - ); - if ($session{setting}{useKarma}) { - $properties->integer( - -name=>"karmaPerSubmission", - -label=>WebGUI::International::get(30,$_[0]->get("namespace")), - -value=>$_[0]->getValue("karmaPerSubmission") - ); - } else { - $properties->hidden("karmaPerSubmission",$_[0]->getValue("karmaPerSubmission")); - } - $layout->filterContent( - -value=>$_[0]->getValue("filterContent") - ); - $layout->selectList( - -name=>"sortBy", - -value=>[$_[0]->getValue("sortBy")], - -options=>{ - sequenceNumber=>WebGUI::International::get(88,$_[0]->get("namespace")), - dateUpdated=>WebGUI::International::get(78,$_[0]->get("namespace")), - dateSubmitted=>WebGUI::International::get(13,$_[0]->get("namespace")), - title=>WebGUI::International::get(35,$_[0]->get("namespace")) - }, - -label=>WebGUI::International::get(79,$_[0]->get("namespace")) - ); - $layout->selectList( - -name=>"sortOrder", - -value=>[$_[0]->getValue("sortOrder")], - -options=>{ - asc=>WebGUI::International::get(81,$_[0]->get("namespace")), - desc=>WebGUI::International::get(82,$_[0]->get("namespace")) - }, - -label=>WebGUI::International::get(80,$_[0]->get("namespace")) - ); - return $_[0]->SUPER::www_edit( - -layout=>$layout->printRowsOnly, - -privileges=>$privileges->printRowsOnly, - -properties=>$properties->printRowsOnly, - -headingId=>18, - -helpId=>"user submission system add/edit" - ); -} - -#------------------------------------------------------------------- -sub www_editSave { - $_[0]->deleteAllCachedSubmissions; - $_[0]->SUPER::www_editSave() -} - - -#------------------------------------------------------------------- -sub www_editSubmission { - my ($output, $submission, $f, @submission, $sth); - $submission = $_[0]->getCollateral("USS_submission","USS_submissionId",$session{form}{sid}); - my %var; - if ($submission->{USS_submissionId} eq "new") { - $submission->{userId} = $session{user}{userId}; - $submission->{contentType} = "mixed"; - $var{'submission.isNew'} = 1; - } - return WebGUI::Privilege::insufficient() unless (WebGUI::Grouping::isInGroup($_[0]->get("groupToContribute")) - || $submission->{userId} eq $session{user}{userId} - || WebGUI::Grouping::isInGroup($_[0]->get("groupToApprove"))); - $var{'link.header.label'} = WebGUI::International::get(90,$_[0]->get("namespace")); - $var{'question.header.label'} = WebGUI::International::get(84,$_[0]->get("namespace")); - $var{'submission.header.label'} = WebGUI::International::get(19,$_[0]->get("namespace")); - $var{'user.isVisitor'} = ($session{user}{userId} eq '1'); - $var{'visitorName.label'} = WebGUI::International::get(438); - $var{'visitorName.form'} = WebGUI::Form::text({ - name=>"visitorName" - }); - $var{'form.header'} = WebGUI::Form::formHeader() - .WebGUI::Form::hidden({ - name=>"wid", - value=>$session{form}{wid} - }) - .WebGUI::Form::hidden({ - name=>"sid", - value=>$submission->{USS_submissionId} - }) - .WebGUI::Form::hidden({ - name=>"func", - value=>"editSubmissionSave" - }); - $var{'url.label'} = WebGUI::International::get(91,$_[0]->get("namespace")); - $var{'newWindow.label'} = WebGUI::International::get(92,$_[0]->get("namespace")); - $var{'userDefined1.form'} = WebGUI::Form::text({ - name=>"userDefined1", - value=>$submission->{userDefined1} - }); - $var{'userDefined1.form.yesNo'} = WebGUI::Form::yesNo({ - name=>"userDefined1", - value=>$submission->{userDefined1} - }); - $var{'userDefined1.form.textarea'} = WebGUI::Form::textarea({ - name=>"userDefined1", - value=>$submission->{userDefined1} - }); - $var{'userDefined2.form'} = WebGUI::Form::text({ - name=>"userDefined2", - value=>$submission->{userDefined2} - }); - $var{'userDefined2.form.yesNo'} = WebGUI::Form::yesNo({ - name=>"userDefined2", - value=>$submission->{userDefined2} - }); - $var{'userDefined2.form.textarea'} = WebGUI::Form::textarea({ - name=>"userDefined2", - value=>$submission->{userDefined2} - }); - $var{'userDefined3.form'} = WebGUI::Form::text({ - name=>"userDefined3", - value=>$submission->{userDefined3} - }); - $var{'userDefined3.form.yesNo'} = WebGUI::Form::yesNo({ - name=>"userDefined3", - value=>$submission->{userDefined3} - }); - $var{'userDefined3.form.textarea'} = WebGUI::Form::textarea({ - name=>"userDefined3", - value=>$submission->{userDefined3} - }); - $var{'userDefined4.form'} = WebGUI::Form::text({ - name=>"userDefined4", - value=>$submission->{userDefined4} - }); - $var{'userDefined4.form.yesNo'} = WebGUI::Form::yesNo({ - name=>"userDefined4", - value=>$submission->{userDefined4} - }); - $var{'userDefined4.form.textarea'} = WebGUI::Form::textarea({ - name=>"userDefined4", - value=>$submission->{userDefined4} - }); - $var{'userDefined5.form'} = WebGUI::Form::text({ - name=>"userDefined5", - value=>$submission->{userDefined5} - }); - $var{'userDefined5.form.yesNo'} = WebGUI::Form::yesNo({ - name=>"userDefined5", - value=>$submission->{userDefined5} - }); - $var{'userDefined5.form.textarea'} = WebGUI::Form::textarea({ - name=>"userDefined5", - value=>$submission->{userDefined5} - }); - $var{'userDefined1.form.htmlarea'} = WebGUI::Form::HTMLArea({ - name=>"userDefined1", - value=>$submission->{userDefined1} - }); - $var{'userDefined2.form.htmlarea'} = WebGUI::Form::HTMLArea({ - name=>"userDefined2", - value=>$submission->{userDefined2} - }); - $var{'userDefined3.form.htmlarea'} = WebGUI::Form::HTMLArea({ - name=>"userDefined3", - value=>$submission->{userDefined3} - }); - $var{'userDefined4.form.htmlarea'} = WebGUI::Form::HTMLArea({ - name=>"userDefined4", - value=>$submission->{userDefined4} - }); - $var{'userDefined5.form.htmlarea'} = WebGUI::Form::HTMLArea({ - name=>"userDefined5", - value=>$submission->{userDefined5} - }); - $var{'userDefined1.value'} = $submission->{userDefined1}; - $var{'userDefined2.value'} = $submission->{userDefined2}; - $var{'userDefined3.value'} = $submission->{userDefined3}; - $var{'userDefined4.value'} = $submission->{userDefined4}; - $var{'userDefined5.value'} = $submission->{userDefined5}; - $var{'question.label'} = WebGUI::International::get(85,$_[0]->get("namespace")); - $var{'title.label'} = WebGUI::International::get(35,$_[0]->get("namespace")); - $var{'title.form'} = WebGUI::Form::text({ - name=>"title", - value=>$submission->{title} - }); - $var{'title.form.textarea'} = WebGUI::Form::textarea({ - name=>"title", - value=>$submission->{title} - }); - $var{'title.value'} = $submission->{title}; - $var{'body.label'} = WebGUI::International::get(31,$_[0]->get("namespace")); - $var{'answer.label'} = WebGUI::International::get(86,$_[0]->get("namespace")); - $var{'description.label'} = WebGUI::International::get(85); - $var{'body.value'} = $submission->{content}; - $var{'body.form'} = WebGUI::Form::HTMLArea({ - name=>"body", - value=>$submission->{content} - }); - $var{'body.form.textarea'} = WebGUI::Form::textarea({ - name=>"body", - value=>$submission->{content} - }); - $var{'image.label'} = WebGUI::International::get(32,$_[0]->get("namespace")); - if ($submission->{image} ne "") { - $var{'image.form'} = ''.WebGUI::International::get(391).''; - } else { - $var{'image.form'} = WebGUI::Form::file({ - name=>"image" - }); - } - $var{'attachment.label'} = WebGUI::International::get(33,$_[0]->get("namespace")); - if ($submission->{attachment} ne "") { - $var{'attachment.form'} = ''.WebGUI::International::get(391).''; - } else { - $var{'attachment.form'} = WebGUI::Form::file({ - name=>"attachment" - }); - } - $var{'contentType.label'} = WebGUI::International::get(1007); - $var{'contentType.form'} = WebGUI::Form::contentType({ - name=>'contentType', - value=>[$submission->{contentType}] - }); - $var{'startDate.label'} = WebGUI::International::get(497); - $var{'endDate.label'} = WebGUI::International::get(498); - $var{'startDate.form'} = WebGUI::Form::dateTime({ - name => 'startDate', - value => ($submission->{startDate} || $_[0]->get("startDate")) - }); - $var{'endDate.form'} = WebGUI::Form::dateTime({ - name => 'endDate', - value => ($submission->{endDate} || $_[0]->get("endDate")) - }); - $var{'form.submit'} = WebGUI::Form::submit(); - $var{'form.footer'} = WebGUI::Form::formFooter(); - return $_[0]->processTemplate($_[0]->get("submissionFormTemplateId"),\%var,"USS/SubmissionForm"); -} - -#------------------------------------------------------------------- -sub www_editSubmissionSave { - my ($submission, %hash, $file, $u); - $submission = $_[0]->getCollateral("USS_submission","USS_submissionId",$session{form}{sid}); - if ($submission->{userId} eq $session{user}{userId} - || ($submission->{USS_submissionId} eq "new" - && WebGUI::Grouping::isInGroup($_[0]->get("groupToContribute"))) - || WebGUI::Grouping::isInGroup($_[0]->get("groupToApprove"))) { - if ($session{form}{sid} eq "new") { - my $parentPage = WebGUI::Page->new($_[0]->get("pageId")); - my $newPage = $parentPage->add; - $hash{pageId} = $submission->{pageId} = $newPage->get("pageId"); - my $forum = WebGUI::Forum->create({ - masterForumId=>$_[0]->get("forumId"), - forumId=>"new" - }); - $hash{forumId} = $forum->get("forumId"); - $hash{USS_id} = $_[0]->get("USS_id"); - $hash{username} = $session{form}{visitorName} || $session{user}{alias}; - $hash{userId} = $session{user}{userId}; - $hash{dateSubmitted} = WebGUI::DateTime::time(); - $hash{USS_submissionId} = "new"; - if ($session{setting}{useKarma}) { - $u = WebGUI::User->new($session{user}{userId}); - $u->karma($_[0]->get("karmaPerSubmission"),$_[0]->get("namespace")." (".$_[0]->get("wobjectId") - ."/".$session{form}{sid}.")","User submission."); - } - $session{form}{sid} = $_[0]->setCollateral("USS_submission","USS_submissionId",\%hash,1,0,"USS_id",$_[0]->get("USS_id")); - my %pageVars = %{$parentPage->get}; - delete $pageVars{pageId}; - delete $pageVars{nestedSetLeft}; - delete $pageVars{nestedSetRight}; - delete $pageVars{depth}; - delete $pageVars{parentId}; - delete $pageVars{sequenceNumber}; - $pageVars{hideFromNavigation} = 1; - $pageVars{isSystem} = 1; - $pageVars{subroutine} = "viewSubmissionAsPage"; - $pageVars{subroutinePackage} = "WebGUI::Wobject::USS"; - $pageVars{subroutineParams} = "{wobjectId=>'".$_[0]->wid."',submissionId=>'".$session{form}{sid}."'}"; - $pageVars{urlizedTitle} .= "/".$_[0]->get("title")."/".$session{form}{title}; - $pageVars{urlizedTitle} .= ".".$session{setting}{urlExtension} unless ($pageVars{urlizedTitle} =~ /\./ && $session{setting}{urlExtension} ne ""); - $pageVars{urlizedTitle} = WebGUI::Page::makeUnique(WebGUI::URL::urlize($pageVars{urlizedTitle},-999)); - $newPage->set(\%pageVars); - %hash = (); - } - $hash{title} = WebGUI::HTML::filter($session{form}{title},'all') || WebGUI::International::get(16,$_[0]->get("namespace")); - $hash{USS_submissionId} = $session{form}{sid}; - $hash{dateUpdated} = WebGUI::DateTime::time(); - $hash{content} = $session{form}{body}; - $hash{userDefined1} = $session{form}{userDefined1}; - $hash{userDefined2} = $session{form}{userDefined2}; - $hash{userDefined3} = $session{form}{userDefined3}; - $hash{userDefined4} = $session{form}{userDefined4}; - $hash{userDefined5} = $session{form}{userDefined5}; - $hash{startDate} = WebGUI::DateTime::humanToEpoch($session{form}{startDate}); - $hash{endDate} = WebGUI::DateTime::humanToEpoch($session{form}{endDate}); - $hash{contentType} = $session{form}{contentType}; - $file = WebGUI::Attachment->new("",$session{form}{wid},$session{form}{sid}); - $file->save("image"); - $hash{image} = $file->getFilename if ($file->getFilename ne ""); - $file = WebGUI::Attachment->new("",$session{form}{wid},$session{form}{sid}); - $file->save("attachment"); - $hash{attachment} = $file->getFilename if ($file->getFilename ne ""); - unless ($_[0]->get("defaultStatus") eq "Approved") { - unless (WebGUI::Grouping::isInGroup($_[0]->get("groupToApprove")) ) { - $hash{status} = $_[0]->get("defaultStatus"); - WebGUI::MessageLog::addInternationalizedEntry('',$_[0]->get("groupToApprove"), - WebGUI::URL::page('func=viewSubmission&wid='.$_[0]->get("wobjectId").'&sid='. - $session{form}{sid},1),3,$_[0]->get("namespace"),'pending'); - } else { - $hash{status} = "Approved"; - } - } - my %pageVars; - $pageVars{title} = $pageVars{menuTitle} = $hash{title}; - my $page = WebGUI::Page->new($submission->{pageId}); - $page->set(\%pageVars); - $_[0]->setCollateral("USS_submission", "USS_submissionId", \%hash, 1, 0, "USS_id", $_[0]->get("USS_id")); - $_[0]->deleteCachedSubmission($hash{USS_submissionId}); - return $_[0]->www_viewSubmission(); - } else { - return WebGUI::Privilege::insufficient(); - } -} - -#------------------------------------------------------------------- -sub www_moveSubmissionDown { - return WebGUI::Privilege::insufficient() unless ($_[0]->canEdit); - $_[0]->moveCollateralDown("USS_submission","USS_submissionId",$session{form}{sid}, "USS_id", $_[0]->get("USS_id")); - $_[0]->deleteAllCachedSubmissions; - return ""; -} - -#------------------------------------------------------------------- -sub www_moveSubmissionUp { - return WebGUI::Privilege::insufficient() unless ($_[0]->canEdit); - $_[0]->moveCollateralUp("USS_submission","USS_submissionId",$session{form}{sid}, "USS_id", $_[0]->get("USS_id")); - $_[0]->deleteAllCachedSubmissions; - return ""; -} - - -#------------------------------------------------------------------- -sub www_view { - $_[0]->logView() if ($session{setting}{passiveProfilingEnabled}); - my (%var, $row, $page, $p, $constraints, @submission, @content, $image, $i, $numResults, $thumbnail, $responses); - $numResults = $_[0]->get("submissionsPerPage"); - $var{"readmore.label"} = WebGUI::International::get(46,$_[0]->get("namespace")); - $var{"responses.label"} = WebGUI::International::get(57,$_[0]->get("namespace")); - $var{canPost} = WebGUI::Grouping::isInGroup($_[0]->get("groupToContribute")); - $var{"post.url"} = WebGUI::URL::page('func=editSubmission&sid=new&wid='.$_[0]->get("wobjectId")); - $var{"post.label"} = WebGUI::International::get(20,$_[0]->get("namespace")); - $var{"addquestion.label"} = WebGUI::International::get(83,$_[0]->get("namespace")); - $var{"addlink.label"} = WebGUI::International::get(89,$_[0]->get("namespace")); - $var{"search.label"} = WebGUI::International::get(364); - $var{"search.Form"} = WebGUI::Search::form({wid=>$_[0]->get("wobjectId"),func=>'view',search=>1}); - $var{"search.url"} = WebGUI::Search::toggleURL("wid=".$_[0]->get("wobjectId")."&func=view"); - $var{"rss.url"} = WebGUI::URL::page('func=viewRSS&wid='.$_[0]->get("wobjectId"),1); - $var{canModerate} = WebGUI::Grouping::isInGroup($_[0]->get("groupToApprove"),$session{user}{userId}); - WebGUI::Style::setLink($var{"rss.url"},{ rel=>'alternate', type=>'application/rss+xml', title=>'RSS' }); - if ($session{scratch}{search}) { - $numResults = $session{scratch}{numResults}; - $constraints = WebGUI::Search::buildConstraints([qw(USS_submission.username USS_submission.title USS_submission.content USS_submission.userDefined1 USS_submission.userDefined2 USS_submission.userDefined3 USS_submission.userDefined4 USS_submission.userDefined5)]); - } - if ($constraints ne "") { - $constraints = "USS_submission.status='Approved' and ".$constraints; - } else { - $constraints = "(USS_submission.status='Approved' or (USS_submission.userId=".quote($session{user}{userId})." and USS_submission.userId<>1)"; - if ($var{canModerate}) { - $constraints .= " or USS_submission.status='Pending'"; - } - $constraints .= ")"; - } - $var{"title.label"} = WebGUI::International::get(99); - $var{"thumbnail.label"} = WebGUI::International::get(52,$_[0]->get("namespace")); - $var{"date.label"} = WebGUI::International::get(13,$_[0]->get("namespace")); - $var{"date.updated.label"} = WebGUI::International::get(78,$_[0]->get("namespace")); - $var{"by.label"} = WebGUI::International::get(21,$_[0]->get("namespace")); - $var{"submission.edit.label"} = WebGUI::International::get(27,$_[0]->get("namespace")); - $p = WebGUI::Paginator->new(WebGUI::URL::page('func=view&wid='.$_[0]->get("wobjectId")),$numResults); - $p->setDataByQuery("select USS_submission.USS_submissionId, USS_submission.content, USS_submission.title, - USS_submission.userId, USS_submission.status, USS_submission.image, USS_submission.dateSubmitted, - USS_submission.dateUpdated, USS_submission.username, USS_submission.contentType, USS_submission.forumId, - USS_submission.userDefined1, USS_submission.userDefined2, USS_submission.userDefined3, - USS_submission.userDefined4, USS_submission.userDefined5, USS_submission.startDate, - USS_submission.endDate, page.urlizedTitle - from USS_submission left join page on USS_submission.pageId=page.pageId - where USS_submission.USS_id=".quote($_[0]->get("USS_Id"))." - and $constraints order by USS_submission.".$_[0]->getValue("sortBy")." ".$_[0]->getValue("sortOrder")); - $page = $p->getPageData; - $i = 0; - my $imageURL = ""; - foreach $row (@$page) { - my $cache = WebGUI::Cache->new("USS_submission_".$row->{USS_submissionId}); - my $submission = $cache->get; - unless (defined $submission) { - $page->[$i]->{content} = WebGUI::HTML::filter($page->[$i]->{content},$_[0]->get("filterContent")); - $page->[$i]->{content} =~ s/\n/\^\-\;/ unless ($page->[$i]->{content} =~ m/\^\-\;/); - $page->[$i]->{content} = WebGUI::HTML::format($page->[$i]->{content},$page->[$i]->{contentType}); - @content = split(/\^\-\;/,$page->[$i]->{content}); - if ($page->[$i]->{image} ne "") { - $image = WebGUI::Attachment->new($page->[$i]->{image},$_[0]->get("wobjectId"),$page->[$i]->{USS_submissionId}); - $thumbnail = $image->getThumbnail; - $imageURL = $image->getURL; - } else { - $thumbnail = ""; - $imageURL = ""; - } - ($responses) = WebGUI::SQL->quickArray("select count(*) from forumPost left join forumThread on - forumThread.forumThreadId=forumPost.forumThreadId where forumThread.forumId=".quote($row->{forumId}),WebGUI::SQL->getSlave); - my $quickurl = 'wid='.$_[0]->get("wobjectId").'&sid='.$page->[$i]->{USS_submissionId}.'&func='; - my $controls = deleteIcon($quickurl.'deleteSubmissionConfirm','',WebGUI::International::get(17,$_[0]->get("namespace"))) - .editIcon($quickurl.'editSubmission'); - if ($_[0]->get("sortBy") eq "sequenceNumber") { - if ($_[0]->get("sortOrder") eq "desc") { - $controls .= moveUpIcon($quickurl.'moveSubmissionDown') - .moveDownIcon($quickurl.'moveSubmissionUp'); - } else { - $controls .= moveUpIcon($quickurl.'moveSubmissionUp') - .moveDownIcon($quickurl.'moveSubmissionDown'); - } - } - my $inDateRange; - if ($page->[$i]->{startDate} < WebGUI::DateTime::time() && - $page->[$i]->{endDate} > WebGUI::DateTime::time()) - { - $inDateRange = 1; - } - else { $inDateRange = 0; } - $submission = { - "submission.id"=>$page->[$i]->{USS_submissionId}, - "submission.url"=>WebGUI::URL::gateway($page->[$i]->{urlizedTitle}), - "submission.content"=>$content[0], - "submission.content.full"=>join("\n",@content), - "submission.responses"=>$responses, - "submission.title"=>$page->[$i]->{title}, - "submission.userDefined1"=>$page->[$i]->{userDefined1}, - "submission.userDefined2"=>$page->[$i]->{userDefined2}, - "submission.userDefined3"=>$page->[$i]->{userDefined3}, - "submission.userDefined4"=>$page->[$i]->{userDefined4}, - "submission.userDefined5"=>$page->[$i]->{userDefined5}, - "submission.userId"=>$page->[$i]->{userId}, - "submission.username"=>$page->[$i]->{username}, - "submission.status"=>$page->[$i]->{status}, - "submission.thumbnail"=>$thumbnail, - "submission.image"=>$imageURL, - "submission.date"=>epochToHuman($page->[$i]->{dateSubmitted}), - "submission.date.updated"=>epochToHuman($page->[$i]->{dateUpdated}), - "submission.userProfile"=>WebGUI::URL::page('op=viewProfile&uid='.$page->[$i]->{userId}), - "submission.edit.url"=>WebGUI::URL::page($quickurl.'editSubmission'), - "submission.secondColumn"=>(($i+1)%2==0), - "submission.thirdColumn"=>(($i+1)%3==0), - "submission.fourthColumn"=>(($i+1)%4==0), - "submission.fifthColumn"=>(($i+1)%5==0), - 'submission.controls'=>$controls, - 'submission.inDateRange'=>$inDateRange - }; - $cache->set($submission,3600); - } - $submission->{"submission.currentUser"}=($session{user}{userId} eq $submission->{"submission.userId"} && $session{user}{userId} != 1); - push(@submission,$submission); - $i++; - } - $var{submissions_loop} = \@submission; - $p->appendTemplateVars(\%var); - return $_[0]->processTemplate($_[0]->get("templateId"),\%var); -} - -#------------------------------------------------------------------- -# print out RSS 2.0 feed describing the items visible on the first page -sub www_viewRSS { - $_[0]->logView() if ($session{setting}{passiveProfilingEnabled}); - my $wid = $_[0]->get("wobjectId"); - my $numResults = $_[0]->get("submissionsPerPage"); - - my $encTitle = _xml_encode($_[0]->get("title")); - my $encDescription = _xml_encode($_[0]->get("description")); - my $encUrl = _xml_encode(WebGUI::URL::page("wid=$wid")); - - my $xml = qq~ - - -$encTitle -$encUrl -$encDescription -~; - - my $res = WebGUI::SQL->read - ("select USS_submissionId, content, title, " . - "dateSubmitted, username from USS_submission " . - "where USS_id = " .quote($_[0]->get("USS_id")) . " and status='Approved' " . - "order by ".$_[0]->getValue("sortBy")." ".$_[0]->getValue("sortOrder")." limit " . $numResults,WebGUI::SQL->getSlave); - - while (my $row = $res->{_sth}->fetchrow_arrayref()) { - my ($sid, $content, $title, $dateSubmitted, $username) = - @{$row}; - - my $encUrl = _xml_encode - (WebGUI::URL::page - ("wid=$wid&func=viewSubmission&sid=$sid")); - my $encTitle = _xml_encode($title); - my $encPubDate = _xml_encode - (_get_rfc822_date($dateSubmitted)); - my $encDescription = _xml_encode($content); - - $xml .= qq~ - -$encTitle -$encUrl -$encDescription -$encUrl -$encPubDate - -~; - } - - $xml .=qq~ - - -~; - WebGUI::HTTP::setMimeType("text/xml"); - return $xml; -} - -#------------------------------------------------------------------- -sub www_viewSubmission { - my $self = shift; - my $submissionId = shift || $session{form}{sid}; - $self->logView() if ($session{setting}{passiveProfilingEnabled}); - return "" unless ($submissionId); - my ($file, @data, %var, $replies); - my $submission = $self->getCollateral("USS_submission","USS_submissionId",$submissionId); - return "" unless ($submission->{USS_submissionId}); - return "" unless ($submission->{status} eq 'Approved' || - ($submission->{userId} eq $session{user}{userId} && $session{user}{userId} != 1) || - WebGUI::Grouping::isInGroup($self->getValue("groupToApprove"))); - my $parentsPage = WebGUI::Page->new($self->get("pageId")); - my $callback = WebGUI::URL::gateway($parentsPage->get("urlizedTitle"),"func=viewSubmission&wid=".$self->wid."&sid=".$submission->{USS_submissionId}); - if ($session{form}{forumOp} ne "" && $session{form}{forumOp} ne "viewForum") { - return WebGUI::Forum::UI::forumOp({ - callback=>$callback, - title=>$submission->{title}, - forumId=>$submission->{forumId} - }); - } - WebGUI::SQL->write("update USS_submission set views=views+1 where USS_submissionId=".quote($submissionId)); - $var{title} = $submission->{title}; - $var{content} = WebGUI::HTML::filter($submission->{content},$self->get("filterContent")); - $var{content} =~ s/\^\-\;//g; - $var{content} = WebGUI::HTML::format($var{content},$submission->{contentType}); - $var{"user.label"} = WebGUI::International::get(21,$self->get("namespace")); - $var{"user.Profile"} = WebGUI::URL::page('op=viewProfile&uid='.$submission->{userId}); - $var{"user.Id"} = $submission->{userId}; - $var{"user.username"} = $submission->{username}; - $var{"date.label"} = WebGUI::International::get(13,$self->get("namespace")); - $var{"date.epoch"} = $submission->{dateSubmitted}; - $var{"date.human"} = epochToHuman($submission->{dateSubmitted}); - $var{"date.updated.label"} = WebGUI::International::get(78,$self->get("namespace")); - $var{"date.updated.human"} = epochToHuman($submission->{dateUpdated}); - $var{"date.updated.epoch"} = $submission->{dateUpdated}; - $var{"status.label"} = WebGUI::International::get(14,$self->get("namespace")); - $var{"status.status"} = status($submission->{status}); - $var{"views.label"} = WebGUI::International::get(514); - $var{"views.count"} = $submission->{views}; - $var{canPost} = WebGUI::Grouping::isInGroup($self->get("groupToContribute")); - $var{"post.url"} = WebGUI::URL::gateway($parentsPage->get("urlizedTitle"),'func=editSubmission&sid=new&wid='.$self->wid); - $var{"post.label"} = WebGUI::International::get(20,$self->get("namespace")); - @data = WebGUI::SQL->quickArray("select USS_submissionId from USS_submission - where USS_id=".quote($self->get("USS_id"))." and dateSubmitted<".quote($submission->{dateSubmitted})." - and (userId=".quote($submission->{userId})." or status='Approved') order by dateSubmitted desc",WebGUI::SQL->getSlave); - $var{"previous.more"} = ($data[0] ne ""); - if ($var{"previous.more"}) { - my $previousSubmission = $self->getCollateral("USS_submission","USS_submissionId",$data[0]); - my $previousPage = WebGUI::Page->new($previousSubmission->{pageId}); - $var{"previous.url"} = WebGUI::URL::gateway($previousPage->get("urlizedTitle")); - } - $var{"previous.label"} = WebGUI::International::get(58,$self->get("namespace")); - @data = WebGUI::SQL->quickArray("select USS_submissionId from USS_submission - where USS_id=".quote($submission->{USS_id})." and dateSubmitted>".quote($submission->{dateSubmitted})." - and (userId=".quote($submission->{userId})." or status='Approved') order by dateSubmitted asc",WebGUI::SQL->getSlave); - $var{"next.more"} = ($data[0] ne ""); - if ($var{"next.more"}) { - my $nextSubmission = $self->getCollateral("USS_submission","USS_submissionId",$data[0]); - my $nextPage = WebGUI::Page->new($nextSubmission->{pageId}); - $var{"next.url"} = WebGUI::URL::gateway($nextPage->get("urlizedTitle")); - } - $var{"next.label"} = WebGUI::International::get(59,$self->get("namespace")); - $var{canEdit} = (($submission->{userId} eq $session{user}{userId} || WebGUI::Grouping::isInGroup($self->get("groupToApprove"))) && $session{user}{userId} != 1); - $var{"delete.url"} = WebGUI::URL::gateway($parentsPage->get("urlizedTitle"),'func=deleteSubmissionConfirm&wid='.$self->wid.'&sid='.$submissionId); - $var{"delete.label"} = WebGUI::International::get(37,$self->get("namespace")); - $var{"edit.url"} = WebGUI::URL::gateway($parentsPage->get("urlizedTitle"),'func=editSubmission&wid='.$self->wid.'&sid='.$submissionId); - $var{"edit.label"} = WebGUI::International::get(27,$self->get("namespace")); - $var{canChangeStatus} = WebGUI::Grouping::isInGroup($self->get("groupToApprove"),$session{user}{userId}); - $var{"approve.url"} = WebGUI::URL::gateway($parentsPage->get("urlizedTitle"),'func=approveSubmission&wid='.$self->wid.'&sid='.$submissionId.'&mlog='.$session{form}{mlog}); - $var{"approve.label"} = WebGUI::International::get(572); - $var{"leave.url"} = WebGUI::URL::page('op=viewMessageLog'); - $var{"leave.label"} = WebGUI::International::get(573); - $var{"deny.url"} = WebGUI::URL::gateway($parentsPage->get("urlizedTitle"),'func=denySubmission&wid='.$self->wid.'&sid='.$submissionId.'&mlog='.$session{form}{mlog}); - $var{"deny.label"} = WebGUI::International::get(574); - $var{"canReply"} = ($self->get("allowDiscussion")); - $var{"reply.url"} = WebGUI::Forum::UI::formatNewThreadURL($callback,$submission->{forumId}); - $var{"reply.label"} = WebGUI::International::get(47,$self->get("namespace")); - $var{"search.url"} = WebGUI::Search::toggleURL("",$parentsPage->get("urlizedTitle")); - $var{"search.label"} = WebGUI::International::get(364); - $var{"back.url"} = WebGUI::URL::gateway($parentsPage->get("urlizedTitle")); - $var{"back.label"} = WebGUI::International::get(28,$self->get("namespace")); - $var{'userDefined1.value'} = $submission->{userDefined1}; - $var{'userDefined2.value'} = $submission->{userDefined2}; - $var{'userDefined3.value'} = $submission->{userDefined3}; - $var{'userDefined4.value'} = $submission->{userDefined4}; - $var{'userDefined5.value'} = $submission->{userDefined5}; - if ($submission->{image} ne "") { - $file = WebGUI::Attachment->new($submission->{image},$self->wid,$submissionId); - $var{"image.url"} = $file->getURL; - $var{"image.thumbnail"} = $file->getThumbnail; - } - if ($submission->{attachment} ne "") { - $file = WebGUI::Attachment->new($submission->{attachment},$self->wid,$submissionId); - $var{"attachment.box"} = $file->box; - $var{"attachment.url"} = $file->getURL; - $var{"attachment.icon"} = $file->getIcon; - $var{"attachment.name"} = $file->getFilename; - } - if ($self->get("allowDiscussion")) { - $var{"replies"} = WebGUI::Forum::UI::www_viewForum( - {callback=>$callback,title=>$submission->{title},forumId=>$submission->{forumId}}, - $submission->{forumId}); - } - return $self->processTemplate($self->get("submissionTemplateId"),\%var,"USS/Submission"); -} - - - -1; -