carbonPHP Initial commit v2.0
[carbonphp.git] / Source / carbon / libraries / Controller.php
blob016eec1d191886b8d4b733825120d80f01461d5c
1 <?php
2 /*------------------------------------------------------------
3 * CarbonPHP framework (C) Tom Bell
4 * http://tombell.org.uk
5 *------------------------------------------------------------*/
7 if (!defined('CARBON_PATH'))
9 exit('Direct script access is not allowed.');
12 class Controller extends Carbon_Base
14 private $c_scaffolding = false;
15 private $c_scaff_table = false;
17 public function __construct()
19 parent::__construct();
20 $this->c_initialise();
22 log_message('debug', 'Controller class initialised.');
25 private function c_initialise()
27 $classes = array(
28 'config' => 'Config',
29 'input' => 'Input',
30 'benchmark' => 'Benchmark',
31 'uri' => 'Uri',
32 'lang' => 'Language',
33 'output' => 'Output'
36 foreach ($classes as $class => $class_name)
38 $this->$class = load_class($class_name);
41 $this->load = load_class('Loader');
42 $this->load->autoloader();
45 public function c_scaffolding()
47 if ($this->c_scaffolding === false || $this->c_scaff_table === false)
49 display_not_found('Scaffolding not available');
52 $method = (!in_array($this->uri->segment(3), array('add', 'insert', 'edit', 'update', 'view', 'delete', 'do_delete'), true)) ? 'view' : $this->uri->segment(3);
54 require_once(CARBON_PATH . 'scaffolding/Scaffolding' . FILE_EXT);
56 $scaffold = new Scaffolding($this->c_scaff_table);
57 $scaffold->$method();
60 public function set_scaffolding($scaffolding)
62 $this->c_scaffolding = $scaffolding;
65 public function set_scaff_table($scaff_table)
67 $this->c_scaff_table = $scaff_table;