Beispiel #1
0
    nc_print_status(NETCAT_MODULE_SEARCH_ADMIN_SETTING_SEARCH_DISABLED, "error", array($this->hash_href("#module.search.generalsettings"), "_top"));
}
$rules = nc_search::load('nc_search_rule', "SELECT * FROM `%t%` ORDER BY `Rule_ID`")->set_output_encoding(nc_core('NC_CHARSET'));
if (count($rules)) {
    foreach ($rules as $r) {
        // строчка «последняя индексация»
        $last_start_time = $r->get('last_start_time');
        $last_finish_time = $r->get('last_finish_time');
        if (!$last_start_time) {
            $last_run = NETCAT_MODULE_SEARCH_ADMIN_RULE_NEVER_RUN . ".";
        } else {
            $last_run = NETCAT_MODULE_SEARCH_ADMIN_RULE_LAST_RUN . ": " . nc_search_util::format_time($last_start_time) . " (";
            if ($last_finish_time < $last_start_time) {
                $last_run .= NETCAT_MODULE_SEARCH_ADMIN_RULE_LAST_RUN_NOT_FINISHED;
            } else {
                $last_run .= NETCAT_MODULE_SEARCH_ADMIN_RULE_LAST_RUN_DURATION . " " . nc_search_util::format_seconds($last_finish_time - $last_start_time);
            }
            $last_run .= ").";
        }
        // конец формирования строчки «последняя индексация»
        // строчка с результатми последней индексации
        $stats = "";
        if ($last_start_time) {
            $result = $r->get('last_result');
            $stats = "<div class='stats'>" . sprintf(NETCAT_MODULE_SEARCH_ADMIN_RULE_STATISTICS, $result['processed'], $result['deleted'], $result['checked']) . ".</div>";
        }
        // конец формирования строчки с результатами
        // «подробнее»
        $details = "<div class='site'><strong>" . NETCAT_MODULE_SEARCH_ADMIN_RULE_SITE . "</strong>: " . $this->hash_link("#site.map({$r->get('site_id')})", $r->get_site_name()) . "</div>";
        if ($r->get('area_string')) {
            // sic, not get_area_string()
Beispiel #2
0
    $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());
    }
}
// check again if we're done
if (!$current_task || $done) {
    $stats = "";
    if ($current_task) {
        $stats = sprintf("<br />" . NETCAT_MODULE_SEARCH_ADMIN_INDEXING_DONE_STATS, nc_search_util::format_seconds(time() - $current_task->get('start_time')), $current_task->get('total_processed'), $current_task->get('total_checked'), $current_task->get('total_not_found'), $current_task->get('total_deleted'));
    }
    nc_print_status(NETCAT_MODULE_SEARCH_ADMIN_INDEXING_DONE . $stats, 'ok');
    echo "<script type='text/javascript'>\$nc(document.body).scrollTop(100000);</script>";
} else {
    echo "<script type='text/javascript'>", "window.location = '?continue=1&token=", $current_task->get('token'), "';", "</script>\n";
}
print "</div>";