예제 #1
0
<?php

require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php";
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/support/include.php";
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/support/prolog.php";
IncludeModuleLangFile(__FILE__);
if (!check_bitrix_sessid("b_sessid")) {
    die;
}
if (isset($_REQUEST["action"]) && $_REQUEST["action"] === 'reindex' && isset($_REQUEST["data"]) && is_array($_REQUEST["data"])) {
    $interval = intval($_REQUEST["data"]["interval"]);
    $firstID = $_REQUEST["data"]["firstID"];
    $lastID = CSupportSearch::reindexAllTickets($firstID, $interval ?: 10);
    // build progress bar
    $maxID = CTicket::getMaxId();
    $progressBar = new CAdminMessage(array("DETAILS" => str_replace(array('#LAST_ID#', '#MAX_ID#'), array($lastID, $maxID), GetMessage('SUP_SEARCH_NDX_PROGRESS_BAR')), "HTML" => true, "TYPE" => "PROGRESS", "PROGRESS_TOTAL" => $maxID, "PROGRESS_VALUE" => $lastID));
    $progressBarHtml = $progressBar->Show();
    echo CUtil::PhpToJSObject(array('LAST_ID' => $lastID, 'BAR' => $progressBarHtml));
} elseif ($_REQUEST['MY_AJAX'] == 'restartAgentsAJAX') {
    CTicketReminder::StartAgent();
    echo json_encode(array("ALL_OK" => "OK"));
} else {
    echo '{};';
}