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;
- $_[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;
-