phpBB

Code Changes

File: phpbb/search/fulltext_sphinx.php

  Unmodified   Added   Modified   Removed
Line 85Line 85

/**
* Database Tools object


/**
* Database Tools object

	 * @var \phpbb\db\tools

	 * @var \phpbb\db\tools\tools_interface

	 */
protected $db_tools;


	 */
protected $db_tools;


Line 143Line 143
		$this->db = $db;
$this->auth = $auth;


		$this->db = $db;
$this->auth = $auth;


		// Initialize \phpbb\db\tools object
$this->db_tools = new \phpbb\db\tools($this->db);


		// Initialize \phpbb\db\tools\tools object
global $phpbb_container; // TODO inject into object
$this->db_tools = $phpbb_container->get('dbal.tools');


if (!$this->config['fulltext_sphinx_id'])
{


if (!$this->config['fulltext_sphinx_id'])
{

			set_config('fulltext_sphinx_id', unique_id());

			$this->config->set('fulltext_sphinx_id', unique_id());

		}
$this->id = $this->config['fulltext_sphinx_id'];
$this->indexes = 'index_phpbb_' . $this->id . '_delta;index_phpbb_' . $this->id . '_main';

		}
$this->id = $this->config['fulltext_sphinx_id'];
$this->indexes = 'index_phpbb_' . $this->id . '_delta;index_phpbb_' . $this->id . '_main';

Line 219Line 220
		}

// Move delta to main index each hour

		}

// Move delta to main index each hour

		set_config('search_gc', 3600);

		$this->config->set('search_gc', 3600);


return false;
}


return false;
}

Line 403Line 404
					$variable = $section->get_variable_by_name($key);
if (!$variable)
{

					$variable = $section->get_variable_by_name($key);
if (!$variable)
{

						$variable = $section->create_variable($key, $value);

						$section->create_variable($key, $value);

					}
else
{

					}
else
{

Line 412Line 413
				}
else
{

				}
else
{

					$variable = $section->create_variable($key, $value);

					$section->create_variable($key, $value);

				}
}
}

				}
}
}

Line 436Line 437
			$match		= array('#\sand\s#i', '#\sor\s#i', '#\snot\s#i', '#\+#', '#-#', '#\|#', '#@#');
$replace = array(' & ', ' | ', ' - ', ' +', ' -', ' |', '');


			$match		= array('#\sand\s#i', '#\sor\s#i', '#\snot\s#i', '#\+#', '#-#', '#\|#', '#@#');
$replace = array(' & ', ' | ', ' - ', ' +', ' -', ' |', '');


			$replacements = 0;

 
			$keywords = preg_replace($match, $replace, $keywords);
$this->sphinx->SetMatchMode(SPH_MATCH_EXTENDED);
}

			$keywords = preg_replace($match, $replace, $keywords);
$this->sphinx->SetMatchMode(SPH_MATCH_EXTENDED);
}

Line 479Line 479
	*/
public function keyword_search($type, $fields, $terms, $sort_by_sql, $sort_key, $sort_dir, $sort_days, $ex_fid_ary, $post_visibility, $topic_id, $author_ary, $author_name, &$id_ary, &$start, $per_page)
{

	*/
public function keyword_search($type, $fields, $terms, $sort_by_sql, $sort_key, $sort_dir, $sort_days, $ex_fid_ary, $post_visibility, $topic_id, $author_ary, $author_name, &$id_ary, &$start, $per_page)
{

 
		global $user, $phpbb_log;


		// No keywords? No posts.
if (!strlen($this->search_query) && !sizeof($author_ary))
{

		// No keywords? No posts.
if (!strlen($this->search_query) && !sizeof($author_ary))
{

Line 486Line 488
		}

$id_ary = array();

		}

$id_ary = array();


$join_topic = ($type != 'posts');

 

// Sorting



// Sorting


Line 661Line 661

if ($this->sphinx->GetLastError())
{


if ($this->sphinx->GetLastError())
{

			add_log('critical', 'LOG_SPHINX_ERROR', $this->sphinx->GetLastError());

			$phpbb_log->add('critical', $user->data['user_id'], $user->ip, 'LOG_SPHINX_ERROR', false, array($this->sphinx->GetLastError()));

			if ($this->auth->acl_get('a_'))
{
trigger_error($this->user->lang('SPHINX_SEARCH_FAILED', $this->sphinx->GetLastError()));

			if ($this->auth->acl_get('a_'))
{
trigger_error($this->user->lang('SPHINX_SEARCH_FAILED', $this->sphinx->GetLastError()));

Line 815Line 815
	*/
public function tidy($create = false)
{

	*/
public function tidy($create = false)
{

		set_config('search_last_gc', time(), true);

		$this->config->set('search_last_gc', time(), false);

	}

/**

	}

/**

Line 952Line 952
		</dl>
<dl>
<dt><label for="fulltext_sphinx_port">' . $this->user->lang['FULLTEXT_SPHINX_PORT'] . $this->user->lang['COLON'] . '</label><br /><span>' . $this->user->lang['FULLTEXT_SPHINX_PORT_EXPLAIN'] . '</span></dt>

		</dl>
<dl>
<dt><label for="fulltext_sphinx_port">' . $this->user->lang['FULLTEXT_SPHINX_PORT'] . $this->user->lang['COLON'] . '</label><br /><span>' . $this->user->lang['FULLTEXT_SPHINX_PORT_EXPLAIN'] . '</span></dt>

			<dd><input id="fulltext_sphinx_port" type="number" size="4" maxlength="10" name="config[fulltext_sphinx_port]" value="' . $this->config['fulltext_sphinx_port'] . '" /></dd>

			<dd><input id="fulltext_sphinx_port" type="number" min="0" max="9999999999" name="config[fulltext_sphinx_port]" value="' . $this->config['fulltext_sphinx_port'] . '" /></dd>

		</dl>
<dl>
<dt><label for="fulltext_sphinx_indexer_mem_limit">' . $this->user->lang['FULLTEXT_SPHINX_INDEXER_MEM_LIMIT'] . $this->user->lang['COLON'] . '</label><br /><span>' . $this->user->lang['FULLTEXT_SPHINX_INDEXER_MEM_LIMIT_EXPLAIN'] . '</span></dt>

		</dl>
<dl>
<dt><label for="fulltext_sphinx_indexer_mem_limit">' . $this->user->lang['FULLTEXT_SPHINX_INDEXER_MEM_LIMIT'] . $this->user->lang['COLON'] . '</label><br /><span>' . $this->user->lang['FULLTEXT_SPHINX_INDEXER_MEM_LIMIT_EXPLAIN'] . '</span></dt>

			<dd><input id="fulltext_sphinx_indexer_mem_limit" type="number" size="4" maxlength="10" name="config[fulltext_sphinx_indexer_mem_limit]" value="' . $this->config['fulltext_sphinx_indexer_mem_limit'] . '" /> ' . $this->user->lang['MIB'] . '</dd>

			<dd><input id="fulltext_sphinx_indexer_mem_limit" type="number" min="0" max="9999999999" name="config[fulltext_sphinx_indexer_mem_limit]" value="' . $this->config['fulltext_sphinx_indexer_mem_limit'] . '" /> ' . $this->user->lang['MIB'] . '</dd>

		</dl>
<dl>
<dt><label for="fulltext_sphinx_config_file">' . $this->user->lang['FULLTEXT_SPHINX_CONFIG_FILE'] . $this->user->lang['COLON'] . '</label><br /><span>' . $this->user->lang['FULLTEXT_SPHINX_CONFIG_FILE_EXPLAIN'] . '</span></dt>

		</dl>
<dl>
<dt><label for="fulltext_sphinx_config_file">' . $this->user->lang['FULLTEXT_SPHINX_CONFIG_FILE'] . $this->user->lang['COLON'] . '</label><br /><span>' . $this->user->lang['FULLTEXT_SPHINX_CONFIG_FILE_EXPLAIN'] . '</span></dt>