From 425308d4c37f76b7711d528b0331ddc2196f768a Mon Sep 17 00:00:00 2001 From: JT Smith Date: Mon, 27 May 2002 17:58:49 +0000 Subject: [PATCH] Added thumbnail option and displayed all user items in main listing of USS. --- docs/upgrades/upgrade_3.8.0-3.9.0.sql | 5 +- lib/WebGUI/Wobject/UserSubmission.pm | 75 +++++++++++++++------------ 2 files changed, 47 insertions(+), 33 deletions(-) diff --git a/docs/upgrades/upgrade_3.8.0-3.9.0.sql b/docs/upgrades/upgrade_3.8.0-3.9.0.sql index 14a8879a6..a69089379 100644 --- a/docs/upgrades/upgrade_3.8.0-3.9.0.sql +++ b/docs/upgrades/upgrade_3.8.0-3.9.0.sql @@ -57,12 +57,15 @@ INSERT INTO international VALUES (41,'UserSubmission','English','Date'); INSERT INTO international VALUES (42,'UserSubmission','English','Edit Response'); INSERT INTO international VALUES (43,'UserSubmission','English','Delete Response'); INSERT INTO international VALUES (45,'UserSubmission','English','Return to Submission'); -INSERT INTO international VALUES (46,'UserSubmission','English','View Responses'); +INSERT INTO international VALUES (46,'UserSubmission','English','Read more...'); INSERT INTO international VALUES (47,'UserSubmission','English','Post a Response'); INSERT INTO international VALUES (48,'UserSubmission','English','Allow discussion?'); INSERT INTO international VALUES (49,'UserSubmission','English','Edit Timeout'); INSERT INTO international VALUES (50,'UserSubmission','English','Group To Post'); INSERT INTO international VALUES (44,'UserSubmission','English','Group To Moderate'); +INSERT INTO international VALUES (51,'UserSubmission','English','Display thumbnails?'); +alter table UserSubmission add column displayThumbnails int not null default 0; +INSERT INTO international VALUES (52,'UserSubmission','English','Thumbnail'); diff --git a/lib/WebGUI/Wobject/UserSubmission.pm b/lib/WebGUI/Wobject/UserSubmission.pm index f860b5919..01e78267c 100644 --- a/lib/WebGUI/Wobject/UserSubmission.pm +++ b/lib/WebGUI/Wobject/UserSubmission.pm @@ -33,6 +33,10 @@ our @ISA = qw(WebGUI::Wobject); our $namespace = "UserSubmission"; our $name = WebGUI::International::get(29,$namespace); +our %submissionStatus =("Approved"=>WebGUI::International::get(7,$namespace), + "Denied"=>WebGUI::International::get(8,$namespace), + "Pending"=>WebGUI::International::get(9,$namespace)); + #------------------------------------------------------------------- sub _canEditMessage { my (%message); @@ -89,6 +93,7 @@ sub duplicate { allowDiscussion=>$_[0]->get("allowDiscussion"), editTimeout=>$_[0]->get("editTimeout"), groupToPost=>$_[0]->get("groupToPost"), + displayThumbnails=>$_[0]->get("displayThumbnails"), groupToModerate=>$_[0]->get("groupToModerate") }); $sth = WebGUI::SQL->read("select * from UserSubmission_submission where wobjectId=".$_[0]->get("wobjectId")); @@ -121,7 +126,7 @@ sub purge { #------------------------------------------------------------------- sub set { $_[0]->SUPER::set($_[1],[qw(submissionsPerPage groupToContribute groupToApprove defaultStatus groupToModerate - groupToPost editTimeout allowDiscussion)]); + groupToPost displayThumbnails editTimeout allowDiscussion)]); } #------------------------------------------------------------------- @@ -240,8 +245,7 @@ sub www_denySubmission { #------------------------------------------------------------------- sub www_edit { - my ($output, %hash, $f, $defaultStatus, $submissionsPerPage, $groupToApprove, $groupToModerate); - tie %hash, 'Tie::IxHash'; + my ($output, $f, $defaultStatus, $submissionsPerPage, $groupToApprove, $groupToModerate); $groupToApprove = $_[0]->get("groupToApprove") || 4; $groupToModerate = $_[0]->get("groupToModerate") || 4; $submissionsPerPage = $_[0]->get("submissionsPerPage") || 50; @@ -253,10 +257,8 @@ sub www_edit { $f->group("groupToApprove",WebGUI::International::get(1,$namespace),[$groupToApprove]); $f->group("groupToContribute",WebGUI::International::get(2,$namespace),[$_[0]->get("groupToContribute")]); $f->integer("submissionsPerPage",WebGUI::International::get(6,$namespace),$submissionsPerPage); - %hash = ("Approved"=>WebGUI::International::get(7,$namespace), - "Denied"=>WebGUI::International::get(8,$namespace), - "Pending"=>WebGUI::International::get(9,$namespace)); - $f->select("defaultStatus",\%hash,WebGUI::International::get(10,$namespace),[$defaultStatus]); + $f->select("defaultStatus",\%submissionStatus,WebGUI::International::get(10,$namespace),[$defaultStatus]); + $f->yesNo("displayThumbnails",WebGUI::International::get(51,$namespace),$_[0]->get("displayThumbnails")); $f->yesNo("allowDiscussion",WebGUI::International::get(48,$namespace),$_[0]->get("allowDiscussion")); $f->integer("editTimeout",WebGUI::International::get(49,$namespace),$_[0]->get("editTimeout")); $f->group("groupToPost",WebGUI::International::get(50,$namespace),[$_[0]->get("groupToPost")]); @@ -280,7 +282,8 @@ sub www_editSave { groupToModerate=>$session{form}{groupToModerate}, groupToPost=>$session{form}{groupToPost}, editTimeout=>$session{form}{editTimeout}, - allowDiscussion=>$session{form}{allowDiscussion} + allowDiscussion=>$session{form}{allowDiscussion}, + displayThumbnails=>$session{form}{displayThumbnails} }); return ""; } else { @@ -458,9 +461,9 @@ sub www_showMessage { '&sid='.$session{form}{sid}).'">'.WebGUI::International::get(45,$namespace).'
'; $html .= ''.WebGUI::International::get(28,$namespace).'
'; $html .= ''; - $html .= $message{message}; - $html .= ''; + $html .= $message{message}.'

'; $html .= _showReplies(); + $html .= ''; } else { $html = WebGUI::International::get(402); } @@ -469,19 +472,33 @@ sub www_showMessage { #------------------------------------------------------------------- sub www_view { - my (@submission, $output, $sth, @row, $i, $p); + my (%submission, $image, $output, $sth, @row, $i, $p); $output = $_[0]->displayTitle; $output .= $_[0]->description; $output = $_[0]->processMacros($output); - $sth = WebGUI::SQL->read("select title,submissionId,dateSubmitted,username,userId from UserSubmission_submission - where wobjectId=".$_[0]->get("wobjectId")." and status='Approved' order by dateSubmitted desc"); - while (@submission = $sth->array) { - $submission[0] = WebGUI::HTML::filter($submission[0],'all'); - $row[$i] = ''.$submission[0]. - ''.epochToHuman($submission[2],"%z"). + $sth = WebGUI::SQL->read("select * from UserSubmission_submission + where wobjectId=".$_[0]->get("wobjectId")." and (status='Approved' or userId=$session{user}{userId}) order by dateSubmitted desc"); + while (%submission = $sth->hash) { + $submission{title} = WebGUI::HTML::filter($submission{title},'all'); + $row[$i] = ' + + '.$submission{title}.''; + if ($submission{userId} == $session{user}{userId}) { + $row[$i] .= ' ('.$submissionStatus{$submission{status}}.')'; + } + $row[$i] .= ''; + if ($_[0]->get("displayThumbnails")) { + if ($submission{image} ne "") { + $image = WebGUI::Attachment->new($submission{image},$_[0]->get("wobjectId"),$submission{submissionId}); + $row[$i] .= ''; + } else { + $row[$i] .= ''; + } + } + $row[$i] .= ''.epochToHuman($submission{dateSubmitted},"%z"). ''.$submission[3].''; + $submission{userId}).'">'.$submission{username}.''; $i++; } $sth->finish; @@ -490,8 +507,11 @@ sub www_view { $_[0]->get("wobjectId")).'">'.WebGUI::International::get(20,$namespace).''; $p = WebGUI::Paginator->new(WebGUI::URL::page(),\@row,$_[0]->get("submissionsPerPage")); $output .= ''; - $output .= ''; + } + $output .= ''; $output .= $p->getPage($session{form}{pn}); $output .= '
'.WebGUI::International::get(99). - ''.WebGUI::International::get(13,$namespace). + $output .= '
'.WebGUI::International::get(99); + if ($_[0]->get("displayThumbnails")) { + $output .= ''.WebGUI::International::get(52,$namespace).''.WebGUI::International::get(13,$namespace). ''.WebGUI::International::get(21,$namespace).'
'; @@ -551,19 +571,10 @@ sub www_viewSubmission { $file = WebGUI::Attachment->new($submission{attachment},$session{form}{wid},$session{form}{sid}); $output .= $file->box; } - $output .= ''; if ($_[0]->get("allowDiscussion")) { - ($replies) = WebGUI::SQL->quickArray("select count(*) from discussion - where wobjectId=".$_[0]->get("wobjectId")." and subId=".$session{form}{sid}); - $output .= '

'; - $output .= ''; - $output .= ''; - $output .= '
'. - WebGUI::International::get(46,$namespace).' ('.$replies.')'. - WebGUI::International::get(47,$namespace).'
'; + $output .= _showReplies(); } + $output .= ''; return $output; }