-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathModules.php
More file actions
66 lines (51 loc) · 1.69 KB
/
Modules.php
File metadata and controls
66 lines (51 loc) · 1.69 KB
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
<?php
// LOGGER
// __CURRENT_MODULE -> Designates module being used
// __LOGGING_ENABLED -> Enables/Disables logging
// __LOG_FILE -> Defines logfile output, default = "log.txt";
// __MODULE_CONFIG -> Designates the config file
// __MODULE_REGISTRY -> An array of all the registered modules
$__MODULE_REGISTRY = array();
if(!isset($__LOGGING_ENABLED))
$__LOGGING_ENABLED = true;
if($__LOGGING_ENABLED){
if(!isset($__LOG_FILE))
$__LOG_FILE = "log.txt";
$Log_asset = fopen($__LOG_FILE, "a");
}
function __APPEND_LOG($STR){
global $Log_asset;
if($Log_asset){
$backtrace = debug_backtrace();
$File = explode('\\', $backtrace[0]['file']);
$File = $File[count($File)-1];
fwrite($Log_asset, "[".date("j-n-Y G-i-s",time()).']['.$File."]\t".$STR."\n");
}
}
__APPEND_LOG("Logging enabled");
if(!isset($__MODULE_CONFIG)){
__APPEND_LOG("Module config file not set");
die("Module config file not set");
}
if(file_exists($__MODULE_CONFIG)){
__APPEND_LOG("Reading module config");
require_once("class.module.php");
$php_modules_config = json_decode(file_get_contents($__MODULE_CONFIG));
foreach($php_modules_config as $st){
__APPEND_LOG("Module loading: ".$st->MODULEName);
$module_class_file = $MODULES_ROOT.'/'.$st->MODULESrc."module.php";
if(file_exists($module_class_file)){
require_once($module_class_file);
$cName = $st->MODULEName."Module";
$__MODULE_REGISTRY[$st->MODULEName] = new $cName($st);
__APPEND_LOG("Module ok: ".$st->MODULEName);
}else{
__APPEND_LOG("Module loading FAILED: ".$module_class_file);
}
}
__APPEND_LOG("Module config read");
}else{
__APPEND_LOG("Module config file does not exist: ".$__MODULE_CONFIG);
die("Module config file not found");
}
?>