120 lines
2.7 KiB
PHP
120 lines
2.7 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* Static content controller.
|
||
|
*
|
||
|
* This file will render views from views/pages/
|
||
|
*
|
||
|
* 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.cake.libs.controller
|
||
|
* @since CakePHP(tm) v 0.2.9
|
||
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Static content controller
|
||
|
*
|
||
|
* Override this controller by placing a copy in controllers directory of an application
|
||
|
*
|
||
|
* @package cake
|
||
|
* @subpackage cake.cake.libs.controller
|
||
|
* @link http://book.cakephp.org/view/958/The-Pages-Controller
|
||
|
*/
|
||
|
class PagesController extends AppController {
|
||
|
|
||
|
/**
|
||
|
* Controller name
|
||
|
*
|
||
|
* @var string
|
||
|
* @access public
|
||
|
*/
|
||
|
var $name = 'Pages';
|
||
|
|
||
|
/**
|
||
|
* Default helper
|
||
|
*
|
||
|
* @var array
|
||
|
* @access public
|
||
|
*/
|
||
|
var $helpers = array('Html', 'Session');
|
||
|
|
||
|
/**
|
||
|
* This controller does not use a model
|
||
|
*
|
||
|
* @var array
|
||
|
* @access public
|
||
|
*/
|
||
|
var $uses = array();
|
||
|
|
||
|
/**
|
||
|
* Displays a view
|
||
|
*
|
||
|
* @param mixed What page to display
|
||
|
* @access public
|
||
|
*/
|
||
|
function display() {
|
||
|
$path = func_get_args();
|
||
|
|
||
|
|
||
|
$count = count($path);
|
||
|
if (!$count) {
|
||
|
$this->redirect('/');
|
||
|
}
|
||
|
$page = $subpage = $title_for_layout = null;
|
||
|
|
||
|
if (!empty($path[0])) {
|
||
|
$page = $path[0];
|
||
|
}
|
||
|
if (!empty($path[1])) {
|
||
|
$subpage = $path[1];
|
||
|
}
|
||
|
if (!empty($path[$count - 1])) {
|
||
|
$title_for_layout = Inflector::humanize($path[$count - 1]);
|
||
|
}
|
||
|
$this->set(compact('page', 'subpage', 'title_for_layout'));
|
||
|
$this->render(implode('/', $path));
|
||
|
}
|
||
|
|
||
|
function admin_display() {
|
||
|
$path = func_get_args();
|
||
|
|
||
|
/* if (isset($this->params['admin']))
|
||
|
array_shift($path);*/
|
||
|
if (!isset($path[0]) || $path[0] != 'admin') {
|
||
|
//This adds admin to the beginning of the path so the pages controller will look in the 'admin' folder in pages directory
|
||
|
$path = array_merge((array)'admin', $path);
|
||
|
}
|
||
|
$count = count($path);
|
||
|
if (!$count) {
|
||
|
$this->redirect('/');
|
||
|
}
|
||
|
$page = $subpage = $title_for_layout = null;
|
||
|
|
||
|
if (!empty($path[0])) {
|
||
|
$page = $path[0];
|
||
|
}
|
||
|
if (!empty($path[1])) {
|
||
|
$subpage = $path[1];
|
||
|
}
|
||
|
if (!empty($path[$count - 1])) {
|
||
|
$title_for_layout = Inflector::humanize($path[$count - 1]);
|
||
|
}
|
||
|
$this->set(compact('page', 'subpage', 'title_for_layout'));
|
||
|
$this->render(implode('/', $path));
|
||
|
}
|
||
|
|
||
|
function beforeFilter() {
|
||
|
parent::beforeFilter();
|
||
|
$this->Auth->allow(array('display'));
|
||
|
}
|
||
|
}
|