chaw / branches / master / config / routes.php
history
<?php
/**
* Chaw : source code and project management
*
* @copyright Copyright 2009, Garrett J. Woodworth (gwoohoo@gmail.com)
* @license GNU AFFERO GENERAL PUBLIC LICENSE v3 (http://opensource.org/licenses/agpl-v3.html)
*
*/
Router::parseExtensions('rss');
/* Base Routes */
Router::connect('/', array('controller' => 'wiki', 'action' => 'index'));
Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));
Router::connect('/start', array('controller' => 'pages', 'action' => 'start'));
Router::connect('/dashboard', array('controller' => 'dashboard', 'action' => 'index'));
Router::connect('/feed', array('controller' => 'dashboard', 'action' => 'feed'));
/* Admin Routes */
Router::connect('/admin/:controller', array('admin'=> true));
Router::connect('/admin/:controller/:action/*', array('admin'=> true));
/* Specific Routes */
Router::connect('/fork/it', array('controller' => 'repo', 'action' => 'fork_it'), array('action' => 'fork_it'));
Router::connect('/:project/fork/it', array('controller' => 'repo', 'action' => 'fork_it'), array('action' => 'fork_it'));
//Router::connect('/download/:project', array('controller' => 'repo', 'action' => 'download', 'ext' => 'tar'), array('ext' => 'tar'));
//Router::connect('/download/forks/:fork/:project', array('controller' => 'repo', 'action' => 'download', 'ext' => 'tar'), array('ext' => 'tar'));
/* General Routes */
Router::connect('/:controller',
array('action' => 'index', 'project' => false),
array('controller' => 'source|wiki|commits|tickets|comments|timeline|versions|users|projects')
);
Router::connect('/:controller/:action/*',
array('project' => false),
array(
'controller' => 'source|wiki|commits|tickets|comments|timeline|versions|users|projects',
'action' => 'branches|history|branch|logs|view|start|add|edit|modify|delete|remove|activate|forgotten|verify|change|login|account|logout|forks')
);
Router::connect('/:controller/*',
array('action' => 'index', 'project' => false),
array('controller' => 'source|wiki|commits|tickets|comments|timeline|versions|users|projects')
);
/* Genral Fork Routes */
Router::connect(
'/forks/:fork/:project',
array('controller' => 'wiki', 'action' => 'index'),
array('fork' => '[\-_\.a-zA-Z0-9]{3,}')
);
Router::connect('/forks/:fork/:project/:controller', array('action' => 'index'), array('fork' => '[\-_\.a-zA-Z0-9]{3,}'));
Router::connect('/forks/:fork/:project/:controller/:action/*', array(), array(
'fork' => '[\-_\.a-zA-Z0-9]{3,}',
'controller' => 'source|wiki|commits|tickets|comments|timeline|versions|users|projects|repo',
'action' => 'branches|history|branch|logs|fast_forward|view|add|edit|modify|delete|remove|parent')
);
Router::connect('/forks/:fork/:project/:controller/*',
array('action' => 'index'),
array(
'fork' => '[\-_\.a-zA-Z0-9]{3,}',
'controller' => 'source|wiki|commits|tickets|comments|timeline|versions|users|projects'
)
);
/* Genral Project Routes */
Router::connect('/:project', array('controller' => 'source', 'action' => 'index'), array('project' => '[_a-zA-Z0-9]{3,}'));
Router::connect('/:project/:controller', array('action' => 'index'), array('project' => '[_a-zA-Z0-9]{3,}'));
Router::connect('/:project/:controller/:action/*', array(), array(
'project' => '[_a-zA-Z0-9]{3,}',
'controller' => 'source|wiki|commits|tickets|comments|timeline|versions|users|projects|repo',
'action' => 'branches|history|branch|logs|merge|view|add|edit|modify|delete|remove|forks')
);
Router::connect('/:project/:controller/*', array('action' => 'index'), array(
'project' => '[_a-zA-Z0-9]{3,}',
'controller' => 'source|wiki|commits|tickets|comments|timeline|versions|users|projects',
)
);
Router::connect('/forks/:fork/:project/admin/:controller', array('admin'=> true), array('fork' => '[\-_\.a-zA-Z0-9]{3,}'));
Router::connect('/forks/:fork/:project/admin/:controller/:action/*', array('admin'=> true), array('fork' => '[\-_\.a-zA-Z0-9]{3,}'));
Router::connect('/:project/admin/:controller', array('admin'=> true, 'controller' => 'dashboard'));
Router::connect('/:project/admin/:controller/:action/*', array('admin'=> true, 'controller' => 'dashboard'));
