public static function FlmngrServer::flmngrRequest in N1ED - Visual editor as CKEditor plugin with Bootstrap support 8.2
Processes a request to file manager.
1 call to FlmngrServer::flmngrRequest()
- FlmngrController::flmngr in src/
Controller/ FlmngrController.php - Calls file manager server side and returns a result to client.
File
- src/
Flmngr/ FlmngrServer/ FlmngrServer.php, line 29
Class
- FlmngrServer
- File Manager server. This is a entry point for processing any of incoming Flmngr client's request. It takes "action" parameter from request and decides which request processor to use and executes it, then returns a result as…
Namespace
Drupal\n1ed\Flmngr\FlmngrServerCode
public static function flmngrRequest($config, RequestStack $request_stack) {
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
$p = $config['dirFiles'];
$re = '/\\\\(?:.(?!\\\\))+$/m';
preg_match($re, $p, $matches);
$match = $matches[0];
$config['dirFiles'] = str_replace($match, "/" . substr($match, 1), $p);
}
$action = NULL;
if ($request_stack
->getCurrentRequest()->request
->get("action") != NULL) {
$action = $request_stack
->getCurrentRequest()->request
->get("action");
}
if ($action == NULL && $request_stack
->getCurrentRequest()->request
->get("data") != NULL) {
$configUploader = [
"dirFiles" => $config["dirFiles"],
"dirTmp" => $config["dirTmp"],
"config" => isset($config["uploader"]) ? $config["uploader"] : [],
];
FileUploaderServer::fileUploadRequest($configUploader, $request_stack, $_FILES);
return;
}
if ($action == NULL && $request_stack
->getCurrentRequest()->query
->get("action") != NULL) {
$action = $request_stack
->getCurrentRequest()->query
->get("action");
}
if ((isset($_FILES["file"]) || isset($_FILES["upload"])) && !$request_stack
->getCurrentRequest()->request
->get("action") && !$request_stack
->getCurrentRequest()->request
->get('data')) {
$json = array(
"action" => "upload",
);
$_POST["data"] = json_encode($json);
$action = 'upload';
}
try {
switch ($action) {
case 'dirList':
$resp = FlmngrServer::reqDirList($config, $request_stack);
break;
case 'dirCreate':
$resp = FlmngrServer::reqDirCreate($config, $request_stack);
break;
case 'dirRename':
$resp = FlmngrServer::reqDirRename($config, $request_stack);
break;
case 'dirDelete':
$resp = FlmngrServer::reqDirDelete($config, $request_stack);
break;
case 'dirCopy':
$resp = FlmngrServer::reqDirCopy($config, $request_stack);
break;
case 'dirMove':
$resp = FlmngrServer::reqDirMove($config, $request_stack);
break;
case 'dirDownload':
$resp = FlmngrServer::reqDirDownload($config, $request_stack);
break;
case 'fileList':
$resp = FlmngrServer::reqFileList($config, $request_stack);
break;
case 'fileDelete':
$resp = FlmngrServer::reqFileDelete($config, $request_stack);
break;
case 'fileCopy':
$resp = FlmngrServer::reqFileCopy($config, $request_stack);
break;
case 'fileRename':
$resp = FlmngrServer::reqFileRename($config, $request_stack);
break;
case 'fileMove':
$resp = FlmngrServer::reqFileMove($config, $request_stack);
break;
case 'fileResize':
$resp = FlmngrServer::reqFileResize($config);
break;
case 'fileOriginal':
// Will die after valid response or throw MessageException.
$resp = FlmngrServer::reqFileOriginal($config, $request_stack);
break;
case 'filePreview':
// Will die after valid response or throw MessageException.
$resp = FlmngrServer::reqFilePreview($config, $request_stack);
break;
case 'upload':
$resp = FlmngrServer::upload($config, $request_stack);
break;
case 'getVersion':
$resp = FlmngrServer::getVersion();
break;
default:
$resp = new Response(Message::createMessage(Message::ACTION_NOT_FOUND), NULL);
}
} catch (MessageException $e) {
$resp = new Response($e
->getFailMessage(), NULL);
}
$strResp = JsonCodec::staticToJson($resp);
try {
http_response_code(200);
header('Content-Type: application/json; charset=UTF-8');
print $strResp;
} catch (Exception $e) {
error_log($e);
}
}