blob: b0bca6b07d9c024f1e4d396993f4603546ba2458 (
plain)
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
|
<?php
/* Function autoload package classes */
function class_autoload( $className ) {
// Split the class name into parts using the namespace separator
$parts = explode('\\', $className);
// if not Bitweaver namespace kick out
if ( !($parts[0] == 'Bitweaver') ) return;
// Ensure there are at least three parts (namespace, package, class)
if (count($parts) == 2) {
$parts[2] = $parts[1];
$parts[1] = 'kernel/includes/classes/';
} elseif ($parts[1] == 'Plugins' ) {
$parts[1] = 'themes/smartyplugins/';
} elseif (count($parts) <> 3) {
return;
} else {
$parts[1] .= '/includes/classes/';
}
$base_dir = BIT_ROOT_PATH . strtolower( $parts[1] );
$file = $base_dir . $parts[2] . '.php';
if (file_exists($file)) {
require $file;
}
}
spl_autoload_register('class_autoload');
|