phpBB

Code Changes

File: phpbb/search/fulltext_native.php

  Unmodified   Added   Modified   Removed
Line 57Line 57
	protected $must_not_contain_ids = array();

/**

	protected $must_not_contain_ids = array();

/**

	 * Post ids of posts containing atleast one word that needs to be excluded

	 * Post ids of posts containing at least one word that needs to be excluded

	 * @var array
*/
protected $must_exclude_one_ids = array();

	 * @var array
*/
protected $must_exclude_one_ids = array();

Line 530Line 530
		sort($must_exclude_one_ids);

// generate a search_key from all the options to identify the results

		sort($must_exclude_one_ids);

// generate a search_key from all the options to identify the results

		$search_key = md5(implode('#', array(

		$search_key_array = array(

			serialize($must_contain_ids),
serialize($must_not_contain_ids),
serialize($must_exclude_one_ids),

			serialize($must_contain_ids),
serialize($must_not_contain_ids),
serialize($must_exclude_one_ids),

Line 544Line 544
			$post_visibility,
implode(',', $author_ary),
$author_name,

			$post_visibility,
implode(',', $author_ary),
$author_name,

		)));







































		);

/**
* Allow changing the search_key for cached results
*
* @event core.search_native_by_keyword_modify_search_key
* @var array search_key_array Array with search parameters to generate the search_key
* @var array must_contain_ids Array with post ids of posts containing words that are to be included
* @var array must_not_contain_ids Array with post ids of posts containing words that should not be included
* @var array must_exclude_one_ids Array with post ids of posts containing at least one word that needs to be excluded
* @var string type Searching type ('posts', 'topics')
* @var string fields Searching fields ('titleonly', 'msgonly', 'firstpost', 'all')
* @var string terms Searching terms ('all', 'any')
* @var int sort_days Time, in days, of the oldest possible post to list
* @var string sort_key The sort type used from the possible sort types
* @var int topic_id Limit the search to this topic_id only
* @var array ex_fid_ary Which forums not to search on
* @var string post_visibility Post visibility data
* @var array author_ary Array of user_id containing the users to filter the results to
* @since 3.1.7-RC1
*/
$vars = array(
'search_key_array',
'must_contain_ids',
'must_not_contain_ids',
'must_exclude_one_ids',
'type',
'fields',
'terms',
'sort_days',
'sort_key',
'topic_id',
'ex_fid_ary',
'post_visibility',
'author_ary',
);
extract($this->phpbb_dispatcher->trigger_event('core.search_native_by_keyword_modify_search_key', compact($vars)));

$search_key = md5(implode('#', $search_key_array));


// try reading the results from cache
$total_results = 0;


// try reading the results from cache
$total_results = 0;

Line 980Line 1018
		}

// generate a search_key from all the options to identify the results

		}

// generate a search_key from all the options to identify the results

		$search_key = md5(implode('#', array(

		$search_key_array = array(

			'',
$type,
($firstpost_only) ? 'firstpost' : '',

			'',
$type,
($firstpost_only) ? 'firstpost' : '',

Line 993Line 1031
			$post_visibility,
implode(',', $author_ary),
$author_name,

			$post_visibility,
implode(',', $author_ary),
$author_name,

		)));

































		);

/**
* Allow changing the search_key for cached results
*
* @event core.search_native_by_author_modify_search_key
* @var array search_key_array Array with search parameters to generate the search_key
* @var string type Searching type ('posts', 'topics')
* @var boolean firstpost_only Flag indicating if only topic starting posts are considered
* @var int sort_days Time, in days, of the oldest possible post to list
* @var string sort_key The sort type used from the possible sort types
* @var int topic_id Limit the search to this topic_id only
* @var array ex_fid_ary Which forums not to search on
* @var string post_visibility Post visibility data
* @var array author_ary Array of user_id containing the users to filter the results to
* @var string author_name The username to search on
* @since 3.1.7-RC1
*/
$vars = array(
'search_key_array',
'type',
'firstpost_only',
'sort_days',
'sort_key',
'topic_id',
'ex_fid_ary',
'post_visibility',
'author_ary',
'author_name',
);
extract($this->phpbb_dispatcher->trigger_event('core.search_native_by_author_modify_search_key', compact($vars)));

$search_key = md5(implode('#', $search_key_array));


// try reading the results from cache
$total_results = 0;


// try reading the results from cache
$total_results = 0;

Line 1192Line 1262
		if (!$total_results && $is_mysql)
{
// Count rows for the executed queries. Replace $select within $sql with SQL_CALC_FOUND_ROWS, and run it.

		if (!$total_results && $is_mysql)
{
// Count rows for the executed queries. Replace $select within $sql with SQL_CALC_FOUND_ROWS, and run it.

			$sql_calc = str_replace('SELECT ' . $select, 'SELECT DISTINCT SQL_CALC_FOUND_ROWS p.post_id', $sql);

			$sql_calc = str_replace('SELECT ' . $select, 'SELECT SQL_CALC_FOUND_ROWS ' . $select, $sql);


$result = $this->db->sql_query($sql_calc);
$this->db->sql_freeresult($result);


$result = $this->db->sql_query($sql_calc);
$this->db->sql_freeresult($result);

Line 1905Line 1975
		</dl>
<dl>
<dt><label for="fulltext_native_min_chars">' . $this->user->lang['MIN_SEARCH_CHARS'] . $this->user->lang['COLON'] . '</label><br /><span>' . $this->user->lang['MIN_SEARCH_CHARS_EXPLAIN'] . '</span></dt>

		</dl>
<dl>
<dt><label for="fulltext_native_min_chars">' . $this->user->lang['MIN_SEARCH_CHARS'] . $this->user->lang['COLON'] . '</label><br /><span>' . $this->user->lang['MIN_SEARCH_CHARS_EXPLAIN'] . '</span></dt>

			<dd><input id="fulltext_native_min_chars" type="number" size="3" maxlength="3" min="0" max="255" name="config[fulltext_native_min_chars]" value="' . (int) $this->config['fulltext_native_min_chars'] . '" /></dd>

			<dd><input id="fulltext_native_min_chars" type="number" min="0" max="255" name="config[fulltext_native_min_chars]" value="' . (int) $this->config['fulltext_native_min_chars'] . '" /></dd>

		</dl>
<dl>
<dt><label for="fulltext_native_max_chars">' . $this->user->lang['MAX_SEARCH_CHARS'] . $this->user->lang['COLON'] . '</label><br /><span>' . $this->user->lang['MAX_SEARCH_CHARS_EXPLAIN'] . '</span></dt>

		</dl>
<dl>
<dt><label for="fulltext_native_max_chars">' . $this->user->lang['MAX_SEARCH_CHARS'] . $this->user->lang['COLON'] . '</label><br /><span>' . $this->user->lang['MAX_SEARCH_CHARS_EXPLAIN'] . '</span></dt>

			<dd><input id="fulltext_native_max_chars" type="number" size="3" maxlength="3" min="0" max="255" name="config[fulltext_native_max_chars]" value="' . (int) $this->config['fulltext_native_max_chars'] . '" /></dd>

			<dd><input id="fulltext_native_max_chars" type="number" min="0" max="255" name="config[fulltext_native_max_chars]" value="' . (int) $this->config['fulltext_native_max_chars'] . '" /></dd>

		</dl>
<dl>
<dt><label for="fulltext_native_common_thres">' . $this->user->lang['COMMON_WORD_THRESHOLD'] . $this->user->lang['COLON'] . '</label><br /><span>' . $this->user->lang['COMMON_WORD_THRESHOLD_EXPLAIN'] . '</span></dt>

		</dl>
<dl>
<dt><label for="fulltext_native_common_thres">' . $this->user->lang['COMMON_WORD_THRESHOLD'] . $this->user->lang['COLON'] . '</label><br /><span>' . $this->user->lang['COMMON_WORD_THRESHOLD_EXPLAIN'] . '</span></dt>

			<dd><input id="fulltext_native_common_thres" type="text" size="3" maxlength="3" name="config[fulltext_native_common_thres]" value="' . (double) $this->config['fulltext_native_common_thres'] . '" /> %</dd>

			<dd><input id="fulltext_native_common_thres" type="text" name="config[fulltext_native_common_thres]" value="' . (double) $this->config['fulltext_native_common_thres'] . '" /> %</dd>

		</dl>
';


		</dl>
';