123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- <?php
- /**
- * Routes configuration
- *
- * In this file, you set up routes to your controllers and their actions.
- * Routes are very important mechanism that allows you to freely connect
- * different URLs to chosen controllers and their actions (functions).
- *
- * CakePHP(tm) : Rapid Development Framework (https://cakephp.org)
- * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
- *
- * Licensed under The MIT License
- * For full copyright and license information, please see the LICENSE.txt
- * Redistributions of files must retain the above copyright notice.
- *
- * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
- * @link https://cakephp.org CakePHP(tm) Project
- * @license https://opensource.org/licenses/mit-license.php MIT License
- */
- use Cake\Http\Middleware\CsrfProtectionMiddleware;
- use Cake\Routing\RouteBuilder;
- use Cake\Routing\Router;
- use Cake\Routing\Route\DashedRoute;
-
- /**
- * The default class to use for all routes
- *
- * The following route classes are supplied with CakePHP and are appropriate
- * to set as the default:
- *
- * - Route
- * - InflectedRoute
- * - DashedRoute
- *
- * If no call is made to `Router::defaultRouteClass()`, the class used is
- * `Route` (`Cake\Routing\Route\Route`)
- *
- * Note that `Route` does not do any inflections on URLs which will result in
- * inconsistently cased URLs when used with `:plugin`, `:controller` and
- * `:action` markers.
- *
- * Cache: Routes are cached to improve performance, check the RoutingMiddleware
- * constructor in your `src/Application.php` file to change this behavior.
- *
- */
- Router::defaultRouteClass(DashedRoute::class);
-
- Router::scope('/', function (RouteBuilder $routes) {
- // Register scoped middleware for in scopes.
- $routes->registerMiddleware('csrf', new CsrfProtectionMiddleware([
- 'httpOnly' => true
- ]));
-
-
- /**
- * Here, we are connecting '/' (base path) to a controller called 'Pages',
- * its action called 'display', and we pass a param to select the view file
- * to use (in this case, src/Template/Pages/home.ctp)...
- */
- // $routes->connect('/', ['controller' => 'Pages', 'action' => 'display', 'home']);
-
- $routes->connect('/', ['controller' => 'Main', 'action' => 'history']);
- $routes->scope('/web', function ($routes) {
- $routes->applyMiddleware('csrf');
- $routes->connect('/', ['controller' => 'Main', 'action' => 'history']);
- $routes->connect('/history', ['controller' => 'Main', 'action' => 'history']);
- $routes->connect('/history/:meter_id', ['controller' => 'Main', 'action' => 'historyMeter']
- ,['pass' =>['meter_id']]);
-
- $routes->connect('/history/daily', ['controller' => 'Main', 'action' => 'historyDaily']);
- $routes->connect('/history/daily/:meter_id', ['controller' => 'Main', 'action' => 'historyMeterDaily']
- ,['pass' =>['meter_id']]);
-
- $routes->connect('/history/monthly', ['controller' => 'Main', 'action' => 'historyMonthly']);
- $routes->connect('/history/monthly/:meter_id', ['controller' => 'Main', 'action' => 'historyMeterMonthly']
- ,['pass' =>['meter_id']]);
-
- $routes->connect('/meter', ['controller' => 'Main', 'action' => 'meter']);
- $routes->connect('/meter/:meter_id', ['controller' => 'Main', 'action' => 'meterID']
- ,['pass' =>['meter_id']]);
-
- $routes->connect('/block/:block_id', ['controller' => 'Main', 'action' => 'blockID']
- ,['pass' =>['block_id']]);
-
- $routes->connect('/history/price', ['controller' => 'Main', 'action' => 'priceHistory']);
- $routes->connect('/history/price/:meter_id', ['controller' => 'Main', 'action' => 'priceHistoryMeter'],['pass' =>['meter_id']]);
-
- $routes->connect('/payment', ['controller' => 'Main', 'action' => 'payment']);
-
- $routes->connect('/setprice', ['controller' => 'Main', 'action' => 'setPrice']);
-
- $routes->connect('/transfer', ['controller' => 'Main', 'action' => 'transfer']);
-
- $routes->connect('/profile', ['controller' => 'Main', 'action' => 'profile']);
-
- });
-
- $routes->scope('/xhr/', function ($routes) {
- $routes->applyMiddleware('csrf');
- $routes->connect('setprice', ['controller' => 'Xhr', 'action' => 'setPrice']);
-
- $routes->connect('transfer', ['controller' => 'Xhr', 'action' => 'transfer']);
-
- $routes->connect('history', ['controller' => 'Xhr', 'action' => 'history']);
- $routes->connect('historyTransfer', ['controller' => 'Xhr', 'action' => 'historyTransfer']);
-
- $routes->connect('payment', ['controller' => 'Xhr', 'action' => 'payment']);
-
- $routes->connect('price/history', ['controller' => 'Xhr', 'action' => 'priceHistory']);
-
- $routes->connect('block', ['controller' => 'Xhr', 'action' => 'blocks']);
-
- $routes->connect('balances', ['controller' => 'Xhr', 'action' => 'balances']);
-
- $routes->connect('charts/payments/:meter_name', ['controller' => 'Xhr', 'action' => 'chartsPayments']
- ,['pass' =>['meter_name']]);
-
- });
-
- $routes->scope('/api/', function ($routes) {
- $routes->connect('transfer', ['controller' => 'Api', 'action' => 'transfer']);
-
- $routes->connect('history', ['controller' => 'Api', 'action' => 'history']);
-
- $routes->connect('payment', ['controller' => 'Api', 'action' => 'payment']);
-
- $routes->connect('price', ['controller' => 'Api', 'action' => 'price']);
-
- $routes->connect('block', ['controller' => 'Api', 'action' => 'blocks']);
-
- $routes->connect('/block/:block_id', ['controller' => 'Api', 'action' => 'blockID']
- ,['pass' =>['block_id']]);
-
- $routes->connect('meter', ['controller' => 'Api', 'action' => 'meter']);
- $routes->connect('meter/:meter_id', ['controller' => 'Api', 'action' => 'meterID']
- ,['pass' =>['meter_id']]);
-
- $routes->connect('balances', ['controller' => 'Api', 'action' => 'balances']);
- });
-
-
- /**
- * ...and connect the rest of 'Pages' controller's URLs.
- */
- // $routes->connect('/pages/*', ['controller' => 'Pages', 'action' => 'display']);
-
- /**
- * Connect catchall routes for all controllers.
- *
- * Using the argument `DashedRoute`, the `fallbacks` method is a shortcut for
- *
- * ```
- * $routes->connect('/:controller', ['action' => 'index'], ['routeClass' => 'DashedRoute']);
- * $routes->connect('/:controller/:action/*', [], ['routeClass' => 'DashedRoute']);
- * ```
- *
- * Any route class can be used with this method, such as:
- * - DashedRoute
- * - InflectedRoute
- * - Route
- * - Or your own route class
- *
- * You can remove these routes once you've connected the
- * routes you want in your application.
- */
- $routes->fallbacks(DashedRoute::class);
- });
-
- /**
- * If you need a different set of middleware or none at all,
- * open new scope and define routes there.
- *
- * ```
- * Router::scope('/api', function (RouteBuilder $routes) {
- * // No $routes->applyMiddleware() here.
- * // Connect API actions here.
- * });
- * ```
- */
|