diff --git a/Module.php b/Module.php index 04c12fcb..066bc765 100644 --- a/Module.php +++ b/Module.php @@ -392,7 +392,7 @@ protected function addAclRules() public function setPublicAppLayout(Event $event) { $routeName = $event->getRouteMatch()->getMatchedRouteName(); - if (0 !== strpos($routeName, 'scripto')) { + if (0 !== strpos($routeName, 'site/scripto')) { // Not a public application Scripto route. return; } diff --git a/config/module.config.php b/config/module.config.php index e3d63f51..ab81e423 100644 --- a/config/module.config.php +++ b/config/module.config.php @@ -90,293 +90,281 @@ ], 'router' => [ 'routes' => [ - 'scripto' => [ - 'type' => 'Segment', - 'options' => [ - 'route' => '/scripto[/s/:site-slug/:site-project-id][/:action]', - 'constraints' => [ - 'site-slug' => '[a-zA-Z0-9_-]+', - 'site-project-id' => '\d+', - 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', - ], - 'defaults' => [ - '__NAMESPACE__' => 'Scripto\Controller\PublicApp', - 'controller' => 'index', - 'action' => 'index', - ], - ], - ], - 'scripto-user-contributions' => [ - 'type' => 'Segment', - 'options' => [ - 'route' => '/scripto[/s/:site-slug/:site-project-id]/user/:user-id/contributions', - 'constraints' => [ - 'site-slug' => '[a-zA-Z0-9_-]+', - 'site-project-id' => '\d+', - ], - 'defaults' => [ - '__NAMESPACE__' => 'Scripto\Controller\PublicApp', - 'controller' => 'user', - 'action' => 'contributions', - ], - ], - ], - 'scripto-user-watchlist' => [ - 'type' => 'Segment', - 'options' => [ - 'route' => '/scripto[/s/:site-slug/:site-project-id]/user/:user-id/watchlist', - 'constraints' => [ - 'site-slug' => '[a-zA-Z0-9_-]+', - 'site-project-id' => '\d+', - ], - 'defaults' => [ - '__NAMESPACE__' => 'Scripto\Controller\PublicApp', - 'controller' => 'user', - 'action' => 'watchlist', - ], - ], - ], - 'scripto-project' => [ - 'type' => 'Segment', - 'options' => [ - 'route' => '/scripto[/s/:site-slug/:site-project-id]/project[/:action]', - 'constraints' => [ - 'site-slug' => '[a-zA-Z0-9_-]+', - 'site-project-id' => '\d+', - 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', - ], - 'defaults' => [ - '__NAMESPACE__' => 'Scripto\Controller\PublicApp', - 'controller' => 'project', - 'action' => 'browse', - ], - ], - ], - 'scripto-project-id' => [ - 'type' => 'Segment', - 'options' => [ - 'route' => '/scripto[/s/:site-slug/:site-project-id]/:project-id[/:action]', - 'constraints' => [ - 'site-slug' => '[a-zA-Z0-9_-]+', - 'site-project-id' => '\d+', - 'project-id' => '\d+', - 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', - ], - 'defaults' => [ - '__NAMESPACE__' => 'Scripto\Controller\PublicApp', - 'controller' => 'project', - 'action' => 'show', - ], - ], - ], - 'scripto-item' => [ - 'type' => 'Segment', - 'options' => [ - 'route' => '/scripto[/s/:site-slug/:site-project-id]/:project-id/item[/:action]', - 'constraints' => [ - 'site-slug' => '[a-zA-Z0-9_-]+', - 'site-project-id' => '\d+', - 'project-id' => '\d+', - 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', - ], - 'defaults' => [ - '__NAMESPACE__' => 'Scripto\Controller\PublicApp', - 'controller' => 'item', - 'action' => 'browse', - ], - ], - ], - 'scripto-item-id' => [ - 'type' => 'Segment', - 'options' => [ - 'route' => '/scripto[/s/:site-slug/:site-project-id]/:project-id/:item-id[/:action]', - 'constraints' => [ - 'site-slug' => '[a-zA-Z0-9_-]+', - 'site-project-id' => '\d+', - 'project-id' => '\d+', - 'item-id' => '\d+', - 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', - ], - 'defaults' => [ - '__NAMESPACE__' => 'Scripto\Controller\PublicApp', - 'controller' => 'item', - 'action' => 'show', - ], - ], - ], - 'scripto-media' => [ - 'type' => 'Segment', - 'options' => [ - 'route' => '/scripto[/s/:site-slug/:site-project-id]/:project-id/:item-id/media[/:action]', - 'constraints' => [ - 'site-slug' => '[a-zA-Z0-9_-]+', - 'site-project-id' => '\d+', - 'project-id' => '\d+', - 'item-id' => '\d+', - 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', - ], - 'defaults' => [ - '__NAMESPACE__' => 'Scripto\Controller\PublicApp', - 'controller' => 'media', - 'action' => 'browse', - ], - ], - ], - 'scripto-media-id' => [ - 'type' => 'Segment', - 'options' => [ - 'route' => '/scripto[/s/:site-slug/:site-project-id]/:project-id/:item-id/:media-id[/:action]', - 'constraints' => [ - 'site-slug' => '[a-zA-Z0-9_-]+', - 'site-project-id' => '\d+', - 'project-id' => '\d+', - 'item-id' => '\d+', - 'media-id' => '\d+', - 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + 'site' => [ + 'child_routes' => [ + 'scripto' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/scripto/:site-project-id[/:action]', + 'constraints' => [ + 'site-project-id' => '\d+', + 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + ], + 'defaults' => [ + '__NAMESPACE__' => 'Scripto\Controller\PublicApp', + 'controller' => 'index', + 'action' => 'index', + ], + ], ], - 'defaults' => [ - '__NAMESPACE__' => 'Scripto\Controller\PublicApp', - 'controller' => 'media', - 'action' => 'show', + 'scripto-user-contributions' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/scripto/:site-project-id/user/:user-id/contributions', + 'constraints' => [ + 'site-project-id' => '\d+', + ], + 'defaults' => [ + '__NAMESPACE__' => 'Scripto\Controller\PublicApp', + 'controller' => 'user', + 'action' => 'contributions', + ], + ], ], - ], - ], - 'scripto-revision' => [ - 'type' => 'Segment', - 'options' => [ - 'route' => '/scripto[/s/:site-slug/:site-project-id]/:project-id/:item-id/:media-id/revision[/:action]', - 'constraints' => [ - 'site-slug' => '[a-zA-Z0-9_-]+', - 'site-project-id' => '\d+', - 'project-id' => '\d+', - 'item-id' => '\d+', - 'media-id' => '\d+', - 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + 'scripto-user-watchlist' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/scripto/:site-project-id/user/:user-id/watchlist', + 'constraints' => [ + 'site-project-id' => '\d+', + ], + 'defaults' => [ + '__NAMESPACE__' => 'Scripto\Controller\PublicApp', + 'controller' => 'user', + 'action' => 'watchlist', + ], + ], ], - 'defaults' => [ - '__NAMESPACE__' => 'Scripto\Controller\PublicApp', - 'controller' => 'revision', - 'action' => 'browse', + 'scripto-project' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/scripto/:site-project-id/project[/:action]', + 'constraints' => [ + 'site-project-id' => '\d+', + 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + ], + 'defaults' => [ + '__NAMESPACE__' => 'Scripto\Controller\PublicApp', + 'controller' => 'project', + 'action' => 'browse', + ], + ], ], - ], - ], - 'scripto-revision-id' => [ - 'type' => 'Segment', - 'options' => [ - 'route' => '/scripto[/s/:site-slug/:site-project-id]/:project-id/:item-id/:media-id/revision/:revision-id[/:action]', - 'constraints' => [ - 'site-slug' => '[a-zA-Z0-9_-]+', - 'site-project-id' => '\d+', - 'project-id' => '\d+', - 'item-id' => '\d+', - 'media-id' => '\d+', - 'revision-id' => '\d+', - 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + 'scripto-project-id' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/scripto/:site-project-id/:project-id[/:action]', + 'constraints' => [ + 'site-project-id' => '\d+', + 'project-id' => '\d+', + 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + ], + 'defaults' => [ + '__NAMESPACE__' => 'Scripto\Controller\PublicApp', + 'controller' => 'project', + 'action' => 'show', + ], + ], ], - 'defaults' => [ - '__NAMESPACE__' => 'Scripto\Controller\PublicApp', - 'controller' => 'revision', - 'action' => 'show', + 'scripto-item' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/scripto/:site-project-id/:project-id/item[/:action]', + 'constraints' => [ + 'site-project-id' => '\d+', + 'project-id' => '\d+', + 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + ], + 'defaults' => [ + '__NAMESPACE__' => 'Scripto\Controller\PublicApp', + 'controller' => 'item', + 'action' => 'browse', + ], + ], ], - ], - ], - 'scripto-revision-compare' => [ - 'type' => 'Segment', - 'options' => [ - 'route' => '/scripto[/s/:site-slug/:site-project-id]/:project-id/:item-id/:media-id/revision/:from-revision-id/:to-revision-id[/:action]', - 'constraints' => [ - 'site-slug' => '[a-zA-Z0-9_-]+', - 'site-project-id' => '\d+', - 'project-id' => '\d+', - 'item-id' => '\d+', - 'media-id' => '\d+', - 'from-revision-id' => '\d+', - 'to-revision-id' => '\d+', - 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + 'scripto-item-id' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/scripto/:site-project-id/:project-id/:item-id[/:action]', + 'constraints' => [ + 'site-project-id' => '\d+', + 'project-id' => '\d+', + 'item-id' => '\d+', + 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + ], + 'defaults' => [ + '__NAMESPACE__' => 'Scripto\Controller\PublicApp', + 'controller' => 'item', + 'action' => 'show', + ], + ], ], - 'defaults' => [ - '__NAMESPACE__' => 'Scripto\Controller\PublicApp', - 'controller' => 'revision', - 'action' => 'compare', + 'scripto-media' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/scripto/:site-project-id/:project-id/:item-id/media[/:action]', + 'constraints' => [ + 'site-project-id' => '\d+', + 'project-id' => '\d+', + 'item-id' => '\d+', + 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + ], + 'defaults' => [ + '__NAMESPACE__' => 'Scripto\Controller\PublicApp', + 'controller' => 'media', + 'action' => 'browse', + ], + ], ], - ], - ], - 'scripto-talk-media-id' => [ - 'type' => 'Segment', - 'options' => [ - 'route' => '/scripto[/s/:site-slug/:site-project-id]/:project-id/:item-id/:media-id/talk[/:action]', - 'constraints' => [ - 'site-slug' => '[a-zA-Z0-9_-]+', - 'site-project-id' => '\d+', - 'project-id' => '\d+', - 'item-id' => '\d+', - 'media-id' => '\d+', - 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + 'scripto-media-id' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/scripto/:site-project-id/:project-id/:item-id/:media-id[/:action]', + 'constraints' => [ + 'site-project-id' => '\d+', + 'project-id' => '\d+', + 'item-id' => '\d+', + 'media-id' => '\d+', + 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + ], + 'defaults' => [ + '__NAMESPACE__' => 'Scripto\Controller\PublicApp', + 'controller' => 'media', + 'action' => 'show', + ], + ], ], - 'defaults' => [ - '__NAMESPACE__' => 'Scripto\Controller\PublicApp', - 'controller' => 'media', - 'action' => 'show-talk', + 'scripto-revision' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/scripto/:site-project-id/:project-id/:item-id/:media-id/revision[/:action]', + 'constraints' => [ + 'site-project-id' => '\d+', + 'project-id' => '\d+', + 'item-id' => '\d+', + 'media-id' => '\d+', + 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + ], + 'defaults' => [ + '__NAMESPACE__' => 'Scripto\Controller\PublicApp', + 'controller' => 'revision', + 'action' => 'browse', + ], + ], ], - ], - ], - 'scripto-talk-revision' => [ - 'type' => 'Segment', - 'options' => [ - 'route' => '/scripto[/s/:site-slug/:site-project-id]/:project-id/:item-id/:media-id/talk/revision[/:action]', - 'constraints' => [ - 'site-slug' => '[a-zA-Z0-9_-]+', - 'site-project-id' => '\d+', - 'project-id' => '\d+', - 'item-id' => '\d+', - 'media-id' => '\d+', - 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + 'scripto-revision-id' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/scripto/:site-project-id/:project-id/:item-id/:media-id/revision/:revision-id[/:action]', + 'constraints' => [ + 'site-project-id' => '\d+', + 'project-id' => '\d+', + 'item-id' => '\d+', + 'media-id' => '\d+', + 'revision-id' => '\d+', + 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + ], + 'defaults' => [ + '__NAMESPACE__' => 'Scripto\Controller\PublicApp', + 'controller' => 'revision', + 'action' => 'show', + ], + ], ], - 'defaults' => [ - '__NAMESPACE__' => 'Scripto\Controller\PublicApp', - 'controller' => 'revision', - 'action' => 'browse-talk', + 'scripto-revision-compare' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/scripto/:site-project-id/:project-id/:item-id/:media-id/revision/:from-revision-id/:to-revision-id[/:action]', + 'constraints' => [ + 'site-project-id' => '\d+', + 'project-id' => '\d+', + 'item-id' => '\d+', + 'media-id' => '\d+', + 'from-revision-id' => '\d+', + 'to-revision-id' => '\d+', + 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + ], + 'defaults' => [ + '__NAMESPACE__' => 'Scripto\Controller\PublicApp', + 'controller' => 'revision', + 'action' => 'compare', + ], + ], ], - ], - ], - 'scripto-talk-revision-id' => [ - 'type' => 'Segment', - 'options' => [ - 'route' => '/scripto[/s/:site-slug/:site-project-id]/:project-id/:item-id/:media-id/talk/revision/:revision-id[/:action]', - 'constraints' => [ - 'site-slug' => '[a-zA-Z0-9_-]+', - 'site-project-id' => '\d+', - 'project-id' => '\d+', - 'item-id' => '\d+', - 'media-id' => '\d+', - 'revision-id' => '\d+', - 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + 'scripto-talk-media-id' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/scripto/:site-project-id/:project-id/:item-id/:media-id/talk[/:action]', + 'constraints' => [ + 'site-project-id' => '\d+', + 'project-id' => '\d+', + 'item-id' => '\d+', + 'media-id' => '\d+', + 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + ], + 'defaults' => [ + '__NAMESPACE__' => 'Scripto\Controller\PublicApp', + 'controller' => 'media', + 'action' => 'show-talk', + ], + ], ], - 'defaults' => [ - '__NAMESPACE__' => 'Scripto\Controller\PublicApp', - 'controller' => 'revision', - 'action' => 'show-talk', + 'scripto-talk-revision' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/scripto/:site-project-id/:project-id/:item-id/:media-id/talk/revision[/:action]', + 'constraints' => [ + 'site-project-id' => '\d+', + 'project-id' => '\d+', + 'item-id' => '\d+', + 'media-id' => '\d+', + 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + ], + 'defaults' => [ + '__NAMESPACE__' => 'Scripto\Controller\PublicApp', + 'controller' => 'revision', + 'action' => 'browse-talk', + ], + ], ], - ], - ], - 'scripto-talk-revision-compare' => [ - 'type' => 'Segment', - 'options' => [ - 'route' => '/scripto[/s/:site-slug/:site-project-id]/:project-id/:item-id/:media-id/talk/revision/:from-revision-id/:to-revision-id[/:action]', - 'constraints' => [ - 'site-slug' => '[a-zA-Z0-9_-]+', - 'site-project-id' => '\d+', - 'project-id' => '\d+', - 'item-id' => '\d+', - 'media-id' => '\d+', - 'from-revision-id' => '\d+', - 'to-revision-id' => '\d+', - 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + 'scripto-talk-revision-id' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/scripto/:site-project-id/:project-id/:item-id/:media-id/talk/revision/:revision-id[/:action]', + 'constraints' => [ + 'site-project-id' => '\d+', + 'project-id' => '\d+', + 'item-id' => '\d+', + 'media-id' => '\d+', + 'revision-id' => '\d+', + 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + ], + 'defaults' => [ + '__NAMESPACE__' => 'Scripto\Controller\PublicApp', + 'controller' => 'revision', + 'action' => 'show-talk', + ], + ], ], - 'defaults' => [ - '__NAMESPACE__' => 'Scripto\Controller\PublicApp', - 'controller' => 'revision', - 'action' => 'compare-talk', + 'scripto-talk-revision-compare' => [ + 'type' => 'Segment', + 'options' => [ + 'route' => '/scripto/:site-project-id/:project-id/:item-id/:media-id/talk/revision/:from-revision-id/:to-revision-id[/:action]', + 'constraints' => [ + 'site-project-id' => '\d+', + 'project-id' => '\d+', + 'item-id' => '\d+', + 'media-id' => '\d+', + 'from-revision-id' => '\d+', + 'to-revision-id' => '\d+', + 'action' => '[a-zA-Z][a-zA-Z0-9_-]*', + ], + 'defaults' => [ + '__NAMESPACE__' => 'Scripto\Controller\PublicApp', + 'controller' => 'revision', + 'action' => 'compare-talk', + ], + ], ], ], ], diff --git a/src/Api/Representation/ScriptoItemRepresentation.php b/src/Api/Representation/ScriptoItemRepresentation.php index e754f8f9..19efffb3 100644 --- a/src/Api/Representation/ScriptoItemRepresentation.php +++ b/src/Api/Representation/ScriptoItemRepresentation.php @@ -21,7 +21,7 @@ public function url($action = null, $canonical = false) } $urlHelper = $this->getViewHelper('Url'); return $urlHelper( - 'scripto-item-id', + 'site/scripto-item-id', [ 'action' => $action, 'project-id' => $this->resource->getScriptoProject()->getId(), diff --git a/src/Api/Representation/ScriptoMediaRepresentation.php b/src/Api/Representation/ScriptoMediaRepresentation.php index b29491f4..ddd0e32d 100644 --- a/src/Api/Representation/ScriptoMediaRepresentation.php +++ b/src/Api/Representation/ScriptoMediaRepresentation.php @@ -22,7 +22,7 @@ public function url($action = null, $canonical = false) } $urlHelper = $this->getViewHelper('Url'); return $urlHelper( - 'scripto-media-id', + 'site/scripto-media-id', [ 'action' => $action, 'project-id' => $this->resource->getScriptoItem()->getScriptoProject()->getId(), diff --git a/src/Api/Representation/ScriptoProjectRepresentation.php b/src/Api/Representation/ScriptoProjectRepresentation.php index 134ad0e7..2e89e369 100644 --- a/src/Api/Representation/ScriptoProjectRepresentation.php +++ b/src/Api/Representation/ScriptoProjectRepresentation.php @@ -13,7 +13,7 @@ public function url($action = null, $canonical = false) } $urlHelper = $this->getViewHelper('Url'); return $urlHelper( - 'scripto-project-id', + 'site/scripto-project-id', [ 'action' => $action, 'project-id' => $this->resource->getId(), diff --git a/src/Controller/PublicApp/IndexController.php b/src/Controller/PublicApp/IndexController.php index ba4eadbc..3f374e5f 100644 --- a/src/Controller/PublicApp/IndexController.php +++ b/src/Controller/PublicApp/IndexController.php @@ -13,6 +13,7 @@ public function indexAction() $userInfo = $this->scripto()->apiClient()->queryUserInfo(); $user = $this->scripto()->apiClient()->queryUser($userInfo['name']); + $userCons = []; $watchlist = []; if ($this->scripto()->apiClient()->userIsLoggedIn()) { @@ -49,7 +50,7 @@ public function createAccountAction() $formData['email'], $formData['realname'] ); $this->messenger()->addSuccess('Your Scripto account has been created! Please check your email for a link to activate your account.'); // @translate - return $this->redirect()->toRoute('scripto'); + return $this->redirect()->toRoute('site/scripto', ['action' => 'index'], [], true); } catch (CreateaccountException $e) { $this->messenger()->addError($e->getMessage()); } diff --git a/src/Controller/PublicApp/ItemController.php b/src/Controller/PublicApp/ItemController.php index 408e78ae..6f8b0c29 100644 --- a/src/Controller/PublicApp/ItemController.php +++ b/src/Controller/PublicApp/ItemController.php @@ -10,7 +10,7 @@ public function browseAction() { $project = $this->scripto()->getRepresentation($this->params('project-id')); if (!$project) { - return $this->redirect()->toRoute('scripto'); + return $this->redirect()->toRoute('site/scripto'); } $this->setBrowseDefaults('id'); @@ -39,7 +39,7 @@ public function browseAction() public function showAction() { return $this->redirect()->toRoute( - 'scripto-media', + 'site/scripto-media', ['action' => 'browse'], ['query' => $this->params()->fromQuery()], true diff --git a/src/Controller/PublicApp/MediaController.php b/src/Controller/PublicApp/MediaController.php index c32b6bb6..74019408 100644 --- a/src/Controller/PublicApp/MediaController.php +++ b/src/Controller/PublicApp/MediaController.php @@ -14,7 +14,7 @@ public function browseAction() $this->params('item-id') ); if (!$sItem) { - return $this->redirect()->toRoute('scripto'); + return $this->redirect()->toRoute('site/scripto'); } $this->setBrowseDefaults('position', 'asc'); @@ -102,7 +102,7 @@ public function handleShow($namespace) $this->params('media-id') ); if (!$sMedia) { - return $this->redirect()->toRoute('scripto'); + return $this->redirect()->toRoute('site/scripto'); } $sItem = $sMedia->scriptoItem(); @@ -133,7 +133,7 @@ public function handleEdit($namespace) $this->params('media-id') ); if (!$sMedia) { - return $this->redirect()->toRoute('scripto'); + return $this->redirect()->toRoute('site/scripto'); } $action = (0 === $namespace) ? 'show' : 'talk'; diff --git a/src/Controller/PublicApp/ProjectController.php b/src/Controller/PublicApp/ProjectController.php index 0ad2f61a..1a5786ac 100644 --- a/src/Controller/PublicApp/ProjectController.php +++ b/src/Controller/PublicApp/ProjectController.php @@ -22,7 +22,7 @@ public function guidelinesAction() { $project = $this->scripto()->getRepresentation($this->params('project-id')); if (!$project) { - return $this->redirect()->toRoute('scripto'); + return $this->redirect()->toRoute('site/scripto'); } $view = new ViewModel; @@ -34,7 +34,7 @@ public function guidelinesAction() public function showAction() { return $this->redirect()->toRoute( - 'scripto-item', + 'site/scripto-item', ['action' => 'browse'], ['query' => $this->params()->fromQuery()], true diff --git a/src/Controller/PublicApp/RevisionController.php b/src/Controller/PublicApp/RevisionController.php index 03609992..4e592613 100644 --- a/src/Controller/PublicApp/RevisionController.php +++ b/src/Controller/PublicApp/RevisionController.php @@ -50,7 +50,7 @@ public function handleBrowse($namespace) $this->params('media-id') ); if (!$sMedia) { - return $this->redirect()->toRoute('scripto'); + return $this->redirect()->toRoute('site/scripto'); } $response = $sMedia->pageRevisions($namespace, 100, $this->params()->fromQuery('continue')); @@ -87,7 +87,7 @@ public function handleShow($namespace) $this->params('media-id') ); if (!$sMedia) { - return $this->redirect()->toRoute('scripto'); + return $this->redirect()->toRoute('site/scripto'); } try { diff --git a/src/Controller/PublicApp/UserController.php b/src/Controller/PublicApp/UserController.php index 583157c5..b897a92b 100644 --- a/src/Controller/PublicApp/UserController.php +++ b/src/Controller/PublicApp/UserController.php @@ -32,14 +32,14 @@ public function watchlistAction() { if (!$this->scripto()->apiClient()->userIsLoggedIn()) { // User must be logged in. - return $this->redirect()->toRoute('scripto'); + return $this->redirect()->toRoute('site/scripto'); } $userName = $this->params('user-id'); $currentUser = $this->scripto()->apiClient()->queryUserInfo(); if ($userName !== $currentUser['name']) { // Logged in user must be current user. - return $this->redirect()->toRoute('scripto-user-watchlist', ['user-id' => $currentUser['name']]); + return $this->redirect()->toRoute('site/scripto-user-watchlist', ['user-id' => $currentUser['name']]); } $hours = $this->params()->fromQuery('hours', 720); // 30 days diff --git a/src/Site/Navigation/Link/Scripto.php b/src/Site/Navigation/Link/Scripto.php index e70aa7f6..d19ed7bf 100644 --- a/src/Site/Navigation/Link/Scripto.php +++ b/src/Site/Navigation/Link/Scripto.php @@ -42,7 +42,7 @@ public function getLabel(array $data, SiteRepresentation $site) public function toZend(array $data, SiteRepresentation $site) { return [ - 'route' => 'scripto-project-id', + 'route' => 'site/scripto-project-id', 'params' => [ 'site-slug' => $site->slug(), 'site-project-id' => $data['project_id'], diff --git a/src/ViewHelper/Scripto.php b/src/ViewHelper/Scripto.php index 2de2a5b1..a034bbd8 100644 --- a/src/ViewHelper/Scripto.php +++ b/src/ViewHelper/Scripto.php @@ -123,7 +123,7 @@ public function publicAppProjectLink() ? $this->publicAppProject->link($view->translate('Project'), null, ['class' => 'page-link']) : $view->hyperlink( $view->translate('Projects'), - $view->url('scripto-project', ['action' => 'browse'], true), + $view->url('site/scripto-project', ['action' => 'browse'], true), ['class' => 'page-link'] ); } @@ -263,9 +263,10 @@ public function loginBar() $userInfo = $this->apiClient->queryUserInfo(); $form = $this->formElementManager->get(ScriptoLogoutForm::class); $form->setAttribute('action', $view->url( - 'scripto', + 'site/scripto', ['action' => 'logout'], - ['query' => ['redirect' => $this->getCurrentUrl()]] + ['query' => ['redirect' => $this->getCurrentUrl()]], + true )); return sprintf( '
hyperlink( $project->title(), $this->url( - 'scripto-project-id', + 'site/scripto-project-id', [ 'site-slug' => $site->slug(), 'site-project-id' => $project->id(), diff --git a/view/common/media-head.phtml b/view/common/media-head.phtml index deadaaeb..eda51517 100644 --- a/view/common/media-head.phtml +++ b/view/common/media-head.phtml @@ -2,10 +2,10 @@
| - | - |
|---|