*/
public function __construct(array $files)
{
- $this->spoolroot = dirname(dirname(__FILE__));
+ $this->spoolroot = dirname(dirname(dirname(__FILE__)));
$this->readConfig($files);
if (isset($_SERVER) && isset($_SERVER['SERVER_NAME'])) {
public static function factory($modname)
{
- $mod_path = dirname(__FILE__) . '/../modules/' . $modname . '.php';
+ global $globals;
+ if ($modname == 'core') {
+ $mod_path = $globals->spoolroot . '/core/modules/' . $modname . '.php';
+ } else {
+ $mod_path = $globals->spoolroot . '/modules/' . $modname . '.php';
+ }
$class = ucfirst($modname) . 'Module';
require_once $mod_path;
define('DO_AUTH', 1);
define('NO_HTTPS', 2);
-function pl_autoload($cls)
+function pl_autoload($cls, array $pathes = array())
{
$cls = strtolower($cls);
- $path = dirname(dirname(__FILE__));
- if (!@include "$path/classes/$cls.php") {
- if (substr($cls, -3, 3) == 'req') {
- @include 'validations.inc.php';
- return;
- } else if (substr($cls, 0, 6) == 'banana') {
- require_once 'banana/banana.inc.php';
- Banana::load(substr($cls, 6));
- return;
+ $basepath = dirname(dirname(dirname(__FILE__)));
+
+ array_unshift($pathes, 'core/classes', 'classes');
+ foreach ($pathes as $path) {
+ if (@include_once "$basepath/$path/$cls.php") {
+ return true;
}
- @include "$cls.inc.php";
}
+ return false;
}
pl_autoload('Env');
define('PL_SESSION_CLASS', 'XnetSession');
define('PL_PAGE_CLASS', 'XnetPage');
-require_once('platal.inc.php');
+require_once dirname(dirname(__FILE__)) . '/core/include/platal.inc.php';
require_once('xorg.misc.inc.php');
require_once('globals.inc.php');
require_once('xnet/session.inc.php');
function __autoload($cls)
{
- pl_autoload($cls);
+ if (!pl_autoload($cls)) {
+ if (substr($cls, -3, 3) == 'req') {
+ @include 'validations.inc.php';
+ return;
+ } else if (substr($cls, 0, 6) == 'banana') {
+ require_once 'banana/banana.inc.php';
+ Banana::load(substr($cls, 6));
+ return;
+ }
+ @include "$cls.inc.php";
+ }
}
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
define('PL_SESSION_CLASS', 'XorgSession');
define('PL_PAGE_CLASS', 'XorgPage');
-require_once('platal.inc.php');
+require_once dirname(dirname(__FILE__)) . '/core/include/platal.inc.php';
require_once('xorg.misc.inc.php');
require_once('globals.inc.php');
require_once('xorg/session.inc.php');
function __autoload($cls)
{
- pl_autoload($cls);
+ if (!pl_autoload($cls)) {
+ if (substr($cls, -3, 3) == 'req') {
+ @include 'validations.inc.php';
+ return;
+ } else if (substr($cls, 0, 6) == 'banana') {
+ require_once 'banana/banana.inc.php';
+ Banana::load(substr($cls, 6));
+ return;
+ }
+ @include "$cls.inc.php";
+ }
}
// {{{ class XorgPage