-
Notifications
You must be signed in to change notification settings - Fork 0
/
console.php
116 lines (93 loc) · 2.66 KB
/
console.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php
/*
* ___ ___ ___
* / /\ /__/\ ___ / /\
* / /:/ | |::\ /__/\ / /:/
* /__/::\ | |:|:\ \ \:\ / /:/
* \__\/\:\ __|__|:|\:\ \ \:\ / /:/ ___
* \ \:\ /__/::::| \:\ ___ \__\:\ /__/:/ / /\
* \__\:\ \ \:\~~\__\/ /__/\ | |:| \ \:\ / /:/
* / /:/ \ \:\ \ \:\| |:| \ \:\ /:/
* /__/:/ \ \:\ \ \:\__|:| \ \:\/:/
* \__\/ \ \:\ \__\::::/ \ \::/
* \__\/ ~~~~ \__\/
*
* V 1.0 � JOEL HUGHES 2008
*
* CONSOLE: SET UP
*
*/
#error_reporting (0);
#ini_set('display_errors','Off');
#ini_set('log_errors','On');
#error_reporting (E_ALL);
date_default_timezone_set("Europe/London");
// CONSTANTS:
define ('DIR', DIRECTORY_SEPARATOR);
$site_path = realpath(dirname(__FILE__) . DIR) . DIR; # GET SITE PATH
define ('SITE_PATH', $site_path); # DEFINE SITE PATH
define ('SALT', 'jmvc'); # DEFINE SALT
define ('SITEEMAIL','site@goodbaad.com');
define ('TOTAL', 100);
// AUTOLOAD CLASSES
function __autoload($class_name)
{
if (preg_match('/Controller/i',$class_name)) # IF "CONTROLLER" IS USED IN CLASS NAME LOAD A CONTROLLER CLASS
{
$class_name = str_replace('Controller','',$class_name);
$filename = strtolower($class_name) . '_controller.php';
$path = $file = SITE_PATH . 'controllers' . DIR . $filename;
}
elseif (preg_match('/Model/i',$class_name)) # IF "MODEL" IS USED IN CLASS NAME LOAD A MODEL CLASS
{
$class_name = str_replace('Model','',$class_name);
$filename = strtolower($class_name) . '_model.php';
$path = $file = SITE_PATH . 'models' . DIR . $filename;
}
else # OTHERWISE LOAD A BASE CLASS
{
$filename = strtolower($class_name) . '.php';
$file = SITE_PATH . 'classes' . DIR . $filename;
}
if (file_exists($file) == false) # CHECK FILE EXISTS
{
return false;
}
require_once ($file); # INCLUDE THE CLASS FILE
}
$security = new Security;
/*
*
* LOAD CONTROLLER
*
*/
$request['Controller'] = 'console';
if (isset($argv[1]))
{
$args = split('[,]',$argv[1]);
if (count($args)>1)
{
$request['Method'] = array_shift($args);
$request['Args'] = $args;
}
else
{
$request['Method'] = $args[0];
}
}
else
{
$request['Method'] = 'index';
}
$class = ucwords($request['Controller'])."Controller";
$ctrl = new $class($class,$request);
$action = $request['Method'];
if (isset($request['Args']))
{
$ctrl->$action($request['Args']);
}
else
{
$ctrl->$action();
}
?>