/** * Pages routes configuration * * @copyright Copyright 2014, NetCommons Project * @author Kohei Teraguchi <*****@*****.**> * @link http://www.netcommons.org NetCommons Project * @license http://www.netcommons.org/license.txt NetCommons License */ App::uses('Page', 'Pages.Model'); App::uses('SlugRoute', 'Pages.Lib'); Router::connect('/' . Page::SETTING_MODE_WORD . '/', array('plugin' => 'pages', 'controller' => 'pages', 'action' => 'index'), array('routeClass' => 'SlugRoute')); Router::connect('/' . Page::SETTING_MODE_WORD . '/*', array('plugin' => 'pages', 'controller' => 'pages', 'action' => 'index'), array('routeClass' => 'SlugRoute')); Router::connect('/*', array('plugin' => 'pages', 'controller' => 'pages', 'action' => 'index'), array('routeClass' => 'SlugRoute')); $params = array(); if (!Page::isSettingMode()) { $params = array(Page::SETTING_MODE_WORD => false); } $indexParams = $params + array('action' => 'index'); if ($plugins = CakePlugin::loaded()) { App::uses('PluginShortRoute', 'Routing/Route'); foreach ($plugins as $key => $value) { $plugins[$key] = Inflector::underscore($value); } $pluginPattern = implode('|', $plugins); $match = array('plugin' => $pluginPattern); $shortParams = array('routeClass' => 'PluginShortRoute', 'plugin' => $pluginPattern); Router::connect('/' . Page::SETTING_MODE_WORD . '/:plugin', $indexParams, $shortParams); Router::connect('/' . Page::SETTING_MODE_WORD . '/:plugin/:controller', $indexParams, $match); Router::connect('/' . Page::SETTING_MODE_WORD . '/:plugin/:controller/:action/*', $params, $match); }