added superexpert mode
This commit is contained in:
@@ -109,8 +109,7 @@ class UserController extends mfBaseController
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected function saveAction()
|
||||
{
|
||||
$r = $this->request;
|
||||
@@ -342,4 +341,75 @@ class UserController extends mfBaseController
|
||||
|
||||
return $me->isAdmin();
|
||||
}
|
||||
|
||||
protected function apiAction() {
|
||||
if(!$this->me->is(["Admin"])) {
|
||||
$this->redirect("Dashboard");
|
||||
}
|
||||
$do = $this->request->do;
|
||||
$data = [];
|
||||
|
||||
switch($do) {
|
||||
case "sse":
|
||||
$return = $this->startSuperexpertApi();
|
||||
break;
|
||||
case "ese":
|
||||
$return = $this->extendSuperexpertApi();
|
||||
break;
|
||||
case "endse":
|
||||
$return = $this->endSuperexpertApi();
|
||||
break;
|
||||
default:
|
||||
$return = false;
|
||||
}
|
||||
|
||||
if(!is_array($return) || !count($return)) {
|
||||
$data = ["status" => "error"];
|
||||
$this->returnJson($data);
|
||||
}
|
||||
$data['status'] = "OK";
|
||||
$data['result'] = $return;
|
||||
$this->returnJson($data);
|
||||
}
|
||||
|
||||
private function startSuperexpertApi() {
|
||||
$me = new User();
|
||||
$me->loadMe();
|
||||
|
||||
if($me->superexpertEnabled() ) {
|
||||
// superexpert mode started already
|
||||
return false;
|
||||
}
|
||||
|
||||
$me->superexpertStart(1800);
|
||||
|
||||
return ["valid_to" => $me->getFlag("superexpert_lock_date")->value()];
|
||||
}
|
||||
|
||||
private function extendSuperexpertApi() {
|
||||
$me = new User();
|
||||
$me->loadMe();
|
||||
|
||||
if(!$me->superexpertEnabled() ) {
|
||||
// superexpert mode must be started already
|
||||
$this->log->debug("se not started");
|
||||
return false;
|
||||
}
|
||||
$this->log->debug("ese");
|
||||
$me->superexpertExtend(1800);
|
||||
|
||||
return ["valid_to" => $me->getFlag("superexpert_lock_date")->value()];
|
||||
}
|
||||
|
||||
private function endSuperexpertApi() {
|
||||
$me = new User();
|
||||
$me->loadMe();
|
||||
|
||||
if($me->superexpertEnabled() ) {
|
||||
$me->superexpertStop();
|
||||
}
|
||||
|
||||
|
||||
return ["valid_to" => null];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user