[feature/sphinx-fulltext-search] display config file in ACP

sphinx config file is generated and displayed in the ACP for user to use
it to start sphinx search daemon.

PHPBB3-10946
This commit is contained in:
Dhruv 2012-07-11 16:25:19 +05:30
parent b16e70ae1d
commit 4b40f0d3c6
2 changed files with 16 additions and 9 deletions

View file

@ -112,11 +112,6 @@ class phpbb_search_fulltext_sphinx
return $this->user->lang['FULLTEXT_SPHINX_WRONG_DATABASE'];
}
if ($error = $this->config_updated())
{
return $error;
}
// Move delta to main index each hour
set_config('search_gc', 3600);
@ -124,16 +119,21 @@ class phpbb_search_fulltext_sphinx
}
/**
* Updates the config file sphinx.conf and generates the same in case autoconf is selected
* Generates content of sphinx.conf
*
* @return string|bool Language key of the error/incompatiblity occured otherwise false
* @return bool True if sphinx.conf content is correctly generated, false otherwise
*
* @access private
*/
function config_updated()
function config_generate()
{
global $phpbb_root_path, $phpEx;
if (!$this->config['fulltext_sphinx_data_path'] || !$this->config['fulltext_sphinx_config_path'])
{
return false;
}
include ($phpbb_root_path . 'config.' . $phpEx);
/* Now that we're sure everything was entered correctly,
@ -280,7 +280,7 @@ class phpbb_search_fulltext_sphinx
}
$this->config_file_data = $config_object->get_data();
return false;
return true;
}
/**
@ -767,6 +767,10 @@ class phpbb_search_fulltext_sphinx
<dt><label for="fulltext_sphinx_indexer_mem_limit">' . $this->user->lang['FULLTEXT_SPHINX_INDEXER_MEM_LIMIT'] . ':</label><br /><span>' . $this->user->lang['FULLTEXT_SPHINX_INDEXER_MEM_LIMIT_EXPLAIN'] . '</span></dt>
<dd><input id="fulltext_sphinx_indexer_mem_limit" type="text" size="4" maxlength="10" 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'] . ':</label><br /><span>' . $this->user->lang['FULLTEXT_SPHINX_CONFIG_FILE_EXPLAIN'] . '</dt>
<dd>' . (($this->config_generate()) ? '<textarea disabled="disabled" rows="6">' . $this->config_file_data . '</textarea>' : $this->user->lang('FULLTEXT_SPHINX_NO_CONFIG_DATA')) . '</dd>
<dl>
';
// These are fields required in the config table

View file

@ -85,6 +85,9 @@ $lang = array_merge($lang, array(
'FULLTEXT_SPHINX_WRONG_DATABASE' => 'The sphinx plugin for phpBB currently only supports MySQL',
'FULLTEXT_SPHINX_STOPWORDS_FILE' => 'Stopwords activated',
'FULLTEXT_SPHINX_STOPWORDS_FILE_EXPLAIN' => 'This setting only works with autoconf enabled. You can place a file called sphinx_stopwords.txt containing one word in each line in your config directory. If this file is present these words will be excluded from the indexing process.',
'FULLTEXT_SPHINX_CONFIG_FILE' => 'Sphinx config file',
'FULLTEXT_SPHINX_CONFIG_FILE_EXPLAIN' => 'The generated content of the sphinx config file. This data needs to be pasted into the sphinx.conf which is used by sphinx search daemon.',
'FULLTEXT_SPHINX_NO_CONFIG_DATA' => 'The sphinx data and config directory paths are not defined. Please define them to generate the config file.',
'GENERAL_SEARCH_SETTINGS' => 'General search settings',
'GO_TO_SEARCH_INDEX' => 'Go to search index page',