draft app setup

This commit is contained in:
Dennis Eichhorn 2020-02-25 20:06:38 +01:00
parent 38230a8ee1
commit 31ce4d81ec

View File

@ -31,6 +31,7 @@ use phpOMS\Account\AccountType;
use phpOMS\Account\GroupStatus; use phpOMS\Account\GroupStatus;
use phpOMS\Account\PermissionAbstract; use phpOMS\Account\PermissionAbstract;
use phpOMS\Account\PermissionOwner; use phpOMS\Account\PermissionOwner;
use phpOMS\Application\ApplicationManager;
use phpOMS\Localization\Localization; use phpOMS\Localization\Localization;
use phpOMS\Message\Http\HttpRequest; use phpOMS\Message\Http\HttpRequest;
use phpOMS\Message\Http\RequestMethod; use phpOMS\Message\Http\RequestMethod;
@ -153,6 +154,15 @@ final class ApiController extends Controller
*/ */
public function apiInstallApplication(RequestAbstract $request, ResponseAbstract $response, $data = null) : void public function apiInstallApplication(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
{ {
$appManager = new ApplicationManager($this->app->moduleManager);
$app = $request->getData('appSrc');
if (!\file_exists(__DIR__ . '/../../../' . $app)) {
return;
}
$appManager->install(__DIR__ . '/../../../' . $app, __DIR__ . '/../../../' . $request->getData('appDest') ?? '');
$this->apiActivateTheme($request, $response); $this->apiActivateTheme($request, $response);
} }
@ -171,14 +181,14 @@ final class ApiController extends Controller
*/ */
public function apiActivateTheme(RequestAbstract $request, ResponseAbstract $response, $data = null) : void public function apiActivateTheme(RequestAbstract $request, ResponseAbstract $response, $data = null) : void
{ {
if (\file_exists(__DIR__ . '/../../../Web/' . $request->getData('app') . '/css')) { if (\file_exists(__DIR__ . '/../../../' . $request->getData('appDest') . '/css')) {
Directory::delete(__DIR__ . '/../../../Web/' . $request->getData('app') . '/css'); Directory::delete(__DIR__ . '/../../../' . $request->getData('appDest') . '/css');
} }
if (\file_exists(__DIR__ . '/../../../Web/' . $request->getData('app') . '/' . $request->getData('theme') . '/css')) { if (\file_exists(__DIR__ . '/../../../' . $request->getData('appDest') . '/' . $request->getData('theme') . '/css')) {
Directory::copy( Directory::copy(
__DIR__ . '/../../../Web/' . $request->getData('app') . '/' . $request->getData('theme') . '/css', __DIR__ . '/../../../' . $request->getData('appDest') . '/' . $request->getData('theme') . '/css',
__DIR__ . '/../../../Web/' . $request->getData('app') . '/css', __DIR__ . '/../../../' . $request->getData('appDest') . '/css',
true true
); );
} }