Example #1
0
$require_admin = true;
require_once '../../include/baseTheme.php';
require_once 'modules/search/indexer.class.php';
header('Content-Type: application/json; charset=utf-8');

// fetch number of courses waiting in index queue
$n = Database::get()->querySingle("SELECT COUNT(id) AS count FROM idx_queue")->count;
$rem = $n;

if ($n > 0) {
    // fetch next waiting course
    $cid = Database::get()->querySingle("SELECT course_id FROM idx_queue LIMIT 1")->course_id;
    
    // re-index
    $idx = new Indexer();
    $idx->removeAllByCourse($cid);
    $idx->storeAllByCourse($cid);
    set_time_limit(0);
    $idx->getIndex()->optimize();
    
    // remove course from queue
    Database::get()->query("DELETE FROM idx_queue WHERE course_id = ?d", $cid);
    $rem = $n - 1;
}

$data = array(
    "remaining" => $rem
);

echo json_encode($data);
exit();