mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-06 07:35:29 +02:00
- search deals with global topics
- fixed some other search related bugs git-svn-id: file:///svn/phpbb/trunk@5482 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
133ce52d3b
commit
7de53b46ec
@ -521,7 +521,7 @@ function delete_posts($where_type, $where_ids, $auto_sync = true)
|
||||
}
|
||||
$post_ids = $topic_ids = $forum_ids = array();
|
||||
|
||||
$sql = 'SELECT post_id, topic_id, forum_id
|
||||
$sql = 'SELECT post_id, poster_id, topic_id, forum_id
|
||||
FROM ' . POSTS_TABLE . "
|
||||
WHERE $where_type " . ((!is_array($where_ids)) ? "= $where_ids" : 'IN (' . implode(', ', $where_ids) . ')');
|
||||
$result = $db->sql_query($sql);
|
||||
@ -529,6 +529,7 @@ function delete_posts($where_type, $where_ids, $auto_sync = true)
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$post_ids[] = $row['post_id'];
|
||||
$poster_ids[] = $row['poster_id'];
|
||||
$topic_ids[] = $row['topic_id'];
|
||||
$forum_ids[] = $row['forum_id'];
|
||||
}
|
||||
@ -570,7 +571,7 @@ function delete_posts($where_type, $where_ids, $auto_sync = true)
|
||||
trigger_error($error);
|
||||
}
|
||||
|
||||
$search->index_remove($where_ids);
|
||||
$search->index_remove($post_ids, $poster_ids);
|
||||
|
||||
delete_attachments('post', $post_ids, false);
|
||||
|
||||
|
@ -163,9 +163,9 @@ class fulltext_phpbb extends search_backend
|
||||
// NCRs like etc.
|
||||
$match[] = '#(&|&)[\#a-z0-9]+?;#i';
|
||||
// Do not index code
|
||||
$match[] = '#\[code=?.*?(\:?[0-9a-z]{5,})\].*?\[\/code(\:?[0-9a-z]{5,})\]#is';
|
||||
$match[] = '#\[code(?:=.*?)?(\:?[0-9a-z]{5,})\].*?\[\/code(\:?[0-9a-z]{5,})\]#is';
|
||||
// BBcode
|
||||
$match[] = '#\[\/?[a-z\*\+\-]+=?.*?(\:?[0-9a-z]{5,})\]#';
|
||||
$match[] = '#\[\/?[a-z\*\+\-]+(?:=.*?)?(\:?[0-9a-z]{5,})\]#';
|
||||
// Filter out ; and # but not &#[0-9]+;
|
||||
//$match[] = '#(&\#[0-9]+;)|;|\#|&#';
|
||||
|
||||
@ -243,6 +243,7 @@ class fulltext_phpbb extends search_backend
|
||||
$result_count = 0;
|
||||
$id_ary = array();
|
||||
|
||||
$join_topic = ($type == 'posts') ? false : true;
|
||||
// Build sql strings for sorting
|
||||
$sql_sort = $sort_by_sql[$sort_key] . (($sort_dir == 'a') ? ' ASC' : ' DESC');
|
||||
$sql_sort_table = $sql_sort_join = '';
|
||||
@ -250,11 +251,10 @@ class fulltext_phpbb extends search_backend
|
||||
{
|
||||
case 'u':
|
||||
$sql_sort_table = USERS_TABLE . ' u, ';
|
||||
$sql_sort_join = 'AND u.user_id = p.poster_id ';
|
||||
$sql_sort_join = ' AND u.user_id = p.poster_id ';
|
||||
break;
|
||||
case 't':
|
||||
$sql_sort_table = ($type == 'posts') ? TOPICS_TABLE . ' t, ' : '';
|
||||
$sql_sort_join = ($type == 'posts') ? ' AND t.topic_id = p.topic_id ' : '';
|
||||
$join_topic = true;
|
||||
break;
|
||||
case 'f':
|
||||
$sql_sort_table = FORUMS_TABLE . ' f, ';
|
||||
@ -266,26 +266,31 @@ class fulltext_phpbb extends search_backend
|
||||
switch ($fields)
|
||||
{
|
||||
case 'titleonly':
|
||||
$sql_match = ' AND m.title_match = 1';
|
||||
$sql_match = ' AND m.title_match = 1 AND p.post_id = t.topic_first_post_id';
|
||||
$join_topic = true;
|
||||
break;
|
||||
case 'msgonly':
|
||||
$sql_match = ' AND m.title_match = 0';
|
||||
break;
|
||||
case 'firstpost':
|
||||
$sql_match = ' AND p.post_id = t.topic_first_post_id';
|
||||
$join_topic = true;
|
||||
break;
|
||||
default:
|
||||
$sql_match = '';
|
||||
}
|
||||
|
||||
$sql_select = ($type == 'posts') ? 'm.post_id' : 'DISTINCT t.topic_id';
|
||||
$sql_from = ($type == 'posts') ? '' : TOPICS_TABLE . ' t, ';
|
||||
$sql_from = ($join_topic) ? TOPICS_TABLE . ' t, ' : '';
|
||||
$field = ($type == 'posts') ? 'm.post_id' : 't.topic_id';
|
||||
$sql_author = (sizeof($author_ary) == 1) ? ' = ' . $author_ary[0] : 'IN (' . implode(',', $author_ary) . ')';
|
||||
|
||||
$sql_where_options = $sql_sort_join;
|
||||
$sql_where_options .= ($topic_id) ? 'AND p.topic_id = ' . $topic_id : '';
|
||||
$sql_where_options .= ($type == 'posts') ? '' : 'AND t.topic_id = p.topic_id';
|
||||
$sql_where_options .= ($topic_id) ? ' AND p.topic_id = ' . $topic_id : '';
|
||||
$sql_where_options .= ($join_topic) ? ' AND t.topic_id = p.topic_id' : '';
|
||||
$sql_where_options .= (sizeof($ex_fid_ary)) ? ' AND p.forum_id NOT IN (' . implode(',', $ex_fid_ary) . ')' : '';
|
||||
$sql_where_options .= (sizeof($author_ary)) ? 'AND p.poster_id ' . $sql_author : '';
|
||||
$sql_where_options .= ($sort_days) ? 'AND p.post_time >= ' . (time() - ($sort_days * 86400)) : '';
|
||||
$sql_where_options .= (sizeof($author_ary)) ? ' AND p.poster_id ' . $sql_author : '';
|
||||
$sql_where_options .= ($sort_days) ? ' AND p.post_time >= ' . (time() - ($sort_days * 86400)) : '';
|
||||
$sql_where_options .= $sql_match;
|
||||
|
||||
// split the words into three arrays (AND, OR, NOT)
|
||||
@ -557,7 +562,7 @@ class fulltext_phpbb extends search_backend
|
||||
$sql_author = 'p.poster_id ' . ((sizeof($author_ary) > 1) ? 'IN (' . implode(',', $author_ary) . ')' : '= ' . $author_ary[0]);
|
||||
$sql_fora = (sizeof($ex_fid_ary)) ? ' AND p.forum_id NOT IN (' . implode(',', $ex_fid_ary) . ')' : '';
|
||||
$sql_topic_id = (sizeof($ex_fid_ary)) ? ' AND p.forum_id NOT IN (' . implode(',', $ex_fid_ary) . ')' : '';
|
||||
$sql_time = ($sort_days) ? 'AND p.post_time >= ' . (time() - ($sort_days * 86400)) : '';
|
||||
$sql_time = ($sort_days) ? ' AND p.post_time >= ' . (time() - ($sort_days * 86400)) : '';
|
||||
|
||||
// Build sql strings for sorting
|
||||
$sql_sort = $sort_by_sql[$sort_key] . (($sort_dir == 'a') ? ' ASC' : ' DESC');
|
||||
@ -566,7 +571,7 @@ class fulltext_phpbb extends search_backend
|
||||
{
|
||||
case 'u':
|
||||
$sql_sort_table = USERS_TABLE . ' u, ';
|
||||
$sql_sort_join = 'AND u.user_id = p.poster_id ';
|
||||
$sql_sort_join = ' AND u.user_id = p.poster_id ';
|
||||
break;
|
||||
case 't':
|
||||
$sql_sort_table = ($type == 'posts') ? TOPICS_TABLE . ' t, ' : '';
|
||||
@ -657,7 +662,7 @@ class fulltext_phpbb extends search_backend
|
||||
*
|
||||
* @param string $mode contains the post mode: edit, post, reply, quote ...
|
||||
*/
|
||||
function index($mode, $post_id, &$message, &$subject)
|
||||
function index($mode, $post_id, &$message, &$subject, $poster_id)
|
||||
{
|
||||
global $config, $db;
|
||||
|
||||
@ -801,7 +806,7 @@ class fulltext_phpbb extends search_backend
|
||||
}
|
||||
|
||||
// destroy cached search results containing any of the words removed or added
|
||||
$this->destroy_cache(array_unique(array_merge($words['add']['post'], $words['add']['title'], $words['del']['post'], $words['del']['post'])));
|
||||
$this->destroy_cache(array_unique(array_merge($words['add']['post'], $words['add']['title'], $words['del']['post'], $words['del']['post'])), array($poster_id));
|
||||
|
||||
unset($unique_add_words);
|
||||
unset($words);
|
||||
@ -811,7 +816,7 @@ class fulltext_phpbb extends search_backend
|
||||
/**
|
||||
* Removes entries from the wordmatch table for the specified post_ids
|
||||
*/
|
||||
function index_remove($post_ids)
|
||||
function index_remove($post_ids, $author_ids)
|
||||
{
|
||||
global $db;
|
||||
|
||||
@ -820,6 +825,8 @@ class fulltext_phpbb extends search_backend
|
||||
$db->sql_query($sql);
|
||||
|
||||
// SEARCH_WORD_TABLE will be updated by tidy()
|
||||
|
||||
$this->destroy_cache(array(), $author_ids);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -82,7 +82,7 @@ class search_backend
|
||||
|
||||
if (!isset($match_synonym[$user->lang_name]))
|
||||
{
|
||||
preg_match_all('#^\s+(\S+)\s+(\S+)\s+$#m', file_get_contents($user->lang_path . '/search_synonyms.txt'), $match);
|
||||
preg_match_all('#^\s*(\S+)\s+(\S+)\s*$#m', file_get_contents($user->lang_path . '/search_synonyms.txt'), $match);
|
||||
$match_synonym[$user->lang_name]['replace']= &$match[1];
|
||||
$match_synonym[$user->lang_name]['match'] = &$match[2];
|
||||
|
||||
@ -170,6 +170,12 @@ class search_backend
|
||||
|
||||
$length = min(sizeof($id_ary), $config['search_block_size']);
|
||||
|
||||
// nothing to cache so exit
|
||||
if (!$length)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$store_ids = array_slice($id_ary, 0, $length);
|
||||
|
||||
// create a new resultset if there is none for this search_key yet
|
||||
@ -190,7 +196,7 @@ class search_backend
|
||||
'search_key' => $search_key,
|
||||
'search_time' => time(),
|
||||
'search_keywords' => $keywords,
|
||||
'search_authors' => implode(' ', $author_ary)
|
||||
'search_authors' => ' ' . implode(' ', $author_ary) . ' '
|
||||
);
|
||||
|
||||
$sql = 'INSERT INTO ' . SEARCH_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
|
||||
@ -218,9 +224,19 @@ class search_backend
|
||||
}
|
||||
}
|
||||
|
||||
$store_ids = array_combine($id_range, $store_ids);
|
||||
|
||||
// append the ids
|
||||
$store += array_combine($id_range, $store_ids);
|
||||
$cache->put('_search_results_' . $search_key, $store, $config['search_store_results']);
|
||||
if (is_array($store_ids))
|
||||
{
|
||||
$store += $store_ids;
|
||||
$cache->put('_search_results_' . $search_key, $store, $config['search_store_results']);
|
||||
|
||||
$sql = 'UPDATE ' . SEARCH_TABLE . '
|
||||
SET search_time = ' . time() . '
|
||||
WHERE search_key = \'' . $db->sql_escape($search_key) . '\'';
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
|
||||
unset($store);
|
||||
unset($store_ids);
|
||||
@ -230,10 +246,11 @@ class search_backend
|
||||
/**
|
||||
* Removes old entries from the search results table and removes searches with keywords that contain a word in $words.
|
||||
*/
|
||||
function destroy_cache($words)
|
||||
function destroy_cache($words, $authors = false)
|
||||
{
|
||||
global $db, $cache, $config;
|
||||
|
||||
// clear all searches that searched for the specified words
|
||||
if (sizeof($words))
|
||||
{
|
||||
$sql_where = '';
|
||||
@ -254,6 +271,27 @@ class search_backend
|
||||
$db->sql_freeresult();
|
||||
}
|
||||
|
||||
// clear all searches that searched for the specified authors
|
||||
if (is_array($authors) && sizeof($authors))
|
||||
{
|
||||
$sql_where = '';
|
||||
foreach ($authors as $author)
|
||||
{
|
||||
$sql_where .= (($sql_where) ? ' OR ' : '') . 'search_authors LIKE \'% ' . (int) $author . ' %\'';
|
||||
}
|
||||
|
||||
$sql = 'SELECT search_key
|
||||
FROM ' . SEARCH_TABLE . "
|
||||
WHERE $sql_where";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$cache->destroy('_search_results_' . $row['search_key']);
|
||||
}
|
||||
$db->sql_freeresult();
|
||||
}
|
||||
|
||||
$sql = 'DELETE
|
||||
FROM ' . SEARCH_TABLE . '
|
||||
WHERE search_time < ' . (time() - $config['search_store_results']);
|
||||
|
@ -176,6 +176,7 @@ $lang = array_merge($lang, array(
|
||||
|
||||
'ICQ_STATUS' => 'ICQ Status',
|
||||
'IF' => 'If',
|
||||
'IN' => 'in',
|
||||
'INDEX' => 'Index page',
|
||||
'INFORMATION' => 'Information',
|
||||
'INTERESTS' => 'Interests',
|
||||
|
@ -38,14 +38,15 @@ $lang = array_merge($lang, array(
|
||||
'FOUND_SEARCH_MATCHES' => 'Search found %d matches',
|
||||
'FOUND_MORE_SEARCH_MATCHES' => 'Search found more than %d matches',
|
||||
|
||||
'GLOBAL' => 'Global topic',
|
||||
|
||||
'IGNORED_TERMS' => 'ignored',
|
||||
|
||||
'NO_KEYWORDS' => 'You must specify at least one word to search for. Each word must consist of at least %d characters and must not contain more than %d characters excluding wildcards.',
|
||||
'NO_RECENT_SEARCHES' => 'No searches have been carried out recently',
|
||||
'NO_SEARCH' => 'Sorry but you are not permitted to use the search system.',
|
||||
'NO_SEARCH_RESULTS' => 'No suitable matches were found.',
|
||||
'NO_SEARCH_TIME' => 'Sorry but you cannot use search at this time. Please try again in a few minutes.',
|
||||
'NO_KEYWORDS' => 'You must specify at least one word to search for. Each word must consist of at least %d characters and must not contain more than %d characters excluding wildcards.',
|
||||
'TOO_FEW_AUTHOR_CHARS' => 'You must specify at least %d characters of the authors name.',
|
||||
|
||||
'POST_CHARACTERS' => 'characters of posts',
|
||||
|
||||
@ -60,16 +61,17 @@ $lang = array_merge($lang, array(
|
||||
'SEARCH_ANY_TERMS' => 'Search for any terms',
|
||||
'SEARCH_AUTHOR' => 'Search for Author',
|
||||
'SEARCH_AUTHOR_EXPLAIN' => 'Use * as a wildcard for partial matches',
|
||||
'SEARCH_FIRST_POST' => 'First post of topics only',
|
||||
'SEARCH_FORUMS' => 'Search in forums',
|
||||
'SEARCH_FORUMS_EXPLAIN' => 'Select the forum or forums you wish to search in. For speed all subforums can be searched by selecting the parent and setting enable search subforums below.',
|
||||
'SEARCH_IN_RESULTS' => 'Search these results',
|
||||
'SEARCH_KEYWORDS' => 'Search for Keywords',
|
||||
'SEARCH_KEYWORDS_EXPLAIN' => 'Use <b>+</b> for words which must be found, <b>-</b> for words which must not be found and <b>|</b> for words which may or may not be found. Use * as a wildcard for partial matches',
|
||||
'SEARCH_KEYWORDS_EXPLAIN' => 'Place <b>+</b> in front of a word which must be found and <b>-</b> in front of a word which must not be found. If you place <b>|</b> in front of words, each result has to contain at least one of these words. Use * as a wildcard for partial matches',
|
||||
'SEARCH_MSG_ONLY' => 'Message text only',
|
||||
'SEARCH_OPTIONS' => 'Search Options',
|
||||
'SEARCH_QUERY' => 'Search Query',
|
||||
'SEARCH_SUBFORUMS' => 'Search subforums',
|
||||
'SEARCH_TITLE_MSG' => 'Topic titles and message text',
|
||||
'SEARCH_TITLE_MSG' => 'Post subjects and message text',
|
||||
'SEARCH_TITLE_ONLY' => 'Topic titles only',
|
||||
'SEARCH_WITHIN' => 'Search within',
|
||||
'SORT_ASCENDING' => 'Ascending',
|
||||
@ -78,6 +80,8 @@ $lang = array_merge($lang, array(
|
||||
'SORT_FORUM' => 'Forum',
|
||||
'SORT_POST_SUBJECT' => 'Post Subject',
|
||||
'SORT_TIME' => 'Post Time',
|
||||
|
||||
'TOO_FEW_AUTHOR_CHARS' => 'You must specify at least %d characters of the authors name.',
|
||||
));
|
||||
|
||||
?>
|
@ -1833,7 +1833,7 @@ function submit_post($mode, $subject, $username, $topic_type, &$poll, &$data, $u
|
||||
trigger_error($error);
|
||||
}
|
||||
|
||||
$search->index($mode, $data['post_id'], $data['message'], $subject);
|
||||
$search->index($mode, $data['post_id'], $data['message'], $subject, $poster_id);
|
||||
}
|
||||
|
||||
$db->sql_transaction('commit');
|
||||
|
@ -340,6 +340,9 @@ if ($keywords || $author || $search_id)
|
||||
}
|
||||
else if (sizeof($author_id_ary))
|
||||
{
|
||||
// default to showing results as posts when performing an author search
|
||||
$show_results = ($topic_id) ? 'posts' : request_var('sr', 'posts');
|
||||
|
||||
$total_match_count = $search->author_search($show_results, $sort_by_sql, $sort_key, $sort_dir, $sort_days, $ex_fid_ary, $topic_id, $author_id_ary, $id_ary, $start, $per_page);
|
||||
}
|
||||
|
||||
@ -349,7 +352,7 @@ if ($keywords || $author || $search_id)
|
||||
}
|
||||
|
||||
$sql_where = (($show_results == 'posts') ? 'p.post_id' : 't.topic_id') . ' IN (' . implode(', ', $id_ary) . ')';
|
||||
$sql_where .= (sizeof($ex_fid_ary)) ? ' AND f.forum_id NOT IN (' . implode(',', $ex_fid_ary) . ')' : '';
|
||||
$sql_where .= (sizeof($ex_fid_ary)) ? ' AND (f.forum_id NOT IN (' . implode(',', $ex_fid_ary) . ') OR f.forum_id IS NULL)' : '';
|
||||
|
||||
if ($show_results == 'posts')
|
||||
{
|
||||
@ -437,18 +440,18 @@ if ($keywords || $author || $search_id)
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$sql = 'SELECT p.*, f.forum_id, f.forum_name, t.*, u.username, u.user_sig, u.user_sig_bbcode_uid
|
||||
FROM ' . FORUMS_TABLE . ' f, ' . TOPICS_TABLE . ' t, ' . USERS_TABLE . ' u, ' . POSTS_TABLE . " p
|
||||
FROM (' . TOPICS_TABLE . ' t, ' . USERS_TABLE . ' u, ' . POSTS_TABLE . ' p)
|
||||
LEFT JOIN ' . FORUMS_TABLE . " f ON (p.forum_id = f.forum_id)
|
||||
WHERE $sql_where
|
||||
AND f.forum_id = p.forum_id
|
||||
AND p.topic_id = t.topic_id
|
||||
AND p.poster_id = u.user_id";
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql = 'SELECT t.*, f.forum_id, f.forum_name
|
||||
FROM ' . TOPICS_TABLE . ' t, ' . FORUMS_TABLE . " f
|
||||
WHERE $sql_where
|
||||
AND f.forum_id = t.forum_id";
|
||||
FROM ' . TOPICS_TABLE . ' t
|
||||
LEFT JOIN ' . FORUMS_TABLE . " f ON (f.forum_id = t.forum_id)
|
||||
WHERE $sql_where";
|
||||
}
|
||||
$sql .= ' ORDER BY ' . $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC');
|
||||
$result = $db->sql_query($sql);
|
||||
@ -488,6 +491,7 @@ if ($keywords || $author || $search_id)
|
||||
'TOPIC_ICON_IMG_HEIGHT' => (!empty($icons[$row['icon_id']])) ? $icons[$row['icon_id']]['height'] : '',
|
||||
'ATTACH_ICON_IMG' => ($auth->acl_gets('f_download', 'u_download', $forum_id) && $row['topic_attachment']) ? $user->img('icon_attach', $user->lang['TOTAL_ATTACHMENTS']) : '',
|
||||
|
||||
'S_TOPIC_GLOBAL' => (!$forum_id) ? true : false,
|
||||
'S_TOPIC_TYPE' => $row['topic_type'],
|
||||
'S_USER_POSTED' => (!empty($row['mark_type'])) ? true : false,
|
||||
|
||||
@ -568,12 +572,6 @@ if ($keywords || $author || $search_id)
|
||||
));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
'S_NO_SEARCH_RESULTS' => true)
|
||||
);
|
||||
}
|
||||
|
||||
page_header($user->lang['SEARCH']);
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
<td class="row1" width="25%" nowrap="nowrap"><b class="genmed">{L_SEARCH_SUBFORUMS}: </b></td>
|
||||
<td class="row2" width="25%" nowrap="nowrap"><input type="radio" name="sc" value="1" checked="checked" /> <span class="genmed">{L_YES}</span> <input type="radio" name="sc" value="0" /> <span class="genmed">{L_NO}</span></td>
|
||||
<td class="row1" width="25%" nowrap="nowrap"><b class="genmed">{L_SEARCH_WITHIN}: </b></td>
|
||||
<td class="row2" width="25%" nowrap="nowrap"><input type="radio" name="sf" value="all" checked="checked" /> <span class="genmed">{L_SEARCH_TITLE_MSG}</span><br /><input type="radio" name="sf" value="msgonly" /> <span class="genmed">{L_SEARCH_MSG_ONLY}</span> <br /><input type="radio" name="sf" value="titleonly" /> <span class="genmed">{L_SEARCH_TITLE_ONLY}</span></td>
|
||||
<td class="row2" width="25%" nowrap="nowrap"><input type="radio" name="sf" value="all" checked="checked" /> <span class="genmed">{L_SEARCH_TITLE_MSG}</span><br /><input type="radio" name="sf" value="msgonly" /> <span class="genmed">{L_SEARCH_MSG_ONLY}</span> <br /><input type="radio" name="sf" value="titleonly" /> <span class="genmed">{L_SEARCH_TITLE_ONLY}</span> <br /><input type="radio" name="sf" value="firstpost" /> <span class="genmed">{L_SEARCH_FIRST_POST}</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1"><b class="genmed">{L_RESULT_SORT}: </b></td>
|
||||
|
@ -46,7 +46,11 @@
|
||||
<!-- IF searchresults.PAGINATION -->
|
||||
<p class="gensmall"> [ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {searchresults.PAGINATION} ] </p>
|
||||
<!-- ENDIF -->
|
||||
<p class="gensmall">in <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a></p>
|
||||
<!-- IF searchresults.S_TOPIC_GLOBAL -->
|
||||
<p class="gensmall">{L_GLOBAL}</p>
|
||||
<!-- ELSE -->
|
||||
<p class="gensmall">{L_IN} <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a></p>
|
||||
<!-- ENDIF -->
|
||||
</td>
|
||||
<td class="row2" width="100" align="center"><p class="topicauthor">{searchresults.TOPIC_AUTHOR}</p></td>
|
||||
<td class="row1" width="50" align="center"><p class="topicdetails">{searchresults.REPLIES}</p></td>
|
||||
@ -80,7 +84,7 @@
|
||||
<!-- IF searchresults.S_IGNORE_POST -->
|
||||
<td class="gensmall" colspan="2" height="25" align="center">{searchresults.L_IGNORE_POST}</td>
|
||||
<!-- ELSE -->
|
||||
<td colspan="2" height="25"><p class="topictitle"><a name="{searchresults.POST_ID}"></a> {L_FORUM}: <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a> {L_TOPIC}: <a href="{searchresults.U_VIEW_TOPIC}">{searchresults.TOPIC_TITLE}</a></p></td>
|
||||
<td colspan="2" height="25"><p class="topictitle"><a name="{searchresults.POST_ID}"></a> <!-- IF searchresults.FORUM_TITLE -->{L_FORUM}: <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a><!-- ELSE -->{L_GLOBAL}<!-- ENDIF --> {L_TOPIC}: <a href="{searchresults.U_VIEW_TOPIC}">{searchresults.TOPIC_TITLE}</a></p></td>
|
||||
</tr>
|
||||
<tr class="row1">
|
||||
<td width="150" align="center" valign="middle"><b class="postauthor">{searchresults.POSTER_NAME}</b></td>
|
||||
|
Loading…
x
Reference in New Issue
Block a user