/** * Метод вызывается однократно после установки модуля (или системы в редакции, * содержащей модуль) */ public function first_run() { // Create tables $create_statements = array("CREATE TABLE IF NOT EXISTS `{$this->index_table_name}` (\n `Document_ID` int(11) NOT NULL,\n `Content` longtext character set latin1 collate latin1_bin NOT NULL,\n PRIMARY KEY (`Document_ID`),\n FULLTEXT KEY `Content` (`Content`)\n ) ENGINE=MyISAM", "CREATE TABLE IF NOT EXISTS `{$this->term_table_name}` (\n `Term` varchar(255) character set utf8 collate utf8_bin NOT NULL,\n `Code` varbinary(255) NOT NULL,\n `Length` tinyint(3) unsigned NOT NULL,\n PRIMARY KEY (`Term`)\n ) ENGINE=MyISAM DEFAULT CHARSET=utf8", "CREATE TABLE IF NOT EXISTS `{$this->term_last_code_table_name}` (`Code` int(11) NOT NULL)", "CREATE TABLE IF NOT EXISTS `{$this->field_list_table_name}` (\n `Field_ID` int(10) unsigned NOT NULL auto_increment,\n `Name` varchar(255) NOT NULL,\n `Weight` decimal(5,2) NOT NULL,\n `Type` tinyint(4) NOT NULL,\n `IsSortable` tinyint(4) NOT NULL default '0',\n `IsStored` tinyint(4) NOT NULL default '0',\n PRIMARY KEY (`Field_ID`)\n ) ENGINE=MyISAM", "CREATE TABLE IF NOT EXISTS `{$this->last_rank_table_name}` (\n `Time` timestamp NOT NULL,\n `QueryHash` char(40) NOT NULL,\n `Offset` int(11) UNSIGNED NOT NULL,\n `Rank` int(11) UNSIGNED NOT NULL,\n UNIQUE KEY `QueryHash` (`QueryHash`, `Offset`)\n ) ENGINE=MyISAM"); $db = $this->get_db(); foreach ($create_statements as $q) { $db->query($q); } if (!$db->get_var("SELECT COUNT(*) FROM `{$this->term_last_code_table_name}`")) { $db->query("INSERT INTO `Search_Index_LastTerm` SET `Code` = 0"); } if (!$this->can_create_temporary_tables()) { nc_search::save_setting("DatabaseIndex_AlwaysGetTotalCount", 1); } }
if (!class_exists("nc_system")) { die; } $ui = $this->get_ui(); $ui->add_settings_toolbar(); $ui->add_submit_button(NETCAT_MODULE_SEARCH_ADMIN_SETTINGS_SAVE); // СОХРАНИТЬ НАСТРОЙКИ $new_settings = $this->get_input('s', array()); $nc_core = nc_Core::get_object(); if (!$nc_core->NC_UNICODE) { $new_settings = $nc_core->utf8->array_utf2win($new_settings); } if ($new_settings) { $new_settings["EnableQuerySuggest"] = strlen($new_settings["SuggestMode"]) > 0; foreach ($new_settings as $k => $v) { nc_search::save_setting($k, $v); } nc_print_status(NETCAT_MODULE_SEARCH_ADMIN_SETTINGS_SAVED, 'ok'); } // ПОКАЗАТЬ ФОРМУ $suggest_mode = nc_search::get_setting('SuggestMode'); $suggest_enabled = nc_search::should('EnableQuerySuggest'); $component = $nc_core->component->get_by_id(nc_search::get_setting('ComponentID')); $file_mode = $component["File_Mode"]; ?> <form method="POST" class="settings"> <input type="hidden" name="view" value="templates" /> <fieldset> <legend><?php echo NETCAT_MODULE_SEARCH_ADMIN_INTERFACE_RESULTS;
// событий на странице // ----------------------------------------------------------------------------- $ui = $this->get_ui(); $ui->add_lists_toolbar(); $db = $this->get_db(); $new_settings = $this->get_input("s"); if ($new_settings) { $level = 0; $level_codes = array_flip(nc_search::get_log_types()); foreach ($new_settings as $type => $enabled) { if ($enabled) { $level |= $level_codes[$type]; } } nc_search::save_setting('LogLevel', $level); nc_search::save_setting('DaysToKeepEventLog', $this->get_input('DaysToKeepEventLog')); nc_print_status(NETCAT_MODULE_SEARCH_ADMIN_SETTINGS_SAVED, 'ok'); } elseif ($this->get_input("purge")) { $db->query("TRUNCATE TABLE `Search_Log`"); nc_print_status(NETCAT_MODULE_SEARCH_ADMIN_EVENT_LOG_DELETED, 'ok'); } ?> <div class="log_settings settings"> <div id="settings_hidden"><a href="#"><?php echo NETCAT_MODULE_SEARCH_ADMIN_EVENT_LOG_SHOW_SETTINGS; ?> </a></div> <div id="settings_visible"> <fieldset> <legend><?php