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)) {