<?php use cyneek\yii2\routes\components\Route; Route::pattern('id', '\\d+'); /** * Checks if Static Object Exists */ Route::filter('checkStaticPage', function () { /** @var \atuin\static_page\models\StaticPlugin $staticPlugin */ $staticPlugin = \atuin\static_page\models\StaticPlugin::findOne(Route::input('id')); if (is_null($staticPlugin)) { throw new \yii\web\NotFoundHttpException(Yii::t('admin', "Static page doesn't exist.")); } return TRUE; }); /** * Static Pages */ Route::any('pages/static', 'apps/admin/static-page'); Route::any('pages/static/create', 'apps/admin/static-page/create'); Route::any('pages/static/update/{id}', 'apps/admin/static-page/update', ['before' => ['before' => 'checkStaticPage']]); Route::post('pages/static/delete/{id}', 'apps/admin/static-page/delete', ['before' => ['before' => 'checkStaticPage']]); Route::get('pages/static/view/{id}', 'apps/admin/static-page/view', ['before' => ['before' => 'checkStaticPage']]);
use cyneek\yii2\routes\components\Route; Route::pattern('id', '\\d+'); /** * Checks if Static Object Exists */ Route::filter('checkAppId', function () { /** @var \atuin\apps\models\App $app */ $app = \atuin\apps\models\App::findOne(Route::input('id')); if (is_null($app)) { throw new \yii\web\NotFoundHttpException(Yii::t('admin', "App doesn't exist.")); } return TRUE; }); /** * Checks if the App Market Id exists in the market */ Route::filter('checkAppMarketId', function () { /** @var array $app */ $app = \atuin\apps\models\ModelApp::getAppMarketData(Route::input('AppMarketId')); if (empty($app)) { throw new \yii\web\NotFoundHttpException(Yii::t('admin', "App is not located in the market.")); } return TRUE; }); /** * Apps */ Route::get('apps', 'apps/admin/apps'); Route::any('apps/market', 'apps/admin/apps/market'); Route::post('apps/install/{AppMarketId}', 'apps/admin/apps/install', ['before' => ['before' => 'checkAppMarketId']]); Route::post('apps/update/{id}', 'apps/admin/apps/update', ['before' => ['before' => 'checkAppId']]);