Mercurial > hg > vamp-website
diff forum/Sources/DbSearch-mysql.php @ 76:e3e11437ecea website
Add forum code
author | Chris Cannam |
---|---|
date | Sun, 07 Jul 2013 11:25:48 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/forum/Sources/DbSearch-mysql.php Sun Jul 07 11:25:48 2013 +0200 @@ -0,0 +1,77 @@ +<?php + +/** + * Simple Machines Forum (SMF) + * + * @package SMF + * @author Simple Machines http://www.simplemachines.org + * @copyright 2011 Simple Machines + * @license http://www.simplemachines.org/about/smf/license.php BSD + * + * @version 2.0 + */ + +if (!defined('SMF')) + die('Hacking attempt...'); + +/* This file contains database functions specific to search related activity. + + void db_search_init() + - adds the functions in this file to the $smcFunc array + + boolean smf_db_search_support($search_type) + - whether this database type support the search type $search_type + + void smf_db_create_word_search($size) + - create the custom word index table + +*/ + +// Add the file functions to the $smcFunc array. +function db_search_init() +{ + global $smcFunc; + + if (!isset($smcFunc['db_search_query']) || $smcFunc['db_search_query'] != 'smf_db_query') + $smcFunc += array( + 'db_search_query' => 'smf_db_query', + 'db_search_support' => 'smf_db_search_support', + 'db_create_word_search' => 'smf_db_create_word_search', + 'db_support_ignore' => true, + ); +} + +// Does this database type support this search type? +function smf_db_search_support($search_type) +{ + $supported_types = array('fulltext'); + + return in_array($search_type, $supported_types); +} + +// Highly specific - create the custom word index table! +function smf_db_create_word_search($size) +{ + global $smcFunc; + + if ($size == 'small') + $size = 'smallint(5)'; + elseif ($size == 'medium') + $size = 'mediumint(8)'; + else + $size = 'int(10)'; + + $smcFunc['db_query']('', ' + CREATE TABLE {db_prefix}log_search_words ( + id_word {raw:size} unsigned NOT NULL default {string:string_zero}, + id_msg int(10) unsigned NOT NULL default {string:string_zero}, + PRIMARY KEY (id_word, id_msg) + ) ENGINE=InnoDB', + array( + 'string_zero' => '0', + 'size' => $size, + ) + ); +} + +?> \ No newline at end of file