mirror of
				https://github.com/brmlab/brmsklad.git
				synced 2025-10-31 08:13:58 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			71 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Static content controller.
 | |
|  *
 | |
|  * This file will render views from views/pages/
 | |
|  *
 | |
|  * @link          http://cakephp.org CakePHP(tm) Project
 | |
|  * @package       app.Controller
 | |
|  * @since         CakePHP(tm) v 0.2.9
 | |
|  */
 | |
| 
 | |
| App::uses('AppController', 'Controller');
 | |
| 
 | |
| /**
 | |
|  * Static content controller
 | |
|  *
 | |
|  * Override this controller by placing a copy in controllers directory of an application
 | |
|  *
 | |
|  * @package       app.Controller
 | |
|  * @link http://book.cakephp.org/2.0/en/controllers/pages-controller.html
 | |
|  */
 | |
| class PagesController extends AppController {
 | |
| 
 | |
| /**
 | |
|  * This controller does not use a model
 | |
|  *
 | |
|  * @var array
 | |
|  */
 | |
| 	public $uses = array();
 | |
| 
 | |
| /**
 | |
|  * Displays a view
 | |
|  *
 | |
|  * @return void
 | |
|  * @throws ForbiddenException When a directory traversal attempt.
 | |
|  * @throws NotFoundException When the view file could not be found
 | |
|  *   or MissingViewException in debug mode.
 | |
|  */
 | |
| 	public function display() {
 | |
| 		$path = func_get_args();
 | |
| 
 | |
| 		$count = count($path);
 | |
| 		if (!$count) {
 | |
| 			return $this->redirect('/');
 | |
| 		}
 | |
| 		if (in_array('..', $path, true) || in_array('.', $path, true)) {
 | |
| 			throw new ForbiddenException();
 | |
| 		}
 | |
| 		$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'));
 | |
| 
 | |
| 		try {
 | |
| 			$this->render(implode('/', $path));
 | |
| 		} catch (MissingViewException $e) {
 | |
| 			if (Configure::read('debug')) {
 | |
| 				throw $e;
 | |
| 			}
 | |
| 			throw new NotFoundException();
 | |
| 		}
 | |
| 	}
 | |
| }
 | 
