|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @package search
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @version $Id: fulltext_native.php 9173 2008-12-04 17:01:39Z naderman $
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @copyright (c) 2005 phpBB Group
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @license http:
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @ignore
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!defined('IN_PHPBB'))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
exit;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @ignore
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
include_once($phpbb_root_path . 'includes/search/search.' . $phpEx);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* fulltext_native
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* phpBB's own db driven fulltext search, version 2
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @package search
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
class fulltext_native extends search_backend
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
var $stats = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
var $word_length = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
var $search_query;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
var $common_words = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
var $must_contain_ids = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
var $must_not_contain_ids = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
var $must_exclude_one_ids = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Initialises the fulltext_native search backend with min/max word length and makes sure the UTF-8 normalizer is loaded.
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param boolean|string &$error is passed by reference and should either be set to false on success or an error message on failure.
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @access public
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
function fulltext_native(&$error)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
global $phpbb_root_path, $phpEx, $config;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->word_length = array('min' => $config['fulltext_native_min_chars'], 'max' => $config['fulltext_native_max_chars']);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Load the UTF tools
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!class_exists('utf_normalizer'))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
include($phpbb_root_path . 'includes/utf/utf_normalizer.' . $phpEx);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$error = false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* This function fills $this->search_query with the cleaned user search query.
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* If $terms is 'any' then the words will be extracted from the search query
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* and combined with | inside brackets. They will afterwards be treated like
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* an standard search query.
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Then it analyses the query and fills the internal arrays $must_not_contain_ids,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* $must_contain_ids and $must_exclude_one_ids which are later used by keyword_search().
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string $keywords contains the search query string as entered by the user
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string $terms is either 'all' (use search query as entered, default words to 'must be contained in post')
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* or 'any' (find all posts containing at least one of the given words)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @return boolean false if no valid keywords were found and otherwise true
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @access public
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
function split_keywords($keywords, $terms)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
global $db, $user;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$keywords = trim($this->cleanup($keywords, '+-|()*'));
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ((strpos($keywords, ' ') === false) && (strpos($keywords, '|') !== false) && (strpos($keywords, '(') === false))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$keywords = '(' . $keywords . ')';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$open_bracket = $space = false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
for ($i = 0, $n = strlen($keywords); $i < $n; $i++)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($open_bracket !== false)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
switch ($keywords[$i])
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case ')':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($open_bracket + 1 == $i)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$keywords[$i - 1] = '|';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$keywords[$i] = '|';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$open_bracket = false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case '(':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$keywords[$i] = '|';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case '+':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case '-':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case ' ':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$keywords[$i] = '|';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
switch ($keywords[$i])
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case ')':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$keywords[$i] = ' ';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case '(':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$open_bracket = $i;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$space = false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case '|':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$keywords[$i] = ' ';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case '-':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case '+':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$space = $keywords[$i];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case ' ':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($space !== false)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$keywords[$i] = $space;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
default:
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$space = false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($open_bracket)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$keywords .= ')';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$match = array(
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'# +#',
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'#\|\|+#',
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'#(\+|\-)(?:\+|\-)+#',
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'#\(\|#',
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'#\|\)#',
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$replace = array(
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
' ',
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'|',
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'$1',
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'(',
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
')',
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$keywords = preg_replace($match, $replace, $keywords);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($terms == 'any')
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
preg_match_all('#([^\\s+\\-|()]+)(?:$|[\\s+\\-|()])#u', $keywords, $words);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($words[1]))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$keywords = '(' . implode('|', $words[1]) . ')';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// set the search_query which is shown to the user
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->search_query = $keywords;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$exact_words = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
preg_match_all('#([^\\s+\\-|*()]+)(?:$|[\\s+\\-|()])#u', $keywords, $exact_words);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$exact_words = $exact_words[1];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$common_ids = $words = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($exact_words))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'SELECT word_id, word_text, word_common
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
FROM ' . SEARCH_WORDLIST_TABLE . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE ' . $db->sql_in_set('word_text', $exact_words);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$result = $db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
while ($row = $db->sql_fetchrow($result))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($row['word_common'])
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->common_words[] = $row['word_text'];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$common_ids[$row['word_text']] = (int) $row['word_id'];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
continue;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words[$row['word_text']] = (int) $row['word_id'];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_freeresult($result);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
unset($exact_words);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$query = explode(' ', $keywords);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->must_contain_ids = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->must_not_contain_ids = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->must_exclude_one_ids = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$mode = '';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$ignore_no_id = true;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
foreach ($query as $word)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (empty($word))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
continue;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($word[0] == '-')
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$word = substr($word, 1);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($word[0] == '(')
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$word = array_unique(explode('|', substr($word, 1, -1)));
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$mode = 'must_exclude_one';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$mode = 'must_not_contain';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$ignore_no_id = true;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// words which have to be included
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($word[0] == '+')
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$word = substr($word, 1);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($word[0] == '(')
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$word = array_unique(explode('|', substr($word, 1, -1)));
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$ignore_no_id = false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$mode = 'must_contain';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (empty($word))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
continue;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// if this is an array of words then retrieve an id for each
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (is_array($word))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$non_common_words = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$id_words = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
foreach ($word as $i => $word_part)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (strpos($word_part, '*') !== false)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$id_words[] = '\'' . $db->sql_escape(str_replace('*', '%', $word_part)) . '\'';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$non_common_words[] = $word_part;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else if (isset($words[$word_part]))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$id_words[] = $words[$word_part];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$non_common_words[] = $word_part;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$len = utf8_strlen($word_part);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($len < $this->word_length['min'] || $len > $this->word_length['max'])
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->common_words[] = $word_part;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($id_words))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
sort($id_words);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($id_words) > 1)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->{$mode . '_ids'}[] = $id_words;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$mode = ($mode == 'must_exclude_one') ? 'must_not_contain' : $mode;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->{$mode . '_ids'}[] = $id_words[0];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// throw an error if we shall not ignore unexistant words
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else if (!$ignore_no_id && sizeof($non_common_words))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
trigger_error(sprintf($user->lang['WORDS_IN_NO_POST'], implode(', ', $non_common_words)));
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
unset($non_common_words);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// else we only need one id
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else if (($wildcard = strpos($word, '*') !== false) || isset($words[$word]))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($wildcard)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$len = utf8_strlen(str_replace('*', '', $word));
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($len >= $this->word_length['min'] && $len <= $this->word_length['max'])
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->{$mode . '_ids'}[] = '\'' . $db->sql_escape(str_replace('*', '%', $word)) . '\'';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->common_words[] = $word;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->{$mode . '_ids'}[] = $words[$word];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// throw an error if we shall not ignore unexistant words
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else if (!$ignore_no_id)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!isset($common_ids[$word]))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$len = utf8_strlen($word);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($len >= $this->word_length['min'] && $len <= $this->word_length['max'])
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
trigger_error(sprintf($user->lang['WORD_IN_NO_POST'], $word));
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->common_words[] = $word;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$len = utf8_strlen($word);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($len < $this->word_length['min'] || $len > $this->word_length['max'])
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->common_words[] = $word;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!sizeof($this->must_contain_ids))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
sort($this->must_contain_ids);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
sort($this->must_not_contain_ids);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
sort($this->must_exclude_one_ids);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!empty($this->search_query))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return true;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Performs a search on keywords depending on display specific params. You have to run split_keywords() first.
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string $type contains either posts or topics depending on what should be searched for
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string &$fields contains either titleonly (topic titles should be searched), msgonly (only message bodies should be searched), firstpost (only subject and body of the first post should be searched) or all (all post bodies and subjects should be searched)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string &$terms is either 'all' (use query as entered, words without prefix should default to "have to be in field") or 'any' (ignore search query parts and just return all posts that contain any of the specified words)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param array &$sort_by_sql contains SQL code for the ORDER BY part of a query
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string &$sort_key is the key of $sort_by_sql for the selected sorting
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string &$sort_dir is either a or d representing ASC and DESC
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string &$sort_days specifies the maximum amount of days a post may be old
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param array &$ex_fid_ary specifies an array of forum ids which should not be searched
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param array &$m_approve_fid_ary specifies an array of forum ids in which the searcher is allowed to view unapproved posts
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param int &$topic_id is set to 0 or a topic id, if it is not 0 then only posts in this topic should be searched
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param array &$author_ary an array of author ids if the author should be ignored during the search the array is empty
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param array &$id_ary passed by reference, to be filled with ids for the page specified by $start and $per_page, should be ordered
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param int $start indicates the first index of the page
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param int $per_page number of ids each page is supposed to contain
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @return boolean|int total number of results
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @access public
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
function keyword_search($type, &$fields, &$terms, &$sort_by_sql, &$sort_key, &$sort_dir, &$sort_days, &$ex_fid_ary, &$m_approve_fid_ary, &$topic_id, &$author_ary, &$id_ary, $start, $per_page)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
global $config, $db;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (empty($this->search_query))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$search_key = md5(implode('#', array(
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
serialize($this->must_contain_ids),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
serialize($this->must_not_contain_ids),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
serialize($this->must_exclude_one_ids),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$type,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$fields,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$terms,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sort_days,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sort_key,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$topic_id,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
implode(',', $ex_fid_ary),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
implode(',', $m_approve_fid_ary),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
implode(',', $author_ary)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
)));
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$total_results = 0;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($this->obtain_ids($search_key, $total_results, $id_ary, $start, $per_page, $sort_dir) == SEARCH_RESULT_IN_CACHE)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return $total_results;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$id_ary = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$group_by = false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$m_num = 0;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$w_num = 0;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array = array(
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'SELECT' => ($type == 'posts') ? 'p.post_id' : 'p.topic_id',
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'FROM' => array(
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
SEARCH_WORDMATCH_TABLE => array(),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
SEARCH_WORDLIST_TABLE => array(),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'LEFT_JOIN' => array(array(
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'FROM' => array(POSTS_TABLE => 'p'),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'ON' => 'm0.post_id = p.post_id',
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
)),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$title_match = '';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$left_join_topics = false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$group_by = true;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
switch ($fields)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case 'titleonly':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$title_match = 'title_match = 1';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$group_by = false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// no break
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case 'firstpost':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$left_join_topics = true;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = 'p.post_id = t.topic_first_post_id';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case 'msgonly':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$title_match = 'title_match = 0';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$group_by = false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($type == 'topics')
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$left_join_topics = true;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$group_by = true;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @todo Add a query optimizer (handle stuff like "+(4|3) +4")
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
foreach ($this->must_contain_ids as $subquery)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (is_array($subquery))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$group_by = true;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$word_id_sql = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$word_ids = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
foreach ($subquery as $id)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (is_string($id))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array['LEFT_JOIN'][] = array(
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'FROM' => array(SEARCH_WORDLIST_TABLE => 'w' . $w_num),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'ON' => "w$w_num.word_text LIKE $id"
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$word_ids[] = "w$w_num.word_id";
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$w_num++;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$word_ids[] = $id;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = $db->sql_in_set("m$m_num.word_id", $word_ids);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
unset($word_id_sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
unset($word_ids);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else if (is_string($subquery))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array['FROM'][SEARCH_WORDLIST_TABLE][] = 'w' . $w_num;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = "w$w_num.word_text LIKE $subquery";
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = "m$m_num.word_id = w$w_num.word_id";
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$group_by = true;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$w_num++;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = "m$m_num.word_id = $subquery";
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array['FROM'][SEARCH_WORDMATCH_TABLE][] = 'm' . $m_num;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($title_match)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = "m$m_num.$title_match";
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($m_num != 0)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = "m$m_num.post_id = m0.post_id";
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$m_num++;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
foreach ($this->must_not_contain_ids as $key => $subquery)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (is_string($subquery))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array['LEFT_JOIN'][] = array(
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'FROM' => array(SEARCH_WORDLIST_TABLE => 'w' . $w_num),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'ON' => "w$w_num.word_text LIKE $subquery"
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->must_not_contain_ids[$key] = "w$w_num.word_id";
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$group_by = true;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$w_num++;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($this->must_not_contain_ids))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array['LEFT_JOIN'][] = array(
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'FROM' => array(SEARCH_WORDMATCH_TABLE => 'm' . $m_num),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'ON' => $db->sql_in_set("m$m_num.word_id", $this->must_not_contain_ids) . (($title_match) ? " AND m$m_num.$title_match" : '') . " AND m$m_num.post_id = m0.post_id"
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = "m$m_num.word_id IS NULL";
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$m_num++;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
foreach ($this->must_exclude_one_ids as $ids)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$is_null_joins = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
foreach ($ids as $id)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (is_string($id))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array['LEFT_JOIN'][] = array(
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'FROM' => array(SEARCH_WORDLIST_TABLE => 'w' . $w_num),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'ON' => "w$w_num.word_text LIKE $id"
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$id = "w$w_num.word_id";
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$group_by = true;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$w_num++;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array['LEFT_JOIN'][] = array(
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'FROM' => array(SEARCH_WORDMATCH_TABLE => 'm' . $m_num),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'ON' => "m$m_num.word_id = $id AND m$m_num.post_id = m0.post_id" . (($title_match) ? " AND m$m_num.$title_match" : '')
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$is_null_joins[] = "m$m_num.word_id IS NULL";
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$m_num++;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = '(' . implode(' OR ', $is_null_joins) . ')';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!sizeof($m_approve_fid_ary))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = 'p.post_approved = 1';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else if ($m_approve_fid_ary !== array(-1))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = '(p.post_approved = 1 OR ' . $db->sql_in_set('p.forum_id', $m_approve_fid_ary, true) . ')';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($topic_id)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = 'p.topic_id = ' . $topic_id;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($author_ary))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = $db->sql_in_set('p.poster_id', $author_ary);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($ex_fid_ary))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = $db->sql_in_set('p.forum_id', $ex_fid_ary, true);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($sort_days)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = 'p.post_time >= ' . (time() - ($sort_days * 86400));
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array['WHERE'] = implode(' AND ', $sql_where);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$is_mysql = false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// if the total result count is not cached yet, retrieve it from the db
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!$total_results)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = '';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array_count = $sql_array;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
switch ($db->sql_layer)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case 'mysql4':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case 'mysqli':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array['SELECT'] = 'SQL_CALC_FOUND_ROWS ' . $sql_array['SELECT'];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$is_mysql = true;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case 'sqlite':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array_count['SELECT'] = ($type == 'posts') ? 'DISTINCT p.post_id' : 'DISTINCT p.topic_id';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'SELECT COUNT(' . (($type == 'posts') ? 'post_id' : 'topic_id') . ') as total_results
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
FROM (' . $db->sql_build_query('SELECT', $sql_array_count) . ')';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// no break
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
default:
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array_count['SELECT'] = ($type == 'posts') ? 'COUNT(DISTINCT p.post_id) AS total_results' : 'COUNT(DISTINCT p.topic_id) AS total_results';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = (!$sql) ? $db->sql_build_query('SELECT', $sql_array_count) : $sql;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$result = $db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$total_results = (int) $db->sql_fetchfield('total_results');
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_freeresult($result);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!$total_results)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
unset($sql_array_count, $sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// Build sql strings for sorting
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_sort = $sort_by_sql[$sort_key] . (($sort_dir == 'a') ? ' ASC' : ' DESC');
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
switch ($sql_sort[0])
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case 'u':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array['FROM'][USERS_TABLE] = 'u';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = 'u.user_id = p.poster_id ';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case 't':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$left_join_topics = true;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case 'f':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array['FROM'][FORUMS_TABLE] = 'f';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_where[] = 'f.forum_id = p.forum_id';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($left_join_topics)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array['LEFT_JOIN'][$left_join_topics] = array(
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'FROM' => array(TOPICS_TABLE => 't'),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'ON' => 'p.topic_id = t.topic_id'
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array['WHERE'] = implode(' AND ', $sql_where);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array['GROUP_BY'] = ($group_by) ? (($type == 'posts') ? 'p.post_id' : 'p.topic_id') . ', ' . $sort_by_sql[$sort_key] : '';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_array['ORDER_BY'] = $sql_sort;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
unset($sql_where, $sql_sort, $group_by);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = $db->sql_build_query('SELECT', $sql_array);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$result = $db->sql_query_limit($sql, $config['search_block_size'], $start);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
while ($row = $db->sql_fetchrow($result))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$id_ary[] = $row[(($type == 'posts') ? 'post_id' : 'topic_id')];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_freeresult($result);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!sizeof($id_ary))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// if we use mysql and the total result count is not cached yet, retrieve it from the db
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!$total_results && $is_mysql)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'SELECT FOUND_ROWS() as total_results';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$result = $db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$total_results = (int) $db->sql_fetchfield('total_results');
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_freeresult($result);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!$total_results)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->save_ids($search_key, $this->search_query, $author_ary, $total_results, $id_ary, $start, $sort_dir);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$id_ary = array_slice($id_ary, 0, (int) $per_page);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return $total_results;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Performs a search on an author's posts without caring about message contents. Depends on display specific params
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string $type contains either posts or topics depending on what should be searched for
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param boolean $firstpost_only if true, only topic starting posts will be considered
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param array &$sort_by_sql contains SQL code for the ORDER BY part of a query
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string &$sort_key is the key of $sort_by_sql for the selected sorting
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string &$sort_dir is either a or d representing ASC and DESC
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string &$sort_days specifies the maximum amount of days a post may be old
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param array &$ex_fid_ary specifies an array of forum ids which should not be searched
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param array &$m_approve_fid_ary specifies an array of forum ids in which the searcher is allowed to view unapproved posts
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param int &$topic_id is set to 0 or a topic id, if it is not 0 then only posts in this topic should be searched
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param array &$author_ary an array of author ids
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param array &$id_ary passed by reference, to be filled with ids for the page specified by $start and $per_page, should be ordered
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param int $start indicates the first index of the page
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param int $per_page number of ids each page is supposed to contain
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @return boolean|int total number of results
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @access public
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
function author_search($type, $firstpost_only, &$sort_by_sql, &$sort_key, &$sort_dir, &$sort_days, &$ex_fid_ary, &$m_approve_fid_ary, &$topic_id, &$author_ary, &$id_ary, $start, $per_page)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
global $config, $db;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!sizeof($author_ary))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return 0;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$search_key = md5(implode('#', array(
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'',
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$type,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
($firstpost_only) ? 'firstpost' : '',
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'',
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'',
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sort_days,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sort_key,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$topic_id,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
implode(',', $ex_fid_ary),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
implode(',', $m_approve_fid_ary),
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
implode(',', $author_ary)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
)));
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$total_results = 0;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($this->obtain_ids($search_key, $total_results, $id_ary, $start, $per_page, $sort_dir) == SEARCH_RESULT_IN_CACHE)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return $total_results;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$id_ary = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// Create some display specific sql strings
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_author = $db->sql_in_set('p.poster_id', $author_ary);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_fora = (sizeof($ex_fid_ary)) ? ' AND ' . $db->sql_in_set('p.forum_id', $ex_fid_ary, true) : '';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_time = ($sort_days) ? ' AND p.post_time >= ' . (time() - ($sort_days * 86400)) : '';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_topic_id = ($topic_id) ? ' AND p.topic_id = ' . (int) $topic_id : '';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_firstpost = ($firstpost_only) ? ' AND p.post_id = t.topic_first_post_id' : '';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// Build sql strings for sorting
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_sort = $sort_by_sql[$sort_key] . (($sort_dir == 'a') ? ' ASC' : ' DESC');
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_sort_table = $sql_sort_join = '';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
switch ($sql_sort[0])
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case 'u':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_sort_table = USERS_TABLE . ' u, ';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_sort_join = ' AND u.user_id = p.poster_id ';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case 't':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_sort_table = ($type == 'posts' && !$firstpost_only) ? TOPICS_TABLE . ' t, ' : '';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_sort_join = ($type == 'posts' && !$firstpost_only) ? ' AND t.topic_id = p.topic_id ' : '';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case 'f':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_sort_table = FORUMS_TABLE . ' f, ';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_sort_join = ' AND f.forum_id = p.forum_id ';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!sizeof($m_approve_fid_ary))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$m_approve_fid_sql = ' AND p.post_approved = 1';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else if ($m_approve_fid_ary == array(-1))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$m_approve_fid_sql = '';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$m_approve_fid_sql = ' AND (p.post_approved = 1 OR ' . $db->sql_in_set('p.forum_id', $m_approve_fid_ary, true) . ')';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$select = ($type == 'posts') ? 'p.post_id' : 't.topic_id';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$is_mysql = false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!$total_results)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
switch ($db->sql_layer)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case 'mysql4':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case 'mysqli':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$select = 'SQL_CALC_FOUND_ROWS ' . $select;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$is_mysql = true;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
default:
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($type == 'posts')
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'SELECT COUNT(p.post_id) as total_results
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
FROM ' . POSTS_TABLE . ' p' . (($firstpost_only) ? ', ' . TOPICS_TABLE . ' t ' : ' ') . "
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE $sql_author
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_topic_id
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_firstpost
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$m_approve_fid_sql
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_fora
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_time";
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($db->sql_layer == 'sqlite')
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'SELECT COUNT(topic_id) as total_results
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
FROM (SELECT DISTINCT t.topic_id';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'SELECT COUNT(DISTINCT t.topic_id) as total_results';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql .= ' FROM ' . TOPICS_TABLE . ' t, ' . POSTS_TABLE . " p
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE $sql_author
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_topic_id
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_firstpost
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$m_approve_fid_sql
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_fora
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
AND t.topic_id = p.topic_id
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_time" . (($db->sql_layer == 'sqlite') ? ')' : '');
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$result = $db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$total_results = (int) $db->sql_fetchfield('total_results');
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_freeresult($result);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!$total_results)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($type == 'posts')
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = "SELECT $select
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
FROM " . $sql_sort_table . POSTS_TABLE . ' p' . (($firstpost_only) ? ', ' . TOPICS_TABLE . ' t' : '') . "
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE $sql_author
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_topic_id
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_firstpost
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$m_approve_fid_sql
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_fora
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_sort_join
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_time
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
ORDER BY $sql_sort";
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$field = 'post_id';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = "SELECT $select
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
FROM " . $sql_sort_table . TOPICS_TABLE . ' t, ' . POSTS_TABLE . " p
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE $sql_author
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_topic_id
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_firstpost
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$m_approve_fid_sql
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_fora
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
AND t.topic_id = p.topic_id
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_sort_join
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_time
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
GROUP BY t.topic_id, " . $sort_by_sql[$sort_key] . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
ORDER BY ' . $sql_sort;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$field = 'topic_id';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// Only read one block of posts from the db and then cache it
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$result = $db->sql_query_limit($sql, $config['search_block_size'], $start);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
while ($row = $db->sql_fetchrow($result))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$id_ary[] = $row[$field];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_freeresult($result);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!$total_results && $is_mysql)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'SELECT FOUND_ROWS() as total_results';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$result = $db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$total_results = (int) $db->sql_fetchfield('total_results');
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_freeresult($result);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!$total_results)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($id_ary))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->save_ids($search_key, '', $author_ary, $total_results, $id_ary, $start, $sort_dir);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$id_ary = array_slice($id_ary, 0, $per_page);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return $total_results;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Split a text into words of a given length
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* The text is converted to UTF-8, cleaned up, and split. Then, words that
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* conform to the defined length range are returned in an array.
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* NOTE: duplicates are NOT removed from the return array
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string $text Text to split, encoded in UTF-8
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @return array Array of UTF-8 words
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @access private
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
function split_message($text)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
global $phpbb_root_path, $phpEx, $user;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$match = $words = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Taken from the original code
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// Do not index code
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$match[] = '#\[code(?:=.*?)?(\:?[0-9a-z]{5,})\].*?\[\/code(\:?[0-9a-z]{5,})\]#is';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$match[] = '#\[\/?[a-z0-9\*\+\-]+(?:=.*?)?(?::[a-z])?(\:?[0-9a-z]{5,})\]#';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$min = $this->word_length['min'];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$max = $this->word_length['max'];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$isset_min = $min - 1;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Clean up the string, remove HTML tags, remove BBCodes
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$word = strtok($this->cleanup(preg_replace($match, ' ', strip_tags($text)), -1), ' ');
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
while (strlen($word))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (strlen($word) > 255 || strlen($word) <= $isset_min)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Words longer than 255 bytes are ignored. This will have to be
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* changed whenever we change the length of search_wordlist.word_text
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Words shorter than $isset_min bytes are ignored, too
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$word = strtok(' ');
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
continue;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$len = utf8_strlen($word);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Test whether the word is too short to be indexed.
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Note that this limit does NOT apply to CJK and Hangul
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($len < $min)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Note: this could be optimized. If the codepoint is lower than Hangul's range
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* we know that it will also be lower than CJK ranges
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ((strncmp($word, UTF8_HANGUL_FIRST, 3) < 0 || strncmp($word, UTF8_HANGUL_LAST, 3) > 0)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
&& (strncmp($word, UTF8_CJK_FIRST, 3) < 0 || strncmp($word, UTF8_CJK_LAST, 3) > 0)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
&& (strncmp($word, UTF8_CJK_B_FIRST, 4) < 0 || strncmp($word, UTF8_CJK_B_LAST, 4) > 0))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$word = strtok(' ');
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
continue;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words[] = $word;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$word = strtok(' ');
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return $words;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Updates wordlist and wordmatch tables when a message is posted or changed
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string $mode Contains the post mode: edit, post, reply, quote
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param int $post_id The id of the post which is modified/created
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string &$message New or updated post content
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string &$subject New or updated post subject
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param int $poster_id Post author's user id
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param int $forum_id The id of the forum in which the post is located
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @access public
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
function index($mode, $post_id, &$message, &$subject, $poster_id, $forum_id)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
global $config, $db, $user;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!$config['fulltext_native_load_upd'])
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* The search indexer is disabled, return
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// Split old and new post/subject to obtain array of 'words'
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$split_text = $this->split_message($message);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$split_title = $this->split_message($subject);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$cur_words = array('post' => array(), 'title' => array());
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($mode == 'edit')
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words['add']['post'] = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words['add']['title'] = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words['del']['post'] = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words['del']['title'] = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'SELECT w.word_id, w.word_text, m.title_match
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
FROM ' . SEARCH_WORDLIST_TABLE . ' w, ' . SEARCH_WORDMATCH_TABLE . " m
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE m.post_id = $post_id
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
AND w.word_id = m.word_id";
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$result = $db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
while ($row = $db->sql_fetchrow($result))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$which = ($row['title_match']) ? 'title' : 'post';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$cur_words[$which][$row['word_text']] = $row['word_id'];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_freeresult($result);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words['add']['post'] = array_diff($split_text, array_keys($cur_words['post']));
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words['add']['title'] = array_diff($split_title, array_keys($cur_words['title']));
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words['del']['post'] = array_diff(array_keys($cur_words['post']), $split_text);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words['del']['title'] = array_diff(array_keys($cur_words['title']), $split_title);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words['add']['post'] = $split_text;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words['add']['title'] = $split_title;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words['del']['post'] = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words['del']['title'] = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
unset($split_text);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
unset($split_title);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$unique_add_words = array_unique(array_merge($words['add']['post'], $words['add']['title']));
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// We now have unique arrays of all words to be added and removed and
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// individual arrays of added and removed words for text and title. What
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// we need to do now is add the new words (if they don't already exist)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// and then add (or remove) matches between the words and this post
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($unique_add_words))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'SELECT word_id, word_text
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
FROM ' . SEARCH_WORDLIST_TABLE . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE ' . $db->sql_in_set('word_text', $unique_add_words);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$result = $db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$word_ids = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
while ($row = $db->sql_fetchrow($result))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$word_ids[$row['word_text']] = $row['word_id'];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_freeresult($result);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$new_words = array_diff($unique_add_words, array_keys($word_ids));
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_transaction('begin');
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($new_words))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_ary = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
foreach ($new_words as $word)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_ary[] = array('word_text' => (string) $word, 'word_count' => 0);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_return_on_error(true);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_multi_insert(SEARCH_WORDLIST_TABLE, $sql_ary);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_return_on_error(false);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
unset($new_words, $sql_ary);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_transaction('begin');
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// now update the search match table, remove links to removed words and add links to new words
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
foreach ($words['del'] as $word_in => $word_ary)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$title_match = ($word_in == 'title') ? 1 : 0;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($word_ary))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_in = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
foreach ($word_ary as $word)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_in[] = $cur_words[$word_in][$word];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'DELETE FROM ' . SEARCH_WORDMATCH_TABLE . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE ' . $db->sql_in_set('word_id', $sql_in) . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
AND post_id = ' . intval($post_id) . "
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
AND title_match = $title_match";
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'UPDATE ' . SEARCH_WORDLIST_TABLE . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
SET word_count = word_count - 1
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE ' . $db->sql_in_set('word_id', $sql_in) . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
AND word_count > 0';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
unset($sql_in);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_return_on_error(true);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
foreach ($words['add'] as $word_in => $word_ary)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$title_match = ($word_in == 'title') ? 1 : 0;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($word_ary))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'INSERT INTO ' . SEARCH_WORDMATCH_TABLE . ' (post_id, word_id, title_match)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
SELECT ' . (int) $post_id . ', word_id, ' . (int) $title_match . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
FROM ' . SEARCH_WORDLIST_TABLE . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE ' . $db->sql_in_set('word_text', $word_ary);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'UPDATE ' . SEARCH_WORDLIST_TABLE . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
SET word_count = word_count + 1
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE ' . $db->sql_in_set('word_text', $word_ary);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_return_on_error(false);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_transaction('commit');
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->destroy_cache(array_unique(array_merge($words['add']['post'], $words['add']['title'], $words['del']['post'], $words['del']['title'])), array($poster_id));
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
unset($unique_add_words);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
unset($words);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
unset($cur_words);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Removes entries from the wordmatch table for the specified post_ids
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
function index_remove($post_ids, $author_ids, $forum_ids)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
global $db;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($post_ids))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'SELECT w.word_id, w.word_text, m.title_match
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
FROM ' . SEARCH_WORDMATCH_TABLE . ' m, ' . SEARCH_WORDLIST_TABLE . ' w
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE ' . $db->sql_in_set('m.post_id', $post_ids) . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
AND w.word_id = m.word_id';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$result = $db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$message_word_ids = $title_word_ids = $word_texts = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
while ($row = $db->sql_fetchrow($result))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($row['title_match'])
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$title_word_ids[] = $row['word_id'];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$message_word_ids[] = $row['word_id'];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$word_texts[] = $row['word_text'];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_freeresult($result);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($title_word_ids))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'UPDATE ' . SEARCH_WORDLIST_TABLE . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
SET word_count = word_count - 1
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE ' . $db->sql_in_set('word_id', $title_word_ids) . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
AND word_count > 0';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($message_word_ids))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'UPDATE ' . SEARCH_WORDLIST_TABLE . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
SET word_count = word_count - 1
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE ' . $db->sql_in_set('word_id', $message_word_ids) . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
AND word_count > 0';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
unset($title_word_ids);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
unset($message_word_ids);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'DELETE FROM ' . SEARCH_WORDMATCH_TABLE . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE ' . $db->sql_in_set('post_id', $post_ids);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->destroy_cache(array_unique($word_texts), $author_ids);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Tidy up indexes: Tag 'common words' and remove
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* words no longer referenced in the match table
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
function tidy()
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
global $db, $config;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// Is the fulltext indexer disabled? If yes then we need not
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
// carry on ... it's okay ... I know when I'm not wanted boo hoo
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!$config['fulltext_native_load_upd'])
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
set_config('search_last_gc', time(), true);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$destroy_cache_words = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($config['num_posts'] >= 100 && $config['fulltext_native_common_thres'])
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$common_threshold = ((double) $config['fulltext_native_common_thres']) / 100.0;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'SELECT word_id, word_text
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
FROM ' . SEARCH_WORDLIST_TABLE . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE word_count > ' . floor($config['num_posts'] * $common_threshold) . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
OR word_common = 1';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$result = $db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_in = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
while ($row = $db->sql_fetchrow($result))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql_in[] = $row['word_id'];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$destroy_cache_words[] = $row['word_text'];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_freeresult($result);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($sql_in))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'UPDATE ' . SEARCH_WORDLIST_TABLE . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
SET word_common = 1
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE ' . $db->sql_in_set('word_id', $sql_in);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
set_config('search_last_gc', time(), true);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'DELETE FROM ' . SEARCH_WORDMATCH_TABLE . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
WHERE ' . $db->sql_in_set('word_id', $sql_in);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
unset($sql_in);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (sizeof($destroy_cache_words))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->destroy_cache(array_unique($destroy_cache_words));
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
set_config('search_last_gc', time(), true);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Deletes all words from the index
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
function delete_index($acp_module, $u_action)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
global $db;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
switch ($db->sql_layer)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case 'sqlite':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
case 'firebird':
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_query('DELETE FROM ' . SEARCH_WORDLIST_TABLE);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_query('DELETE FROM ' . SEARCH_WORDMATCH_TABLE);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_query('DELETE FROM ' . SEARCH_RESULTS_TABLE);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
default:
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_query('TRUNCATE TABLE ' . SEARCH_WORDLIST_TABLE);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_query('TRUNCATE TABLE ' . SEARCH_WORDMATCH_TABLE);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_query('TRUNCATE TABLE ' . SEARCH_RESULTS_TABLE);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Returns true if both FULLTEXT indexes exist
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
function index_created()
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!sizeof($this->stats))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->get_stats();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return ($this->stats['total_words'] && $this->stats['total_matches']) ? true : false;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Returns an associative array containing information about the indexes
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
function index_stats()
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
global $user;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!sizeof($this->stats))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->get_stats();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return array(
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$user->lang['TOTAL_WORDS'] => $this->stats['total_words'],
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$user->lang['TOTAL_MATCHES'] => $this->stats['total_matches']);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
function get_stats()
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
global $db;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'SELECT COUNT(*) as total_words
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
FROM ' . SEARCH_WORDLIST_TABLE;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$result = $db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->stats['total_words'] = (int) $db->sql_fetchfield('total_words');
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_freeresult($result);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sql = 'SELECT COUNT(*) as total_matches
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
FROM ' . SEARCH_WORDMATCH_TABLE;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$result = $db->sql_query($sql);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$this->stats['total_matches'] = (int) $db->sql_fetchfield('total_matches');
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$db->sql_freeresult($result);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Clean up a text to remove non-alphanumeric characters
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* This method receives a UTF-8 string, normalizes and validates it, replaces all
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* non-alphanumeric characters with strings then returns the result.
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Any number of "allowed chars" can be passed as a UTF-8 string in NFC.
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string $text Text to split, in UTF-8 (not normalized or sanitized)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string $allowed_chars String of special chars to allow
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @param string $encoding Text encoding
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @return string Cleaned up text, only alphanumeric chars are left
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @todo normalizer::cleanup being able to be used?
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
function cleanup($text, $allowed_chars = null, $encoding = 'utf-8')
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
global $phpbb_root_path, $phpEx;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
static $conv = array(), $conv_loaded = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$words = $allow = array();
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$encoding = strtolower($encoding);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($encoding != 'utf-8')
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$text = utf8_recode($text, $encoding);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$utf_len_mask = array(
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
"\xC0" => 2,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
"\xD0" => 2,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
"\xE0" => 3,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
"\xF0" => 4
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Replace HTML entities and NCRs
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$text = htmlspecialchars_decode(utf8_decode_ncr($text), ENT_QUOTES);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Load the UTF-8 normalizer
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* If we use it more widely, an instance of that class should be held in a
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* a global variable instead
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
utf_normalizer::nfc($text);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* The first thing we do is:
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* - convert ASCII-7 letters to lowercase
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* - remove the ASCII-7 non-alpha characters
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* - remove the bytes that should not appear in a valid UTF-8 string: 0xC0,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* 0xC1 and 0xF5-0xFF
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* @todo in theory, the third one is already taken care of during normalization and those chars should have been replaced by Unicode replacement chars
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sb_match = "ISTCPAMELRDOJBNHFGVWUQKYXZ\r\n\t!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\x00\x01\x02\x03\x04\x05\x06\x07\x08\x0B\x0C\x0E\x0F\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1A\x1B\x1C\x1D\x1E\x1F\xC0\xC1\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF";
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sb_replace = 'istcpamelrdojbnhfgvwuqkyxz ';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* This is the list of legal ASCII chars, it is automatically extended
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* with ASCII chars from $allowed_chars
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$legal_ascii = ' eaisntroludcpmghbfvq10xy2j9kw354867z';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Prepare an array containing the extra chars to allow
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (isset($allowed_chars[0]))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$pos = 0;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$len = strlen($allowed_chars);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
do
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$c = $allowed_chars[$pos];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($c < "\x80")
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* ASCII char
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sb_pos = strpos($sb_match, $c);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (is_int($sb_pos))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Remove the char from $sb_match and its corresponding
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* replacement in $sb_replace
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sb_match = substr($sb_match, 0, $sb_pos) . substr($sb_match, $sb_pos + 1);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$sb_replace = substr($sb_replace, 0, $sb_pos) . substr($sb_replace, $sb_pos + 1);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$legal_ascii .= $c;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
++$pos;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* UTF-8 char
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$utf_len = $utf_len_mask[$c & "\xF0"];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$allow[substr($allowed_chars, $pos, $utf_len)] = 1;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$pos += $utf_len;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
while ($pos < $len);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$text = strtr($text, $sb_match, $sb_replace);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$ret = '';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$pos = 0;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$len = strlen($text);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
do
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Do all consecutive ASCII chars at once
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($spn = strspn($text, $legal_ascii, $pos))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$ret .= substr($text, $pos, $spn);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$pos += $spn;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if ($pos >= $len)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return $ret;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Capture the UTF char
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$utf_len = $utf_len_mask[$text[$pos] & "\xF0"];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$utf_char = substr($text, $pos, $utf_len);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$pos += $utf_len;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (($utf_char >= UTF8_HANGUL_FIRST && $utf_char <= UTF8_HANGUL_LAST)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|| ($utf_char >= UTF8_CJK_FIRST && $utf_char <= UTF8_CJK_LAST)
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|| ($utf_char >= UTF8_CJK_B_FIRST && $utf_char <= UTF8_CJK_B_LAST))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* All characters within these ranges are valid
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* We separate them with a space in order to index each character
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* individually
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$ret .= ' ' . $utf_char . ' ';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
continue;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (isset($allow[$utf_char]))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* The char is explicitly allowed
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$ret .= $utf_char;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
continue;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (isset($conv[$utf_char]))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* The char is mapped to something, maybe to itself actually
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$ret .= $conv[$utf_char];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
continue;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* The char isn't mapped, but did we load its conversion table?
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* The search indexer table is split into blocks. The block number of
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* each char is equal to its codepoint right-shifted for 11 bits. It
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* means that out of the 11, 16 or 21 meaningful bits of a 2-, 3- or
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* 4- byte sequence we only keep the leftmost 0, 5 or 10 bits. Thus,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* all UTF chars encoded in 2 bytes are in the same first block.
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (isset($utf_char[2]))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (isset($utf_char[3]))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* 1111 0nnn 10nn nnnn 10nx xxxx 10xx xxxx
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* 0000 0111 0011 1111 0010 0000
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$idx = ((ord($utf_char[0]) & 0x07) << 7) | ((ord($utf_char[1]) & 0x3F) << 1) | ((ord($utf_char[2]) & 0x20) >> 5);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* 1110 nnnn 10nx xxxx 10xx xxxx
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* 0000 0111 0010 0000
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$idx = ((ord($utf_char[0]) & 0x07) << 1) | ((ord($utf_char[1]) & 0x20) >> 5);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* 110x xxxx 10xx xxxx
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* 0000 0000 0000 0000
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$idx = 0;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Check if the required conv table has been loaded already
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (!isset($conv_loaded[$idx]))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$conv_loaded[$idx] = 1;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$file = $phpbb_root_path . 'includes/utf/data/search_indexer_' . $idx . '.' . $phpEx;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (file_exists($file))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$conv += include($file);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
if (isset($conv[$utf_char]))
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$ret .= $conv[$utf_char];
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
else
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* We add an entry to the conversion table so that we
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* don't have to convert to codepoint and perform the checks
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* that are above this block
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$conv[$utf_char] = ' ';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$ret .= ' ';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
while (1);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return $ret;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* Returns a list of options for the ACP to display
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
function acp()
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
{
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
global $user, $config;
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
/**
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
* if we need any options, copied from fulltext_native for now, will have to be adjusted or removed
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
*/
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
$tpl = '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
<label for="fulltext_native_load_upd">' . $user->lang['YES_SEARCH_UPDATE'] . ':</label> ' . $user->lang['YES_SEARCH_UPDATE_EXPLAIN'] . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
<label><input type="radio" id="fulltext_native_load_upd" name="config[fulltext_native_load_upd]" value="1"' . (($config['fulltext_native_load_upd']) ? ' checked="checked"' : '') . ' class="radio" /> ' . $user->lang['YES'] . '</label><label><input type="radio" name="config[fulltext_native_load_upd]" value="0"' . ((!$config['fulltext_native_load_upd']) ? ' checked="checked"' : '') . ' class="radio" /> ' . $user->lang['NO'] . '</label>
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
<label for="fulltext_native_min_chars">' . $user->lang['MIN_SEARCH_CHARS'] . ':</label> ' . $user->lang['MIN_SEARCH_CHARS_EXPLAIN'] . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
<input id="fulltext_native_min_chars" type="text" size="3" maxlength="3" name="config[fulltext_native_min_chars]" value="' . (int) $config['fulltext_native_min_chars'] . '" />
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
<label for="fulltext_native_max_chars">' . $user->lang['MAX_SEARCH_CHARS'] . ':</label> ' . $user->lang['MAX_SEARCH_CHARS_EXPLAIN'] . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
<input id="fulltext_native_max_chars" type="text" size="3" maxlength="3" name="config[fulltext_native_max_chars]" value="' . (int) $config['fulltext_native_max_chars'] . '" />
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
<label for="fulltext_native_common_thres">' . $user->lang['COMMON_WORD_THRESHOLD'] . ':</label> ' . $user->lang['COMMON_WORD_THRESHOLD_EXPLAIN'] . '
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
<input id="fulltext_native_common_thres" type="text" size="3" maxlength="3" name="config[fulltext_native_common_thres]" value="' . (double) $config['fulltext_native_common_thres'] . '" /> %
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
';
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
return array(
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'tpl' => $tpl,
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
'config' => array('fulltext_native_load_upd' => 'bool', 'fulltext_native_min_chars' => 'integer:0:255', 'fulltext_native_max_chars' => 'integer:0:255', 'fulltext_native_common_thres' => 'double:0:100')
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
);
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
|
|
![](https://seccdn.libravatar.org/avatar/6547be6a776b3f31e43b7f4b6dd82ebcede0f2d11be196e3a70e28760a760a3c?s=16&d=retro) |
4c79b5 |
?>
|