From: <du...@us...> - 2012-11-24 00:09:18
|
Revision: 10270 http://sourceforge.net/p/xoops/svn/10270 Author: dugris Date: 2012-11-24 00:09:14 +0000 (Sat, 24 Nov 2012) Log Message: ----------- Add hightlight for search result Modified Paths: -------------- XoopsCore/branches/2.6.x/2.6.0/htdocs/modules/system/templates/system_search.html XoopsCore/branches/2.6.x/2.6.0/htdocs/search.php XoopsCore/branches/2.6.x/2.6.0/htdocs/xoops.css Modified: XoopsCore/branches/2.6.x/2.6.0/htdocs/modules/system/templates/system_search.html =================================================================== --- XoopsCore/branches/2.6.x/2.6.0/htdocs/modules/system/templates/system_search.html 2012-11-23 22:37:04 UTC (rev 10269) +++ XoopsCore/branches/2.6.x/2.6.0/htdocs/modules/system/templates/system_search.html 2012-11-24 00:09:14 UTC (rev 10270) @@ -43,7 +43,7 @@ <{foreach from=$module.result item=result}> <div class="searchItem"> - <div class="bold"><a href="<{$result.link}>" title="<{$result.title}>"><{$result.title}></a></div> + <div class="bold"><a href="<{$result.link}>" title="<{$result.title}>"><{$result.title_highligh}></a></div> <div><{$result.content}></div> <span class='x-small'> <{if $result.uid}> Modified: XoopsCore/branches/2.6.x/2.6.0/htdocs/search.php =================================================================== --- XoopsCore/branches/2.6.x/2.6.0/htdocs/search.php 2012-11-23 22:37:04 UTC (rev 10269) +++ XoopsCore/branches/2.6.x/2.6.0/htdocs/search.php 2012-11-24 00:09:14 UTC (rev 10270) @@ -123,6 +123,7 @@ $q = trim($q); if (strlen($q) >= $xoopsConfigSearch['keyword_min']) { $queries[] = $myts->addSlashes($q); + $queries_pattern[] = '~(' . $q . ')~sUi'; } else { $ignored_queries[] = $myts->addSlashes($q); } @@ -136,6 +137,7 @@ $xoops->redirect('search.php', 2, sprintf(_SR_KEYTOOSHORT, $xoopsConfigSearch['keyword_min'])); } $queries = array($myts->addSlashes($query)); + $queries_pattern[] = '~(' . $myts->addSlashes($query) . ')~sUi'; } } switch ($action) { @@ -184,10 +186,11 @@ $res[$i]['link'] = 'modules/' . $module->getVar('dirname') . '/' . $results[$i]['link']; } $res[$i]['title'] = $myts->htmlspecialchars($results[$i]['title']); + $res[$i]['title_highligh'] = preg_replace( $queries_pattern, "<span class='searchHighlight'>$1</span>", $myts->htmlspecialchars($results[$i]['title'])); $res[$i]['uid'] = @intval($results[$i]['uid']); $res[$i]['uname'] = XoopsUser::getUnameFromId($results[$i]['uid']); $res[$i]['time'] = !empty($results[$i]['time']) ? " (" . XoopsLocal::formatTimestamp(intval($results[$i]['time'])) . ")" : ""; - $res[$i]['content'] = !empty($results[$i]['content']) ? $results[$i]['content'] : ""; + $res[$i]['content'] = empty($results[$i]['content']) ? "" : preg_replace( $queries_pattern, "<span class='searchHighlight'>$1</span>", $results[$i]['content']); } if ($count >= 5) { $search_url = XOOPS_URL . '/search.php?query=' . urlencode(stripslashes(implode(' ', $queries))); @@ -245,10 +248,11 @@ $res[$i]['link'] = 'modules/' . $module->getVar('dirname') . '/' . $results[$i]['link']; } $res[$i]['title'] = $myts->htmlspecialchars($results[$i]['title']); + $res[$i]['title_highligh'] = preg_replace( $queries_pattern, "<span class='searchHighlight'>$1</span>", $myts->htmlspecialchars($results[$i]['title'])); $res[$i]['uid'] = @intval($results[$i]['uid']); $res[$i]['uname'] = XoopsUser::getUnameFromId($results[$i]['uid']); $res[$i]['time'] = !empty($results[$i]['time']) ? " (" . XoopsLocal::formatTimestamp(intval($results[$i]['time'])) . ")" : ""; - $res[$i]['content'] = !empty($results[$i]['content']) ? $results[$i]['content'] : ""; + $res[$i]['content'] = empty($results[$i]['content']) ? "" : preg_replace( $queries_pattern, "<span class='searchHighlight'>$1</span>", $results[$i]['content']); } if ( count($res) > 0 ) { $modules_result[$mid]['result'] = $res; Modified: XoopsCore/branches/2.6.x/2.6.0/htdocs/xoops.css =================================================================== --- XoopsCore/branches/2.6.x/2.6.0/htdocs/xoops.css 2012-11-23 22:37:04 UTC (rev 10269) +++ XoopsCore/branches/2.6.x/2.6.0/htdocs/xoops.css 2012-11-24 00:09:14 UTC (rev 10270) @@ -439,4 +439,7 @@ margin: 10px 0; padding: 5px; border: 1px solid #eee; -} \ No newline at end of file +} +.searchHighlight { + background-color: #ffed00; +} |