コード例 #1
0
ファイル: netcat_cron.php プロジェクト: Blu2z/implsk
<?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);
コード例 #2
0
ファイル: console.php プロジェクト: Blu2z/implsk
}
$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);
コード例 #3
0
ファイル: indexing_on_request.php プロジェクト: Blu2z/implsk
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());
    }