Ejemplo n.º 1
0
function runner_eval($runner, $info, $answer)
{
    global $ConfSitePATH;
    if (isset($runner->load) && $runner->load[0] == "/") {
        require_once $runner->load;
    } else {
        if (isset($runner->load)) {
            require_once $ConfSitePATH . "/" . $runner->load;
        }
    }
    $answer->result = call_user_func($runner->eval, $info);
}
// checkup
if ($checkt > 0 && ($answer = ContactView::runner_json($Info, $checkt, $Offset))) {
    if ($answer->status == "working" && @$_POST["stop"]) {
        ContactView::runner_write($Info, $checkt, "");
        $now = microtime(true);
        do {
            $answer = ContactView::runner_json($Info, $checkt, $Offset);
        } while ($answer->status == "working" && microtime(true) - $now < 0.1);
    }
    if ($answer->status != "working" && $Queueid > 0) {
        $Conf->qe("delete from ExecutionQueue where queueid={$Queueid} and repoid=" . $Info->repo->repoid);
    }
    if ($answer->status == "done" && $Me->can_run($Pset, $Runner, $User) && $Runner->eval) {
        runner_eval($Runner, $Info, $answer);
    }
    $Conf->ajaxExit($answer);
}
// if not checkup, then we’re gonna run it; check permission
if (!$Me->can_run($Pset, $Runner, $User)) {