Adding search engine to Message Board and USS.

This commit is contained in:
JT Smith 2002-06-01 06:28:31 +00:00
parent 6f39003af1
commit 84d2dc0bb7
6 changed files with 391 additions and 47 deletions

View file

@ -168,6 +168,11 @@ sub www_postSave {
}
}
#-------------------------------------------------------------------
sub www_search {
return WebGUI::Discussion::search();
}
#-------------------------------------------------------------------
sub www_showMessage {
my ($output, $submenu);
@ -179,6 +184,7 @@ sub www_showMessage {
$submenu .= '<a href="'.WebGUI::URL::page('func=deleteMessage&mid='.$session{form}{mid}.
'&wid='.$session{form}{wid}).'">'.WebGUI::International::get(22,$namespace).'</a><br>';
}
$submenu .= '<a href="'.WebGUI::URL::page('func=search&wid='.$_[0]->get("wobjectId")).'">'.WebGUI::International::get(364).'</a><br>';
$submenu .= '<a href="'.WebGUI::URL::page().'">'.WebGUI::International::get(11,$namespace).'</a><br>';
$output = WebGUI::Discussion::showMessage($submenu);
$output .= WebGUI::Discussion::showReplyTree();
@ -199,7 +205,8 @@ sub www_view {
$html .= '<table width="100%" cellpadding=2 cellspacing=1 border=0><tr>'.
'<td align="right" valign="bottom" class="tableMenu"><a href="'.
WebGUI::URL::page('func=post&mid=new&wid='.$_[0]->get("wobjectId")).'">'.
WebGUI::International::get(17,$namespace).'</a></td></tr></table>';
WebGUI::International::get(17,$namespace).'</a> &middot; <a href="'.WebGUI::URL::page('func=search&wid='.$_[0]->get("wobjectId")).'">'
.WebGUI::International::get(364).'</a></td></tr></table>';
$html .= '<table border=0 cellpadding=2 cellspacing=1 width="100%">';
$html .= '<tr><td class="tableHeader">'.WebGUI::International::get(229).'</td>
<td class="tableHeader">'.WebGUI::International::get(15,$namespace).'</td>

View file

@ -130,7 +130,9 @@ sub _traditionalView {
$sth->finish;
$output .= '<table width="100%" cellpadding=2 cellspacing=1 border=0><tr>'.
'<td align="right" class="tableMenu"><a href="'.WebGUI::URL::page('func=editSubmission&sid=new&wid='.
$_[0]->get("wobjectId")).'">'.WebGUI::International::get(20,$namespace).'</a></td></tr></table>';
$_[0]->get("wobjectId")).'">'.WebGUI::International::get(20,$namespace).'</a> &middot; <a href="'
.WebGUI::URL::page('func=search&wid='.$_[0]->get("wobjectId")).'">'
.WebGUI::International::get(364).'</a></td></tr></table>';
$p = WebGUI::Paginator->new(WebGUI::URL::page(),\@row,$_[0]->get("submissionsPerPage"));
$output .= '<table width="100%" cellspacing=1 cellpadding=2 border=0>';
$output .= '<tr><td class="tableHeader">'.WebGUI::International::get(99);
@ -520,6 +522,64 @@ sub www_postSave {
}
}
#-------------------------------------------------------------------
sub www_search {
if ($session{form}{sid} ne "") {
return WebGUI::Discussion::search();
} else {
my ($p, $i, $output, $constraints, $image, $sql, $sth, %submission, @row, $url);
$output = WebGUI::Search::form({wid=>"$session{form}{wid}",func=>'search'});
$constraints = WebGUI::Search::buildConstraints([qw(username title content)]);
if ($constraints ne "") {
tie %submission, 'Tie::CPHash';
$url = WebGUI::URL::page('func=search&wid='.$session{form}{wid}
.'&all='.WebGUI::URL::escape($session{form}{all})
.'&exactPhrase='.WebGUI::URL::escape($session{form}{exactPhrase}).'&atLeastOne='
.WebGUI::URL::escape($session{form}{atLeastOne}).'&numResults='.$session{form}{numResults}
.'&without='.WebGUI::URL::escape($session{form}{without}));
$output .= '<table border=0 cellpadding=2 cellspacing=1 width="100%">';
$output .= '<tr><td class="tableHeader">'.WebGUI::International::get(99);
if ($_[0]->get("displayThumbnails")) {
$output .= '<td class="tableHeader">'.WebGUI::International::get(52,$namespace).'</td>';
}
$output .= '</td><td class="tableHeader">'.WebGUI::International::get(13,$namespace).
'</td><td class="tableHeader">'.WebGUI::International::get(21,$namespace).'</td></tr>';
$sql = "select * from UserSubmission_submission where wobjectId=$session{form}{wid} ";
$sql .= " and ".$constraints." order by dateSubmitted desc";
$sth = WebGUI::SQL->read($sql);
while (%submission = $sth->hash) {
$submission{title} = WebGUI::HTML::filter($submission{title},'all');
$row[$i] = '<tr><td class="tableData">
<a href="'.WebGUI::URL::page('wid='.$_[0]->get("wobjectId").'&func=viewSubmission&sid='
.$submission{submissionId}).'">'.$submission{title}.'</a>';
if ($submission{userId} == $session{user}{userId}) {
$row[$i] .= ' ('.$submissionStatus{$submission{status}}.')';
}
$row[$i] .= '</td>';
if ($_[0]->get("displayThumbnails")) {
if ($submission{image} ne "") {
$image = WebGUI::Attachment->new($submission{image},$_[0]->get("wobjectId"),$submission{submissionId});
$row[$i] .= '<td class="tableData"><a href="'.WebGUI::URL::page('wid='.$_[0]->get("wobjectId")
.'&func=viewSubmission&sid='
.$submission{submissionId}).'"><img src="'.$image->getThumbnail.'" border="0"></a></td>';
} else {
$row[$i] .= '<td class="tableData"></td>';
}
}
$row[$i] .= '<td class="tableData">'.epochToHuman($submission{dateSubmitted},"%z").
'</td><td class="tableData"><a href="'.WebGUI::URL::page('op=viewProfile&uid='.
$submission{userId}).'">'.$submission{username}.'</a></td></tr>';
}
$sth->finish;
$p = WebGUI::Paginator->new($url,\@row,$session{form}{numResults});
$output .= $p->getPage($session{form}{pn});
$output .= '</table>';
$output .= $p->getBarTraditional($session{form}{pn});
}
return $output;
}
}
#-------------------------------------------------------------------
sub www_showMessage {
my ($submenu, $output);
@ -531,6 +591,8 @@ sub www_showMessage {
$submenu .= '<a href="'.WebGUI::URL::page('func=deleteMessage&mid='.$session{form}{mid}.
'&wid='.$session{form}{wid}.'&sid='.$session{form}{sid}).'">'.WebGUI::International::get(43,$namespace).'</a><br>';
}
$submenu .= '<a href="'.WebGUI::URL::page('func=search&sid='.$session{form}{sid}.'&wid='.$_[0]->get("wobjectId")).'">'
.WebGUI::International::get(364).'</a><br>';
$submenu .= '<a href="'.WebGUI::URL::page('func=viewSubmission&wid='.$session{form}{wid}.
'&sid='.$session{form}{sid}).'">'.WebGUI::International::get(45,$namespace).'</a><br>';
$submenu .= '<a href="'.WebGUI::URL::page().'">'.WebGUI::International::get(28,$namespace).'</a><br>';
@ -595,6 +657,7 @@ sub www_viewSubmission {
$output .= '<a href="'.WebGUI::URL::page('func=post&mid=new&wid='.$_[0]->get("wobjectId")
.'&sid='.$session{form}{sid}).'">'.WebGUI::International::get(47,$namespace).'</a><br>';
}
$output .= '<a href="'.WebGUI::URL::page('func=search&wid='.$_[0]->get("wobjectId")).'">'.WebGUI::International::get(364).'</a><br>';
$output .= '<a href="'.WebGUI::URL::page().'">'.WebGUI::International::get(28,$namespace).'</a><br>';
$output .= '</td</tr><tr><td class="tableData">';
#---content