<?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).
*
* PHP versions 4 and 5
*
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
* Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
* @link http://cakephp.org CakePHP(tm) Project
* @package cake
* @subpackage cake.app.config
* @since CakePHP(tm) v 0.2.9
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
*/
/**
* Here, we are connecting '/' (base path) to controller called 'Pages',
* its action called 'display', and we pass a param to select the view file
* to use (in this case, /app/views/pages/home.ctp)...
*/
Router::parseExtensions('rss', 'mrss');
$regex = array(
'lang' => '[a-z]{2}',
'slug' => '[a-z0-9-]+');
Router::connect('/', array('controller' => 'pages', 'action' => 'home'));
Router::connect('/:lang', array('controller' => 'pages', 'action' => 'home'), array('lang' => $regex['lang'], 'pass' => array('lang')));
Router::connect('/admin', array('controller' => 'pages', 'action' => 'index', 'admin' => true));
Router::connect('/actions/*', array('controller' => 'pages', 'action' => 'dispatcher'));
// BLOG
Router::connect('/blog/*', array('controller' => 'posts', 'action' => 'view'));
// NEWS
Router::connect('/news.rss', array('controller' => 'posts', 'action' => 'index', 'ext' => 'rss'));
Router::connect('/news/*', array('controller' => 'posts', 'action' => 'index'));
Router::connect('/:lang/posts/*', array('controller' => 'posts', 'action' => 'index'));
// PAGES
Router::connect('/page/*', array('controller' => 'posts', 'action' => 'view', 'type' => 'page'));
Router::connect('/pages', array('controller' => 'posts', 'action' => 'index', 'type' => 'page'));
Router::connect('/admin/pages/add', array('controller' => 'posts', 'action' => 'add', 'type' => 'page', 'admin' => true));
Router::connect('/admin/pages/edit/*', array('controller' => 'posts', 'action' => 'edit', 'type' => 'page', 'admin' => true));
Router::connect('/admin/pages/*', array('controller' => 'posts', 'action' => 'index', 'type' => 'page', 'admin' => true));
// RELEASES
Router::connect('/release/:slug', array('controller' => 'releases', 'action' => 'view'), array('slug' => $regex['slug'], 'pass' => array('slug')));
Router::connect('/:lang/release/:slug',
array('controller' => 'releases', 'action' => 'view'),
array(
'lang' => $regex['lang'],
'slug' => $regex['slug'],
'pass' => array('slug', 'lang'))
);
// ARTISTS
Router::connect('/artist/*', array('controller' => 'artists', 'action' => 'view', 'admin' => false));
// FITXERS
Router::connect('/files/download/*', array('controller' => 'fitxers', 'action' => 'download'));