<?php /* $Id: netcat_cron.php 8456 2012-11-23 10:42:55Z aix $ */ /** * Запуск из "крона" неткета */ $NETCAT_FOLDER = realpath(dirname(__FILE__) . "/../../../../"); require_once "{$NETCAT_FOLDER}/vars.inc.php"; require_once $ROOT_FOLDER . "connect_io.php"; $nc_core = nc_Core::get_object(); $nc_core->modules->load_env('ru'); $lang = $nc_core->lang->detect_lang(); require_once $ADMIN_FOLDER . "lang/" . $lang . ".php"; error_reporting(E_PARSE | E_ERROR | E_WARNING | E_USER_ERROR | E_USER_WARNING); while (@ob_end_flush()) { } $secret_key = nc_Core::get_object()->input->fetch_get("secret_key"); if ($secret_key != nc_search::get_setting('IndexerSecretKey')) { $file = __FILE__; nc_search::log(nc_search::LOG_ERROR, "Attempt to access '{$file}' with a wrong secret key '{$secret_key}' from {$_SERVER['REMOTE_ADDR']}"); die("Access denied."); } nc_search::register_logger(new nc_search_logger_plaintext()); nc_search_scheduler::run(nc_search::INDEXING_NC_CRON);
} $NETCAT_FOLDER = realpath(dirname(__FILE__) . "/../../../../"); putenv("DOCUMENT_ROOT={$NETCAT_FOLDER}"); putenv("HTTP_HOST=localhost"); putenv("REQUEST_URI=/"); require_once "{$NETCAT_FOLDER}/vars.inc.php"; require_once $ROOT_FOLDER . "connect_io.php"; $nc_core = nc_Core::get_object(); $nc_core->modules->load_env('ru'); $lang = $nc_core->lang->detect_lang(); require_once $ADMIN_FOLDER . "lang/" . $lang . ".php"; error_reporting(E_PARSE | E_ERROR | E_WARNING | E_USER_ERROR | E_USER_WARNING); // замедление работы при необходимости $delay = trim(nc_search::get_setting('IndexerConsoleSlowdownDelay')); // секунды if ($delay) { define('NC_SEARCH_INDEXER_DELAY_VALUE', (int) ($delay * 1000000)); // микросекунды function nc_search_indexer_delay() { usleep(NC_SEARCH_INDEXER_DELAY_VALUE); } register_tick_function('nc_search_indexer_delay'); declare (ticks=10000); } while (@ob_end_flush()) { } // Поменяйте nc_search::LOG_CONSOLE на другое значение, если хотите получать // больше или меньше информации о переиндексации nc_search::register_logger(new nc_search_logger_plaintext(nc_search::LOG_CONSOLE)); nc_search_scheduler::run(nc_search::INDEXING_CONSOLE);
if (!nc_search::should('EnableSearch')) { nc_print_status(NETCAT_MODULE_SEARCH_ADMIN_SETTING_SEARCH_DISABLED, "error", array($this->hash_href("#module.search.generalsettings"), "_blank")); return; } $rule_id = $this->get_input('rule_id'); $continue = $this->get_input('continue'); if (!$rule_id && !$continue) { $this->halt_param('rule_id'); } $provider = nc_search::get_provider(); $current_task = $provider->is_reindexing(); // куки должны быть включены if ($rule_id && $current_task || $current_task && $this->get_input('token') != $current_task->get('token')) { $this->halt(NETCAT_MODULE_SEARCH_ADMIN_INDEXING_IN_PROGRESS_ERROR, $current_task->get('area')); } nc_search::register_logger(new nc_search_logger_html()); nc_print_status(NETCAT_MODULE_SEARCH_ADMIN_INDEXING_IN_PROGRESS, 'info'); print "<div class='search_indexing'>"; while (@ob_end_flush()) { } if ($rule_id) { // первый запуск $done = $provider->index_area($rule_id, nc_search::INDEXING_BROWSER); // нам понадобится $curent_task для того, чтобы вытащить из неё token $current_task = $provider->is_reindexing(); } else { if ($continue && $current_task) { // продолжение переиндексации (после перезагрузки страницы) $indexer = new nc_search_indexer(); $done = $indexer->resume($current_task, new nc_search_indexer_runner_web()); }