|
From: <ir...@us...> - 2012-10-17 08:19:35
|
Revision: 10226
http://sourceforge.net/p/xoops/svn/10226
Author: irmtfan
Date: 2012-10-17 08:19:31 +0000 (Wed, 17 Oct 2012)
Log Message:
-----------
improve: add startlag, length, striptag=true/false, strip tages excludes
improve: skip empty results
improve: default path for themes
Modified Paths:
--------------
XoopsModules/newbb/branches/irmtfan/newbb/changelog-rev10109.txt
XoopsModules/newbb/branches/irmtfan/newbb/class/icon.php
XoopsModules/newbb/branches/irmtfan/newbb/class/read.php
XoopsModules/newbb/branches/irmtfan/newbb/docs/lang_diff.txt
XoopsModules/newbb/branches/irmtfan/newbb/include/functions.text.php
XoopsModules/newbb/branches/irmtfan/newbb/language/english/main.php
XoopsModules/newbb/branches/irmtfan/newbb/language/persian/main.php
XoopsModules/newbb/branches/irmtfan/newbb/search.php
XoopsModules/newbb/branches/irmtfan/newbb/templates/newbb_search.html
Modified: XoopsModules/newbb/branches/irmtfan/newbb/changelog-rev10109.txt
===================================================================
--- XoopsModules/newbb/branches/irmtfan/newbb/changelog-rev10109.txt 2012-10-17 00:12:33 UTC (rev 10225)
+++ XoopsModules/newbb/branches/irmtfan/newbb/changelog-rev10109.txt 2012-10-17 08:19:31 UTC (rev 10226)
@@ -1,3 +1,20 @@
+date 2012-10-17
+===================================
+1- improve: add startlag, length, striptag=true/false, strip tages excludes in search form.
+in newbb/search.php, newbb/include/functions.text.php, newbb/templates/newbb_search.php, newbb/language/LANG/main.php, newbb/docs/lang_diff.txt
+
+2- improve: in search form: dont show (skip) the result if both (post text) and (post subject) are empty.
+in newbb/search.php, newbb/include/functions.text.php
+
+3- improve: in search fucntion: ability to create criteria for both since and search topic
+in newbb/search.php
+
+4- comment add: the comment in class read about read_expire values was wrong
+in newbb/class/read.php
+
+5- improve: add default path for themes/default and themes/YOUR_THEME (images, css, js)
+in newbb/class/icon.php
+
date 2012-10-15
===================================
1- bug fix: viewpost.php?status=new AND viewforum.php?forum=FFF&status=unread and list.topic.php?status=unread criteria was wrong when read_mode = 2(important)
Modified: XoopsModules/newbb/branches/irmtfan/newbb/class/icon.php
===================================================================
--- XoopsModules/newbb/branches/irmtfan/newbb/class/icon.php 2012-10-17 00:12:33 UTC (rev 10225)
+++ XoopsModules/newbb/branches/irmtfan/newbb/class/icon.php 2012-10-17 08:19:31 UTC (rev 10226)
@@ -102,16 +102,32 @@
$theme_path = $this->template->currentTheme->path;
$rel_dir = "modules/{$dirname}/{$end_dir}";
-
- $path = is_dir($theme_path."/{$rel_dir}/{$type}/")
- ? $theme_path."/{$rel_dir}/{$type}"
- : ( is_dir(XOOPS_THEME_PATH."/default/{$rel_dir}/{$type}/")
- ? XOOPS_THEME_PATH."/default/{$rel_dir}/{$type}"
- : ( empty($default) || is_dir(XOOPS_ROOT_PATH."/modules/{$dirname}/templates/{$end_dir}/{$type}/")
- ? XOOPS_ROOT_PATH."/modules/{$dirname}/templates/{$end_dir}/{$type}"
- : XOOPS_ROOT_PATH."/modules/{$dirname}/templates/{$end_dir}/{$default}"
- )
- );
+ // START irmtfan add default for all pathes
+ if (empty($default)) {
+ $path = is_dir($theme_path."/{$rel_dir}/{$type}/")
+ ? $theme_path."/{$rel_dir}/{$type}"
+ : ( is_dir(XOOPS_THEME_PATH."/default/{$rel_dir}/{$type}/")
+ ? XOOPS_THEME_PATH."/default/{$rel_dir}/{$type}"
+ : XOOPS_ROOT_PATH."/modules/{$dirname}/templates/{$end_dir}/{$type}"
+ );
+ } else {
+ $path = is_dir($theme_path."/{$rel_dir}/{$type}/")
+ ? $theme_path."/{$rel_dir}/{$type}"
+ : ( is_dir($theme_path."/{$rel_dir}/{$default}/")
+ ? $theme_path."/{$rel_dir}/{$default}"
+ : ( is_dir(XOOPS_THEME_PATH."/default/{$rel_dir}/{$type}/")
+ ? XOOPS_THEME_PATH."/default/{$rel_dir}/{$type}"
+ : ( is_dir(XOOPS_THEME_PATH."/default/{$rel_dir}/{$default}/")
+ ? XOOPS_THEME_PATH."/default/{$rel_dir}/{$default}"
+ : ( is_dir(XOOPS_ROOT_PATH."/modules/{$dirname}/templates/{$end_dir}/{$type}/")
+ ? XOOPS_ROOT_PATH."/modules/{$dirname}/templates/{$end_dir}/{$type}"
+ : XOOPS_ROOT_PATH."/modules/{$dirname}/templates/{$end_dir}/{$default}"
+ ) // XOOPS_ROOT_PATH
+ ) // XOOPS_THEME_PATH {$default}
+ ) // XOOPS_THEME_PATH
+ ); // $theme_path {$default}
+ }
+ // END irmtfan add default for all pathes
$paths[$end_dir . '/' . $type] = str_replace(XOOPS_ROOT_PATH, "", $path);
return $paths[$end_dir . '/' . $type];
Modified: XoopsModules/newbb/branches/irmtfan/newbb/class/read.php
===================================================================
--- XoopsModules/newbb/branches/irmtfan/newbb/class/read.php 2012-10-17 00:12:33 UTC (rev 10225)
+++ XoopsModules/newbb/branches/irmtfan/newbb/class/read.php 2012-10-17 08:19:31 UTC (rev 10226)
@@ -75,8 +75,9 @@
* seconds records will persist.
* assigned from $xoopsModuleConfig["read_expire"]
* <ul>
- * <li>0 = never records</li>
- * <li>-1 = never expires</li>
+ * <li>positive days = delete all read records exist in the tables before expire time // irmtfan add comment</li>
+ * <li>0 = never expires // irmtfan change comment</li>
+ * <li>-1 or any negative days = never records // irmtfan change comment</li>
* </ul>
*
* @var integer
Modified: XoopsModules/newbb/branches/irmtfan/newbb/docs/lang_diff.txt
===================================================================
--- XoopsModules/newbb/branches/irmtfan/newbb/docs/lang_diff.txt 2012-10-17 00:12:33 UTC (rev 10225)
+++ XoopsModules/newbb/branches/irmtfan/newbb/docs/lang_diff.txt 2012-10-17 08:19:31 UTC (rev 10226)
@@ -62,6 +62,12 @@
define('_MD_SEARCHTOPIC','Search Topic');
define('_MD_SHOWSEARCH','Show results:');
define('_MD_SEARCHPOSTTEXT','posts text');
+define('_MD_SELECT_STARTLAG','Start lag of selected text');
+define('_MD_SELECT_STARTLAG_DESC','Select text from X characters before the first keyword');
+define('_MD_SELECT_LENGTH','Length of selected text');
+define('_MD_SELECT_HTML','Strip all html from result?');
+define('_MD_SELECT_EXCLUDE','Exclude these tags:');
+define('_MD_SELECT_TAG','Tag');
admin.php
---------
Modified: XoopsModules/newbb/branches/irmtfan/newbb/include/functions.text.php
===================================================================
--- XoopsModules/newbb/branches/irmtfan/newbb/include/functions.text.php 2012-10-17 00:12:33 UTC (rev 10225)
+++ XoopsModules/newbb/branches/irmtfan/newbb/include/functions.text.php 2012-10-17 08:19:31 UTC (rev 10226)
@@ -23,13 +23,14 @@
* @return text $select_text
*/
-function newbb_selectText($text, $queryarray, $selectstartlag = 100, $selectlength = 200, $striptags = true, $excludetags = '<br>') {
+function newbb_selectText($text, $queryarray, $selectstartlag = 100, $selectlength = 200, $striptags = true, $excludetags = '<br>', $start_trimmarker = '[...]', $end_trimmarker = '[...]') {
$sanitized_text = $striptags ? strip_tags($text, $excludetags) : $text;
$queryarray = newbb_str2array($queryarray);
$text_i = strtolower($sanitized_text);
$queryarray = array_map('strtolower', $queryarray);
$lengtharray = array_map('strlen', $queryarray);
$maxlengthquery = max($lengtharray);
+ $lengthend_trimmarker = strlen($end_trimmarker);
$select_text = "";
$startpos = 0;
$endpos = strlen($sanitized_text);
@@ -43,9 +44,12 @@
if ($pos == $endpos) break;
$start = max(($pos - $selectstartlag), ($startpos - $maxlengthquery), 0); // $startpos is the last position in the previous select text
$length = $maxlengthquery + $selectlength; //xoops_local("strlen", $query) + 200;
- $select_text .= "<p>[...] " . xoops_substr($sanitized_text, $start, $length, " [...]") . "</p>";
+ $select_text .= "<p>";
+ $select_text .= ($start > 0) ? $start_trimmarker . " " : " ";
+ $select_text .= xoops_substr($sanitized_text, $start, $length + $lengthend_trimmarker + 1, " ". $end_trimmarker) . "</p>";
$startpos = $start + $length + 1; // start searching from next position.
}
+ if ( empty($select_text) ) return ''; // if no text return empty string
return '<span class="newbb_select_text">' . $select_text . '</span>';
}
Modified: XoopsModules/newbb/branches/irmtfan/newbb/language/english/main.php
===================================================================
--- XoopsModules/newbb/branches/irmtfan/newbb/language/english/main.php 2012-10-17 00:12:33 UTC (rev 10225)
+++ XoopsModules/newbb/branches/irmtfan/newbb/language/english/main.php 2012-10-17 08:19:31 UTC (rev 10226)
@@ -500,4 +500,10 @@
define('_MD_SEARCHTOPIC','Search Topic');
define('_MD_SHOWSEARCH','Show results:');
define('_MD_SEARCHPOSTTEXT','Posts text');
+define('_MD_SELECT_STARTLAG','Start lag of selected text');
+define('_MD_SELECT_STARTLAG_DESC','Select text from X characters before the first keyword');
+define('_MD_SELECT_LENGTH','Length of selected text');
+define('_MD_SELECT_HTML','Strip all html from result?');
+define('_MD_SELECT_EXCLUDE','Exclude these tags:');
+define('_MD_SELECT_TAG','Tag');
?>
\ No newline at end of file
Modified: XoopsModules/newbb/branches/irmtfan/newbb/language/persian/main.php
===================================================================
--- XoopsModules/newbb/branches/irmtfan/newbb/language/persian/main.php 2012-10-17 00:12:33 UTC (rev 10225)
+++ XoopsModules/newbb/branches/irmtfan/newbb/language/persian/main.php 2012-10-17 08:19:31 UTC (rev 10226)
@@ -498,4 +498,10 @@
define('_MD_SEARCHTOPIC','جستجو تاپیک');
define('_MD_SHOWSEARCH','نمایش نتایج:');
define('_MD_SEARCHPOSTTEXT','متن پست');
+define('_MD_SELECT_STARTLAG','شروع متن انتخابی');
+define('_MD_SELECT_STARTLAG_DESC','شروع انتخاب متن این مقدار کاراکتر قبل از اولین کلمه کلیدی پیدا شده در متن خواهد بود.');
+define('_MD_SELECT_LENGTH','طول متن انتخابی');
+define('_MD_SELECT_HTML','پاک کردن همه کد های html از متن جستجو شده؟');
+define('_MD_SELECT_EXCLUDE','این تگ های html را پاک نکن');
+define('_MD_SELECT_TAG','تگ');
?>
\ No newline at end of file
Modified: XoopsModules/newbb/branches/irmtfan/newbb/search.php
===================================================================
--- XoopsModules/newbb/branches/irmtfan/newbb/search.php 2012-10-17 00:12:33 UTC (rev 10225)
+++ XoopsModules/newbb/branches/irmtfan/newbb/search.php 2012-10-17 08:19:31 UTC (rev 10226)
@@ -56,13 +56,19 @@
$uid = 0;
$forum = 0;
$sortby = 'p.post_time'; // irmtfan remove DESC
-$criteriaExtra = "";// irmtfan change to criteria
+$criteriaExtra = new CriteriaCompo(); // irmtfan new criteria
$searchin = "both";
$sort = "";
$since = isset($_POST['since']) ? $_POST['since'] : (isset($_GET['since']) ? $_GET['since'] : null);
$next_search['since'] = $since;
$term = isset($_POST['term']) ? $_POST['term'] : (isset($_GET['term']) ? $_GET['term'] : null);
$uname = isset($_POST['uname']) ? $_POST['uname'] : (isset($_GET['uname']) ? $_GET['uname'] : null);
+// irmtfan add select parameters
+$selectstartlag = !empty($_GET['selectstartlag']) ? intval($_GET['selectstartlag']) : 100;
+$selectlength = !empty($_GET['selectlength']) ? intval($_GET['selectlength']) : 200;
+$selecthtml = isset($_GET['selecthtml']) ? ( !empty($_GET['selecthtml']) ? true : false ) : true;
+$selectexclude = isset($_GET['selectexclude']) ? $_GET['selectexclude']: '';
+$selectexclude = newbb_str2array($selectexclude);
if ($xoopsModuleConfig['wol_enabled']) {
$online_handler =& xoops_getmodulehandler('online', 'newbb');
@@ -73,6 +79,15 @@
//$xoopsTpl->assign("img_folder", newbb_displayImage($forumImage['topic']));
if ( !empty($_REQUEST['submit']) || !empty($uname) || !empty($term)) {
+ // irmtfan filter positive numbers
+ $selectstartlag = !empty($selectstartlag) ? abs($selectstartlag) : 100;
+ $selectlength = !empty($selectlength) ? abs($selectlength) : 200;
+ // irmtfan add select parameters for next search
+ $next_search['selectstartlag'] = $selectstartlag;
+ $next_search['selectlength'] = $selectlength;
+ $next_search['selecthtml'] = $selecthtml;
+ $next_search['selectexclude'] = implode(", ", $selectexclude);
+
$start = isset($_GET['start']) ? $_GET['start'] : 0;
$forum = isset($_POST['forum']) ? $_POST['forum'] : (isset($_GET['forum']) ? $_GET['forum'] : null);
if (empty($forum) or $forum == 'all' or (is_array($forum) and in_array('all', $forum))) {
@@ -154,15 +169,14 @@
$sortby = (in_array(strtolower($sortby), $allowed)) ? $sortby : 'p.post_time';
$searchin = isset($_POST['searchin']) ? $_POST['searchin'] : (isset($_GET['searchin']) ? $_GET['searchin'] : 'both');
$next_search['searchin'] = $searchin;
- // START irmtfan use criteria - add topic search
+ // START irmtfan use criteria - add since and topic search
if (!empty($since)) {
- $criteriaExtra = new CriteriaCompo();
$criteriaExtra->add(new Criteria('p.post_time', (time() - newbb_getSinceTime($since)), '>='), 'OR');
- } elseif (is_numeric($topic) && !empty($topic)) {
- $criteriaExtra = new CriteriaCompo();
+ }
+ if (is_numeric($topic) && !empty($topic)) {
$criteriaExtra->add(new Criteria('p.topic_id', $topic), 'OR');
}
- // END irmtfan use criteria - add topic search
+ // END irmtfan use criteria - add since and topic search
if ($uname_required&&(!$uid||count($uid)<1)) $results = array(); // irmtfan bug fix array()
else $results = newbb_search($queries, $andor, $limit, $start, $uid, $forum, $sortby, $searchin, $criteriaExtra); // irmtfan $criteriaExtra
@@ -175,13 +189,27 @@
$xoopsTpl->assign("lang_nomatch", _SR_NOMATCH);
}
else {
- // START irmtfan add show search post_text
+ // START irmtfan add show search post_text, skip the result if both (post text) and (post subject) are empty
+ $skipresults = 0;
foreach ($results as $row) {
$post_text = "";
+ $post_text_select = "have text";
+ $post_subject_select = "have text";
if ($show_search == 'post_text') {
- $post_text = newbb_selectText($row['post_text'], $queries, 100, 200, false); // strip html tags = false
+ $post_text = newbb_selectText($row['post_text'], $queries, $selectstartlag, $selectlength, $selecthtml, implode("",$selectexclude)); // strip html tags = $selecthtml
+ $post_text_select = $post_text;
$post_text = newbb_highlightText($post_text, $queries);
+ } elseif ( "title" != $searchin && !empty($selecthtml) ) { // find if there is any query left after strip html tags
+ $post_text_select = newbb_selectText($row['post_text'], $queries, 100, 30000, true, implode("",$selectexclude)); // strip html tags = true
}
+ if ("text" != $searchin) {
+ $post_subject_select = newbb_selectText($row['title'], $queries, 100, 400, true);// strip html tags = true
+ }
+ // if no text remained after select text continue
+ if (empty($post_text_select) && empty($post_subject_select)) {
+ $skipresults = $skipresults + 1;
+ continue;
+ }
// add newbb_highlightText function to subject - add post_text
$xoopsTpl->append('results', array('forum_name' => $row['forum_name'], 'forum_link' => $row['forum_link'], 'link' => $row['link'], 'title' => newbb_highlightText($row['title'],$queries), 'poster' => $row['poster'], 'post_time' => formatTimestamp($row['time'], "m"), 'post_text' => $post_text));
}
@@ -209,16 +237,22 @@
if ($num_results == $limit) {
$next = $start + $limit;
$queries = implode(',',$queries);
- $search_url_next = $search_url."&start={$next}"; // irmtfan add { and }
+ $search_url_next = $search_url."&direction=next&start={$next}"; // irmtfan add { and } direction=next
$search_next = '<a href="'.htmlspecialchars($search_url_next).'">'._SR_NEXT.'</a>';
$xoopsTpl->assign("search_next", $search_next);
}
if ( $start > 0 ) {
$prev = $start - $limit;
- $search_url_prev = $search_url."&start={$prev}"; // irmtfan add { and }
+ $search_url_prev = $search_url."&direction=previous&start={$prev}"; // irmtfan add { and } and direction=previous
$search_prev = '<a href="'.htmlspecialchars($search_url_prev).'">'._SR_PREVIOUS.'</a>';
$xoopsTpl->assign("search_prev", $search_prev);
}
+ // irmtfan if all results skipped then redirect to the next/previous page
+ if ( $num_results == $skipresults ) {
+ $direction = isset($_POST['direction']) ? $_POST['direction'] : (isset($_GET['direction']) ? $_GET['direction'] : 'next');
+ $search_url_redirect = (strtolower($direction) == "next") ? $search_url_next : $search_url_prev;
+ redirect_header($search_url_redirect, 1, constant(strtoupper("_SR_{$direction}")));
+ }
}
// irmtfan add newbb_highlightText function
$search_info = _SR_KEYWORDS.": ".$search_info_keywords;
@@ -228,6 +262,10 @@
}
// add num_results
$search_info .= "<br />" . sprintf(_SR_SHOWING, $start + 1, $start + $num_results);
+ // if any result skip show the counter
+ if (!empty($skipresults)) {
+ $search_info .= " - " . sprintf(_SR_FOUND, $num_results - $skipresults);
+ }
$xoopsTpl->assign("search_info", $search_info);
}
// START irmtfan - assign template vars for search
@@ -291,6 +329,47 @@
$sortby_select .= ">" . _MD_TOPIC . "</option>";
$sortby_select .= "</select>";
$xoopsTpl->assign("sortby_selection_box", $sortby_select);
+
+/* selectstartlag */
+$xoopsTpl->assign("selectstartlag_select", $selectstartlag);
+
+/* selectlength */
+$xoopsTpl->assign("selectlength_select", $selectlength);
+
+/* selecthtml */
+$selecthtml_select = "";
+$selecthtml_select .= "<input type=\"radio\" name=\"selecthtml\" value=\"1\" onclick=\"javascript: {document.Search.selectexcludeset.disabled=false;}\"";
+if (!empty($selecthtml)) $selecthtml_select .= " checked";
+$selecthtml_select .= " />" . _YES . " ";
+$selecthtml_select .= "<input type=\"radio\" name=\"selecthtml\" value=\"0\" onclick=\"javascript: {document.Search.selectexcludeset.disabled=true;}\"";
+if (empty($selecthtml)) $selecthtml_select .= " checked";
+$selecthtml_select .= " />" . _NO . " ";
+$xoopsTpl->assign("selecthtml_radio", $selecthtml_select);
+
+/* selectexclude */
+$selectexclude_select = "<fieldset name=\"selectexcludeset\"";
+if (empty($selecthtml)) $selectexclude_select .= " disabled";
+$selectexclude_select .= " />";
+$selectexclude_select .= "<input type=\"checkbox\" name=\"selectexclude[]\" value=\"<p>\"";
+if (in_array("<p>", $selectexclude)) $selectexclude_select .= " checked";
+$selectexclude_select .= " /> " . _MD_SELECT_TAG . " p ";
+$selectexclude_select .= "<input type=\"checkbox\" name=\"selectexclude[]\" value=\"<br>\"";
+if (in_array("<br>", $selectexclude)) $selectexclude_select .= " checked";
+$selectexclude_select .= " /> " . _MD_SELECT_TAG . " br ";
+$selectexclude_select .= "<input type=\"checkbox\" name=\"selectexclude[]\" value=\"<a>\"";
+if (in_array("<a>", $selectexclude)) $selectexclude_select .= " checked";
+$selectexclude_select .= " /> " . _MD_SELECT_TAG . " a ";
+$selectexclude_select .= "<input type=\"checkbox\" name=\"selectexclude[]\" value=\"<div>\"";
+if (in_array("<div>", $selectexclude)) $selectexclude_select .= " checked";
+$selectexclude_select .= " /> " . _MD_SELECT_TAG . " div ";
+$selectexclude_select .= "<input type=\"checkbox\" name=\"selectexclude[]\" value=\"<img>\"";
+if (in_array("<img>", $selectexclude)) $selectexclude_select .= " checked";
+$selectexclude_select .= " /> " . _MD_SELECT_TAG . " img ";
+$selectexclude_select .= "<input type=\"checkbox\" name=\"selectexclude[]\" value=\"<span>\"";
+if (in_array("<span>", $selectexclude)) $selectexclude_select .= " checked";
+$selectexclude_select .= " /> " . _MD_SELECT_TAG . " span ";
+$selectexclude_select .= "</fieldset>";
+$xoopsTpl->assign("selectexclude_check_box", $selectexclude_select);
// END irmtfan - assign template vars for search
// irmtfan get since from the user for selction box
Modified: XoopsModules/newbb/branches/irmtfan/newbb/templates/newbb_search.html
===================================================================
--- XoopsModules/newbb/branches/irmtfan/newbb/templates/newbb_search.html 2012-10-17 00:12:33 UTC (rev 10225)
+++ XoopsModules/newbb/branches/irmtfan/newbb/templates/newbb_search.html 2012-10-17 08:19:31 UTC (rev 10226)
@@ -47,6 +47,24 @@
<td class="head" id="align_right"><strong><{$smarty.const._MD_SINCE}></strong> </td>
<td class="even"><{$since_selection_box}></td>
</tr>
+<!-- START irmtfan add select text options -->
+ <tr>
+ <td class="head" id="align_right" title="<{$smarty.const._MD_SELECT_STARTLAG_DESC}>"><strong><{$smarty.const._MD_SELECT_STARTLAG}></strong> </td>
+ <td class="even" title="<{$smarty.const._MD_SELECT_STARTLAG_DESC}>"><input type="text" name="selectstartlag" value="<{$selectstartlag_select}>" /></td>
+ </tr>
+ <tr>
+ <td class="head" id="align_right"><strong><{$smarty.const._MD_SELECT_LENGTH}></strong> </td>
+ <td class="even"><input type="text" name="selectlength" value="<{$selectlength_select}>" /></td>
+ </tr>
+ <tr>
+ <td class="head" id="align_right"><strong><{$smarty.const._MD_SELECT_HTML}></strong> </td>
+ <td class="even"><{$selecthtml_radio}></td>
+ </tr>
+ <tr>
+ <td class="head" id="align_right"><strong><{$smarty.const._MD_SELECT_EXCLUDE}></strong> </td>
+ <td class="even"><{$selectexclude_check_box}></td>
+ </tr>
+<!-- END irmtfan add select text options -->
<!-- START irmtfan add show search -->
<tr>
<td class="head" id="align_right"><strong><{$smarty.const._MD_SHOWSEARCH}></strong> </td>
|