removing old search system
This commit is contained in:
parent
aa59f59f7a
commit
6cae343978
9 changed files with 17 additions and 104 deletions
|
|
@ -87,4 +87,8 @@ webgui.
|
|||
- Added a variation on Len's Advanced Search wobject. Thanks to Len
|
||||
Kranendonk for creating the original version for the WebGUI community
|
||||
contest.
|
||||
- Removed the old realtime search subsystem in favor of the new search
|
||||
wobject.
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,10 @@ save you many hours of grief.
|
|||
the new configurable navigation system. See migration.txt
|
||||
for additional details.
|
||||
|
||||
* The old realtime search subsystem has been replaced with the new
|
||||
indexed search wobject. As such we've removed the ^?; macro.
|
||||
If you were using the ^?; macro then you'll need to set up
|
||||
a search wobject to replace it.
|
||||
|
||||
|
||||
5.5.0
|
||||
|
|
|
|||
|
|
@ -510,6 +510,7 @@ foreach my $macro (keys %{$macros}) {
|
|||
|| $macros->{$macro} eq "SpecificDropMenu"
|
||||
|| $macros->{$macro} eq "TopDropMenu"
|
||||
|| $macros->{$macro} eq "Synopsis"
|
||||
|| $macros->{$macro} eq "Question_search"
|
||||
) {
|
||||
$newMacros{$macro} = $macros->{$macro};
|
||||
}
|
||||
|
|
@ -571,6 +572,8 @@ unlink("../../lib/WebGUI/Macro/rootmenuHorizontal.pm");
|
|||
unlink("../../lib/WebGUI/Macro/RootTab.pm");
|
||||
unlink("../../lib/WebGUI/Macro/SpecificDropMenu.pm");
|
||||
unlink("../../lib/WebGUI/Macro/TopDropMenu.pm");
|
||||
unlink("../../lib/WebGUI/Macro/Question_search.pm");
|
||||
unlink("../../lib/WebGUI/Operation/Search.pm");
|
||||
rmtree("../../lib/WebGUI/Authentication");
|
||||
rmtree("../../www/extras/toolbar/default");
|
||||
|
||||
|
|
|
|||
|
|
@ -661,4 +661,6 @@ INSERT INTO international VALUES (29,'IndexedSearch',1,'Search template',1070202
|
|||
INSERT INTO template VALUES (2,'Advanced Search','<tmpl_if displayTitle>\r\n <h1><tmpl_var title></h1>\r\n</tmpl_if>\r\n\r\n<tmpl_if description>\r\n <tmpl_var description><p />\r\n</tmpl_if>\r\n\r\n<table class=\"tableMenu\" width=\"100%\">\r\n <tbody>\r\n <tr>\r\n <form method=\"post\" encType=\"multipart/form-data\">\r\n<input type=\"hidden\" name=\"func\" value=\"view\">\r\n<input type=\"hidden\" name=\"wid\" value=\"<tmpl_var wid>\">\r\n<td vAlign=\"top\" align=\"middle\">\r\n <table>\r\n <tbody>\r\n <tr>\r\n<td class=\"tableData\"><b>Search for:</b></td>\r\n<td class=\"tableData\"><input maxLength=\"255\" size=\"25\" value=\'<tmpl_var query>\' name=\"query\"></td>\r\n<td class=\"tableData\">in</td>\r\n<td class=\"tableData\">\r\n <select size=\"1\" name=\"namespaces\">\r\n <tmpl_loop namespaces>\r\n <option value=\"<tmpl_var value>\" <tmpl_if selected>selected</tmpl_if>><tmpl_var name></option>\r\n </tmpl_loop>\r\n </select>\r\n \r\n </td>\r\n </tr>\r\n <tr>\r\n <td class=\"tableData\" valign=top><b>Content in language:</b></td>\r\n <td class=\"tableData\" valign=top>\r\n <tmpl_loop languages>\r\n <input type=\"checkbox\" name=\"languages\" value=\"<tmpl_var value>\" \r\n <tmpl_if selected>checked=\"1\"</tmpl_if> ><tmpl_var name><br>\r\n </tmpl_loop>\r\n </td>\r\n <td class=\"tableData\" valign=top><b>Created by:</b></td>\r\n <td class=\"tableData\" valign=top>\r\n <select size=\"1\" name=\"users\">\r\n <tmpl_loop users>\r\n <option value=\"<tmpl_var value>\" <tmpl_if selected>selected</tmpl_if>><tmpl_var name></option>\r\n </tmpl_loop>\r\n </select>\r\n </td>\r\n </td>\r\n </tr>\r\n <tr>\r\n <td class=\"tableData\"><b>Type of content:</b></td>\r\n <td class=\"tableData\">\r\n <select size=\"1\" name=\"contentTypes\">\r\n <tmpl_loop contentTypes>\r\n <option value=\"<tmpl_var value>\" <tmpl_if selected>selected</tmpl_if>><tmpl_var name></option>\r\n </tmpl_loop>\r\n </select>\r\n </td>\r\n<td class=\"tableData\"><b>Number of Results:</b></td>\r\n<td class=\"tableData\">\r\n <select size=\"1\" name=\"paginateAfter\">\r\n <option <tmpl_var select_10> >10</option>\r\n <option <tmpl_var select_25> >25</option>\r\n <option <tmpl_var select_50> >50</option>\r\n <option <tmpl_var select_100 >>100</option>\r\n </select>\r\n</td>\r\n </tr>\r\n <tr>\r\n <td class=\"tableData\"></td>\r\n <td class=\"tableData\"></td>\r\n<td class=\"tableData\"></td>\r\n<td class=\"tableData\"><input onclick=\"this.value=\'Please wait...\'\" type=\"submit\" value=\"search\"></td>\r\n </tr>\r\n\r\n </tbody>\r\n </table>\r\n</td>\r\n<td></td>\r\n </form>\r\n </tr>\r\n </tbody>\r\n</table>\r\n\r\n<p/>\r\n<tmpl_if numberOfResults>\r\n <p>Results <tmpl_var startNr> - <tmpl_var endNr> of about <tmpl_var numberOfResults> \r\n containing <b>\"<tmpl_var queryHighlighted>\"</b>. Search took <b><tmpl_var duration></b> seconds.</p>\r\n</tmpl_if>\r\n<ol style=\"Margin-Top: 0px; Margin-Bottom: 0px;\" start=\"<tmpl_var startNr>\">\r\n\r\n<tmpl_loop resultsLoop>\r\n <li>\r\n <a href=\"<tmpl_var location>\">\r\n <tmpl_if header><tmpl_var header><tmpl_else>No Title</tmpl_if></a>\r\n <tmpl_if username>\r\n by <a href=\"<tmpl_var userProfile>\"><tmpl_var username></a>\r\n </tmpl_if>\r\n <div>\r\n <tmpl_if \"body\">\r\n <span class=\"preview\"><tmpl_var \"body\"></span><br/>\r\n </tmpl_if>\r\n <span style=\"color:#666666;\"><tmpl_var location></span>\r\n <br/>\r\n <br/>\r\n </div>\r\n </li>\r\n</tmpl_loop>\r\n\r\n</ol>\r\n\n\n\n<tmpl_if pagination.pageCount.isMultiple>\n <div class=\"pagination\">\n <tmpl_var pagination.previousPage> · <tmpl_var pagination.pageList.upTo20> · <tmpl_var pagination.nextPage>\n </div>\n</tmpl_if>\n','IndexedSearch');
|
||||
INSERT INTO template VALUES (3,'Search in Help','<tmpl_if displayTitle>\r\n <h1><tmpl_var title></h1>\r\n</tmpl_if>\r\n\r\n<tmpl_if description>\r\n <tmpl_var description><p />\r\n</tmpl_if>\r\n\r\n<table class=\"tableMenu\" width=\"100%\">\r\n <tbody>\r\n <tr>\r\n <td align=\"center\" width=\"15%\">\r\n <h1><tmpl_var int.search></h1>\r\n </td>\r\n <td vAlign=\"top\" align=\"middle\">\r\n <table>\r\n <form method=\"post\">\r\n <input type=\"hidden\" name=\"contentTypes\" value=\"help\">\r\n <input type=\"hidden\" name=\"func\" value=\"view\">\r\n <input type=\"hidden\" name=\"wid\" value=\"<tmpl_var wid>\">\r\n <tbody>\r\n <tr>\r\n <td align=center class=\"tableData\">\r\n <input maxLength=\"255\" size=\"30\" value=\'<tmpl_var query>\' name=\"query\">\r\n </td>\r\n <td class=\"tableData\"><tmpl_var submit></td>\r\n </tr>\r\n <tr>\r\n <td align=center class=\"tableData\" valign=\"top\"><b>In namespace: </b>\r\n <select size=\"1\" name=\"namespaces\">\r\n <tmpl_loop namespaces>\r\n <option value=\"<tmpl_var value>\" <tmpl_if selected>selected</tmpl_if>><tmpl_var name></option>\r\n </tmpl_loop>\r\n </select>\r\n </td>\r\n </tbody>\r\n </table>\r\n </td>\r\n </form>\r\n </tr>\r\n </tbody>\r\n</table>\r\n\r\n<p/>\r\n<tmpl_if numberOfResults>\r\n <p>Results <tmpl_var startNr> - <tmpl_var endNr> of about <tmpl_var numberOfResults> \r\n containing <b>\"<tmpl_var queryHighlighted>\"</b>. Search took <b><tmpl_var duration></b> seconds.</p>\r\n</tmpl_if>\r\n<ol style=\"Margin-Top: 0px; Margin-Bottom: 0px;\" start=\"<tmpl_var startNr>\">\r\n\r\n<tmpl_loop resultsLoop>\r\n <li>\r\n <a href=\"<tmpl_var location>\">\r\n <tmpl_if header><tmpl_var header><tmpl_else>No Title</tmpl_if></a>\r\n <div>\r\n <tmpl_if \"body\">\r\n <span class=\"preview\"><tmpl_var \"body\"></span><br/>\r\n </tmpl_if>\r\n <span style=\"color:#666666;\">Namespace: <tmpl_var namespace></span>\r\n <br/>\r\n <br/>\r\n </div>\r\n </li>\r\n</tmpl_loop>\r\n\r\n</ol>\r\n\n\n\n<tmpl_if pagination.pageCount.isMultiple>\n <div class=\"pagination\">\n <tmpl_var pagination.previousPage> · <tmpl_var pagination.pageList.upTo20> · <tmpl_var pagination.nextPage>\n </div>\n</tmpl_if>\n','IndexedSearch');
|
||||
INSERT INTO template VALUES (1,'Default Search','<tmpl_if displayTitle>\r\n <h1><tmpl_var title></h1>\r\n</tmpl_if>\r\n\r\n<tmpl_if description>\r\n <tmpl_var description><p />\r\n</tmpl_if>\r\n\r\n<table class=\"tableMenu\" width=\"100%\">\r\n <tbody>\r\n <tr>\r\n <td align=\"center\" width=\"15%\">\r\n <h1><tmpl_var int.search></h1>\r\n </td>\r\n <td vAlign=\"top\" align=\"middle\">\r\n <table>\r\n <form method=\"post\">\r\n <input type=\"hidden\" name=\"func\" value=\"view\">\r\n <input type=\"hidden\" name=\"wid\" value=\"<tmpl_var wid>\">\r\n <tbody>\r\n <tr>\r\n <td colspan=\"2\" class=\"tableData\">\r\n <input maxLength=\"255\" size=\"30\" value=\'<tmpl_var query>\' name=\"query\">\r\n </td>\r\n <td class=\"tableData\"><tmpl_var submit></td>\r\n </tr>\r\n <tr>\r\n <td class=\"tableData\" valign=\"top\">\r\n <tmpl_loop languages>\r\n <input type=\"radio\" name=\"languages\" value=\"<tmpl_var value>\" \r\n <tmpl_if __FIRST__>\r\n <tmpl_if query>\r\n <tmpl_if selected>\r\n checked=\"1\"\r\n </tmpl_if>\r\n <tmpl_else>\r\n checked=\"1\"\r\n </tmpl_if>\r\n <tmpl_else>\r\n <tmpl_if selected>checked=\"1\"</tmpl_if>\r\n </tmpl_if>\r\n ><tmpl_var name>\r\n <br>\r\n </tmpl_loop>\r\n </td>\r\n <td class=\"tableData\" valign=\"top\">\r\n <tmpl_loop contentTypesSimple>\r\n <tmpl_unless __FIRST__>\r\n <input type=\"checkbox\" name=\"contentTypes\" value=\"<tmpl_var value>\"\r\n <tmpl_if type_content>\r\n <tmpl_if query>\r\n <tmpl_if selected>\r\n checked=\"1\"\r\n </tmpl_if>\r\n <tmpl_else>\r\n checked=\"1\"\r\n </tmpl_if>\r\n <tmpl_else>\r\n <tmpl_if selected>checked=\"1\"</tmpl_if>\r\n </tmpl_if>\r\n ><tmpl_var name>\r\n <br>\r\n </tmpl_unless>\r\n </tmpl_loop>\r\n </td>\r\n <td></td>\r\n </tbody>\r\n </form>\r\n </table>\r\n </td> \r\n </tr>\r\n </tbody>\r\n</table>\r\n\r\n<p/>\r\n<tmpl_if numberOfResults>\r\n <p>Results <tmpl_var startNr> - <tmpl_var endNr> of about <tmpl_var numberOfResults> \r\n containing <b>\"<tmpl_var queryHighlighted>\"</b>. Search took <b><tmpl_var duration></b> seconds.</p>\r\n <ol style=\"Margin-Top: 0px; Margin-Bottom: 0px;\" start=\"<tmpl_var startNr>\">\r\n <tmpl_loop resultsLoop>\r\n <li>\r\n <a href=\"<tmpl_var location>\">\r\n <tmpl_if header><tmpl_var header><tmpl_else>No Title</tmpl_if></a>\r\n <div>\r\n <tmpl_if \"body\">\r\n <span class=\"preview\"><tmpl_var \"body\"></span><br/>\r\n </tmpl_if>\r\n <span style=\"color:#666666;\">Location: <tmpl_var crumbTrail></span>\r\n <br/>\r\n <br/>\r\n </div>\r\n </li>\r\n </tmpl_loop>\r\n </ol>\r\n</tmpl_if> \n\n\n<tmpl_if pagination.pageCount.isMultiple>\n <div class=\"pagination\">\n <tmpl_var pagination.previousPage> · <tmpl_var pagination.pageList.upTo20> · <tmpl_var pagination.nextPage>\n </div>\n</tmpl_if>\n','IndexedSearch');
|
||||
delete from international where internationalId=365 and namespace='WebGUI';
|
||||
delete from international where internationalId=366 and namespace='WebGUI';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,30 +0,0 @@
|
|||
package WebGUI::Macro::Question_search;
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
# WebGUI is Copyright 2001-2003 Plain Black LLC.
|
||||
#-------------------------------------------------------------------
|
||||
# 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 WebGUI::HTMLForm;
|
||||
use WebGUI::International;
|
||||
use WebGUI::Session;
|
||||
use WebGUI::URL;
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub process {
|
||||
my ($f);
|
||||
$f = WebGUI::HTMLForm->new(1);
|
||||
$f->hidden("op","search");
|
||||
$f->text("atLeastOne",'',$session{form}{atLeastOne});
|
||||
$f->submit(WebGUI::International::get(364));
|
||||
return $f->print;
|
||||
}
|
||||
|
||||
|
||||
1;
|
||||
|
|
@ -27,7 +27,6 @@ use WebGUI::Operation::ProfileSettings;
|
|||
use WebGUI::Operation::Replacements;
|
||||
use WebGUI::Operation::Root;
|
||||
use WebGUI::Operation::Scratch;
|
||||
use WebGUI::Operation::Search;
|
||||
use WebGUI::Operation::Settings;
|
||||
use WebGUI::Operation::Statistics;
|
||||
use WebGUI::Operation::Style;
|
||||
|
|
|
|||
|
|
@ -1,66 +0,0 @@
|
|||
package WebGUI::Operation::Search;
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
# WebGUI is Copyright 2001-2003 Plain Black LLC.
|
||||
#-------------------------------------------------------------------
|
||||
# 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 Exporter;
|
||||
use strict;
|
||||
use WebGUI::HTMLForm;
|
||||
use WebGUI::International;
|
||||
use WebGUI::Paginator;
|
||||
use WebGUI::Privilege;
|
||||
use WebGUI::Search;
|
||||
use WebGUI::Session;
|
||||
use WebGUI::SQL;
|
||||
use WebGUI::URL;
|
||||
|
||||
our @ISA = qw(Exporter);
|
||||
our @EXPORT = qw(&www_search);
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_search {
|
||||
my ($constraints, $p, $output, %page, $sth, @row, $i, $url);
|
||||
$url = WebGUI::URL::page('op=search');
|
||||
$url = WebGUI::URL::append($url,'all='.$session{form}{all}) if ($session{form}{all} ne "");
|
||||
$url = WebGUI::URL::append($url,'exactPhrase='.$session{form}{exactPhrase}) if ($session{form}{exactPhrase} ne "");
|
||||
$url = WebGUI::URL::append($url,'atLeastOne='.$session{form}{atLeastOne}) if ($session{form}{atLeastOne} ne "");
|
||||
$url = WebGUI::URL::append($url,'without='.$session{form}{without}) if ($session{form}{without} ne "");
|
||||
$output = WebGUI::Search::form({op=>'search'});
|
||||
$constraints = WebGUI::Search::buildConstraints([qw(page.synopsis page.title page.menuTitle page.metaTags
|
||||
page.urlizedTitle wobject.description wobject.title wobject.namespace)]);
|
||||
if ($constraints ne "") {
|
||||
tie %page, 'Tie::CPHash';
|
||||
$sth = WebGUI::SQL->read("select page.urlizedTitle,page.title,wobject.wobjectId,page.pageId from page,wobject where $constraints
|
||||
and page.pageId=wobject.pageId and (page.pageId > 999 or page.pageId<=1)
|
||||
and page.pageId<>$session{page}{pageId} order by lastEdited");
|
||||
while (%page = $sth->hash) {
|
||||
if (WebGUI::Privilege::canViewPage($page{pageId})) {
|
||||
$row[$i] = '<li><a href="'.WebGUI::URL::gateway($page{urlizedTitle}).'#'.$page{wobjectId}.'">'.$page{title}.'</a>';
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
$sth->finish;
|
||||
}
|
||||
if ($row[0] ne "") {
|
||||
$p = WebGUI::Paginator->new($url,$session{scratch}{numResults});
|
||||
$p->setDataByArrayRef(\@row);
|
||||
$output .= '<p/>'.WebGUI::International::get(365).'<p><ul>';
|
||||
$output .= $p->getPage($session{form}{pn});
|
||||
$output .= '</ul>'.$p->getBarTraditional($session{form}{pn});
|
||||
} elsif ($session{form}{exactPhrase} ne "" || $session{form}{all} ne "" || $session{form}{without} ne "" || $session{form}{atLeastOne} ne "") {
|
||||
$output .= '<p/>'.WebGUI::International::get(366).'<p/>';
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
|
@ -101,6 +101,7 @@ use WebGUI::Operation::Group ();
|
|||
use WebGUI::Operation::Help ();
|
||||
use WebGUI::Operation::International ();
|
||||
use WebGUI::Operation::MessageLog ();
|
||||
use WebGUI::Operation::Navigation ();
|
||||
use WebGUI::Operation::Package ();
|
||||
use WebGUI::Operation::Page ();
|
||||
use WebGUI::Operation::Profile ();
|
||||
|
|
@ -108,7 +109,6 @@ use WebGUI::Operation::ProfileSettings ();
|
|||
use WebGUI::Operation::Replacements ();
|
||||
use WebGUI::Operation::Root ();
|
||||
use WebGUI::Operation::Scratch ();
|
||||
use WebGUI::Operation::Search ();
|
||||
use WebGUI::Operation::Settings ();
|
||||
use WebGUI::Operation::Shared ();
|
||||
use WebGUI::Operation::Statistics ();
|
||||
|
|
|
|||
|
|
@ -46,7 +46,6 @@ function returnSelected(in_values) {
|
|||
<option value='^Navigation(SpecificMenuVertical);'>Specific SubMenu (Vertical)</option>
|
||||
<option value='^Navigation(SpecificMenuHorizontal);'>Specific SubMenu (Horizontal)</option>
|
||||
<option value='^Navigation(SpecificDropMenu);'>Specific Dropdown Menu</option>
|
||||
<option value='^Synopsis;'>Synopsis Menu</option>
|
||||
<option value='^Navigation(TopLevelMenuVertical);'>Top Level Menu (Vertical)</option>
|
||||
<option value='^Navigation(TopLevelMenuHorizontal);'>Top Level Menu (Horizontal)</option>
|
||||
<option value='^Navigation(TopDropMenu);'>Top Dropdown Menu</option>
|
||||
|
|
@ -64,8 +63,8 @@ function returnSelected(in_values) {
|
|||
<option value='^a("Account Info");'>My Account Link</option>
|
||||
<option value='^CanEditText("You can edit this page.");'>Can Edit Page Message</option>
|
||||
<option value='^AdminText("You are in admin mode!");'>Admin Mode Message</option>
|
||||
<option value='GroupAdd("Newsletter","Click here to join our newsletter.");
|
||||
<option value='GroupDelete("Newsletter","Click here to unsubscribe from our newsletter.");
|
||||
<option value='^GroupAdd("Newsletter","Click here to join our newsletter.");'>Join Group</option>
|
||||
<option value='^GroupDelete("Newsletter","Click here to unsubscribe from our newsletter.");'>Leave Group</option>
|
||||
<option value='^GroupText("Visitors","You need an account to do anything cool on this site!");'>Group Message</option>
|
||||
<option value='^EditableToggle;'>Page Editable Toggle</option>
|
||||
<option value='^AdminToggle;'>Admin Toggle</option>
|
||||
|
|
@ -84,10 +83,8 @@ function returnSelected(in_values) {
|
|||
<option value='^PageTitle;'>Page Title</option>
|
||||
<option value='^r;'>Make Page Printable</option>
|
||||
<option value='^RootTitle;'>Root Title</option>
|
||||
<option value='^?;'>Search Box</option>
|
||||
<option value='^Extras;'>Extras Folder</option>
|
||||
<option value='^AdminBar;'>Admin Bar</option>
|
||||
<option value='^-;'>Separator</option>
|
||||
<option value='^AdminBar(2);'>Admin Bar</option>
|
||||
</select>
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue