diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 80bb113..a285ffd 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -82,13 +82,13 @@ final class ApiController extends Controller { if (!empty($val = $this->validateEditorCreate($request))) { $response->set('editor_create', new FormValidation($val)); - $response->getHeader()->setStatusCode(RequestStatusCode::R_400); + $response->header->status = RequestStatusCode::R_400; return; } $doc = $this->createDocFromRequest($request); - $this->createModel($request->getHeader()->getAccount(), $doc, EditorDocMapper::class, 'doc', $request->getOrigin()); + $this->createModel($request->header->account, $doc, EditorDocMapper::class, 'doc', $request->getOrigin()); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Document', 'Document successfully created', $doc); } @@ -104,11 +104,11 @@ final class ApiController extends Controller private function createDocFromRequest(RequestAbstract $request) : EditorDoc { $doc = new EditorDoc(); - $doc->setTitle((string) ($request->getData('title') ?? '')); - $doc->setPlain((string) ($request->getData('plain') ?? '')); - $doc->setContent(Markdown::parse((string) ($request->getData('plain') ?? ''))); + $doc->title = (string) ($request->getData('title') ?? ''); + $doc->plaint = (string) ($request->getData('plain') ?? ''); + $doc->content = Markdown::parse((string) ($request->getData('plain') ?? '')); $doc->setVirtualPath((string) ($request->getData('virtualpath') ?? '/')); - $doc->setCreatedBy(new NullAccount($request->getHeader()->getAccount())); + $doc->createdBy = new NullAccount($request->header->account); if (!empty($tags = $request->getDataJson('tags'))) { foreach ($tags as $tag) { @@ -119,7 +119,7 @@ final class ApiController extends Controller $internalResponse = new HttpResponse(); $this->app->moduleManager->get('Tag')->apiTagCreate($request, $internalResponse, null); - $doc->addTag($internalResponse->get($request->getUri()->__toString())['response']); + $doc->addTag($internalResponse->get($request->uri->__toString())['response']); } else { $doc->addTag(new NullTag((int) $tag['id'])); } @@ -147,7 +147,7 @@ final class ApiController extends Controller /** @var \Modules\Editor\Models\EditorDoc $old */ $old = clone EditorDocMapper::get((int) $request->getData('id')); $new = $this->updateEditorFromRequest($request); - $this->updateModel($request->getHeader()->getAccount(), $old, $new, EditorDocMapper::class, 'doc', $request->getOrigin()); + $this->updateModel($request->header->account, $old, $new, EditorDocMapper::class, 'doc', $request->getOrigin()); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Document', 'Document successfully updated', $new); } @@ -164,9 +164,9 @@ final class ApiController extends Controller { /** @var \Modules\Editor\Models\EditorDoc $doc */ $doc = EditorDocMapper::get((int) $request->getData('id')); - $doc->setTitle((string) ($request->getData('title') ?? $doc->getTitle())); - $doc->setPlain((string) ($request->getData('plain') ?? $doc->getPlain())); - $doc->setContent(Markdown::parse((string) ($request->getData('plain') ?? $doc->getPlain()))); + $doc->title = (string) ($request->getData('title') ?? $doc->title); + $doc->plaint = (string) ($request->getData('plain') ?? $doc->plain); + $doc->content = Markdown::parse((string) ($request->getData('plain') ?? $doc->plain)); return $doc; } @@ -208,7 +208,7 @@ final class ApiController extends Controller { /** @var \Modules\Editor\Models\EditorDoc $doc */ $doc = EditorDocMapper::get((int) $request->getData('id')); - $this->deleteModel($request->getHeader()->getAccount(), $doc, EditorDocMapper::class, 'doc', $request->getOrigin()); + $this->deleteModel($request->header->account, $doc, EditorDocMapper::class, 'doc', $request->getOrigin()); $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Document', 'Document successfully deleted', $doc); } } diff --git a/Controller/BackendController.php b/Controller/BackendController.php index f992a04..73e950c 100755 --- a/Controller/BackendController.php +++ b/Controller/BackendController.php @@ -103,7 +103,7 @@ final class BackendController extends Controller $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1005301001, $request, $response)); $path = \str_replace('+', ' ', (string) ($request->getData('path') ?? '/')); - $docs = EditorDocMapper::withConditional('language', $response->getLanguage())::getByVirtualPath($path, $request->getHeader()->getAccount()); + $docs = EditorDocMapper::withConditional('language', $response->getLanguage())::getByVirtualPath($path, $request->header->account); list($collection, $parent) = CollectionMapper::getCollectionsByPath($path); @@ -133,14 +133,14 @@ final class BackendController extends Controller /** @var \Modules\Editor\Models\EditorDoc $doc */ $doc = EditorDocMapper::withConditional('language', $response->getLanguage())::get((int) $request->getData('id')); - $accountId = $request->getHeader()->getAccount(); + $accountId = $request->header->account; - if ($doc->getCreatedBy()->getId() !== $accountId + if ($doc->createdBy->getId() !== $accountId && !$this->app->accountManager->get($accountId)->hasPermission( PermissionType::READ, $this->app->orgId, $this->app->appName, self::MODULE_NAME, PermissionState::DOC, $doc->getId()) ) { $view->setTemplate('/Web/Backend/Error/403_inline'); - $response->getHeader()->setStatusCode(RequestStatusCode::R_403); + $response->header->status = RequestStatusCode::R_403; return $view; } @@ -179,14 +179,14 @@ final class BackendController extends Controller /** @var \Modules\Editor\Models\EditorDoc $doc */ $doc = EditorDocMapper::get((int) $request->getData('id')); - $accountId = $request->getHeader()->getAccount(); + $accountId = $request->header->account; - if ($doc->getCreatedBy()->getId() !== $accountId + if ($doc->createdBy->getId() !== $accountId && !$this->app->accountManager->get($accountId)->hasPermission( PermissionType::READ, $this->app->orgId, $this->app->appName, self::MODULE_NAME, PermissionState::DOC, $doc->getId()) ) { $view->setTemplate('/Web/Backend/Error/403_inline'); - $response->getHeader()->setStatusCode(RequestStatusCode::R_403); + $response->header->status = RequestStatusCode::R_403; return $view; } diff --git a/Models/EditorDoc.php b/Models/EditorDoc.php index 2e8be2a..99e91d2 100755 --- a/Models/EditorDoc.php +++ b/Models/EditorDoc.php @@ -43,7 +43,7 @@ class EditorDoc implements \JsonSerializable, ArrayableInterface * @var string * @since 1.0.0 */ - private string $title = ''; + public string $title = ''; /** * Content. @@ -51,7 +51,7 @@ class EditorDoc implements \JsonSerializable, ArrayableInterface * @var string * @since 1.0.0 */ - private string $content = ''; + public string $content = ''; /** * Unparsed. @@ -59,7 +59,7 @@ class EditorDoc implements \JsonSerializable, ArrayableInterface * @var string * @since 1.0.0 */ - private string $plain = ''; + public string $plain = ''; /** * Doc path for organizing. @@ -75,7 +75,7 @@ class EditorDoc implements \JsonSerializable, ArrayableInterface * @var \DateTimeImmutable * @since 1.0.0 */ - private \DateTimeImmutable $createdAt; + public \DateTimeImmutable $createdAt; /** * Creator. @@ -83,7 +83,7 @@ class EditorDoc implements \JsonSerializable, ArrayableInterface * @var Account * @since 1.0.0 */ - private Account $createdBy; + public Account $createdBy; /** * Tags. @@ -104,70 +104,6 @@ class EditorDoc implements \JsonSerializable, ArrayableInterface $this->createdAt = new \DateTimeImmutable('now'); } - /** - * Get the content - * - * @return string - * - * @since 1.0.0 - */ - public function getContent() : string - { - return $this->content; - } - - /** - * Set the content - * - * @param string $content Content - * - * @return void - * - * @since 1.0.0 - */ - public function setContent(string $content) : void - { - $this->content = $content; - } - - /** - * Set the plain text - * - * @param string $plain Plain text - * - * @return void - * - * @since 1.0.0 - */ - public function setPlain(string $plain) : void - { - $this->plain = $plain; - } - - /** - * Get the plain text - * - * @return string - * - * @since 1.0.0 - */ - public function getPlain() : string - { - return $this->plain; - } - - /** - * Get created at - * - * @return \DateTimeImmutable - * - * @since 1.0.0 - */ - public function getCreatedAt() : \DateTimeImmutable - { - return $this->createdAt; - } - /** * Get the id * @@ -180,56 +116,6 @@ class EditorDoc implements \JsonSerializable, ArrayableInterface return $this->id; } - /** - * Get created by - * - * @return Account - * - * @since 1.0.0 - */ - public function getCreatedBy() : Account - { - return $this->createdBy; - } - - /** - * Set created by - * - * @param Account $account Creator - * - * @since 1.0.0 - */ - public function setCreatedBy(Account $account) : void - { - $this->createdBy = $account; - } - - /** - * Get the title - * - * @return string - * - * @since 1.0.0 - */ - public function getTitle() : string - { - return $this->title; - } - - /** - * Set the title - * - * @param string $title Title - * - * @return mixed - * - * @since 1.0.0 - */ - public function setTitle(string $title) - { - $this->title = $title; - } - /** * Get the path * diff --git a/Theme/Backend/Components/Editor/TextView.php b/Theme/Backend/Components/Editor/TextView.php index c1b5485..2eb1cf3 100755 --- a/Theme/Backend/Components/Editor/TextView.php +++ b/Theme/Backend/Components/Editor/TextView.php @@ -44,7 +44,7 @@ class TextView extends View * @var string * @since 1.0.0 */ - private string $name = ''; + public string $name = ''; /** * Form id diff --git a/Theme/Backend/editor-create.tpl.php b/Theme/Backend/editor-create.tpl.php index cd766ae..4689175 100755 --- a/Theme/Backend/editor-create.tpl.php +++ b/Theme/Backend/editor-create.tpl.php @@ -28,7 +28,7 @@ echo $this->getData('nav')->render(); ?>