mirror of https://github.com/movim/movim
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
3.9 KiB
133 lines
3.9 KiB
<?php
|
|
function __autoload($className)
|
|
{
|
|
$className = ltrim($className, '\\');
|
|
$fileName = DOCUMENT_ROOT;
|
|
$namespace = '';
|
|
if ($lastNsPos = strrpos($className, '\\')) {
|
|
$namespace = substr($className, 0, $lastNsPos);
|
|
$className = substr($className, $lastNsPos + 1);
|
|
$fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
|
|
}
|
|
$fileName .= '/'.str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
|
|
if (file_exists($fileName)) {
|
|
require_once( $fileName);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
// A few constants...
|
|
define('APP_NAME', 'movim');
|
|
|
|
define('THEMES_PATH', DOCUMENT_ROOT . '/themes/');
|
|
define('USERS_PATH', DOCUMENT_ROOT . '/users/');
|
|
define('APP_PATH', DOCUMENT_ROOT . '/app/');
|
|
define('SYSTEM_PATH', DOCUMENT_ROOT . '/system/');
|
|
define('LIB_PATH', DOCUMENT_ROOT . '/lib/');
|
|
define('LOCALES_PATH', DOCUMENT_ROOT . '/locales/');
|
|
define('CACHE_PATH', DOCUMENT_ROOT . '/cache/');
|
|
|
|
// Loads up all system libraries.
|
|
require_once(SYSTEM_PATH . "/i18n/i18n.php");
|
|
|
|
require_once(SYSTEM_PATH . "Session.php");
|
|
require_once(SYSTEM_PATH . "Utils.php");
|
|
require_once(SYSTEM_PATH . "UtilsPicture.php");
|
|
require_once(SYSTEM_PATH . "Cache.php");
|
|
require_once(SYSTEM_PATH . "Conf.php");
|
|
require_once(SYSTEM_PATH . "Event.php");
|
|
require_once(SYSTEM_PATH . "Logger.php");
|
|
require_once(SYSTEM_PATH . "MovimException.php");
|
|
require_once(SYSTEM_PATH . "RPC.php");
|
|
require_once(SYSTEM_PATH . "User.php");
|
|
|
|
// LIBRARIES
|
|
// XMPPtoForm lib
|
|
require_once(LIB_PATH . "XMPPtoForm.php");
|
|
|
|
// Markdown lib
|
|
require_once(LIB_PATH . "Markdown.php");
|
|
|
|
// We load Movim Data Layer
|
|
require_once(LIB_PATH . 'Modl/loader.php');
|
|
|
|
$db = modl\Modl::getInstance();
|
|
$db->setConnectionArray(Conf::getServerConf());
|
|
|
|
// We load Movim XMPP Library
|
|
require_once(LIB_PATH . 'Moxl/loader.php');
|
|
|
|
require_once(APP_PATH . "controllers/ControllerBase.php");
|
|
require_once(APP_PATH . "controllers/ControllerMain.php");
|
|
require_once(APP_PATH . "controllers/ControllerAjax.php");
|
|
|
|
require_once(SYSTEM_PATH . "Route.php");
|
|
|
|
require_once(SYSTEM_PATH . "Tpl/TplPageBuilder.php");
|
|
|
|
require_once(SYSTEM_PATH . "widget/WidgetBase.php");
|
|
require_once(SYSTEM_PATH . "widget/WidgetWrapper.php");
|
|
|
|
require_once(APP_PATH . "widgets/WidgetCommon/WidgetCommon.php");
|
|
require_once(APP_PATH . "widgets/Notification/Notification.php");
|
|
|
|
// The template lib
|
|
require_once(LIB_PATH . 'RainTPL.php');
|
|
|
|
// We set the default timezone to the server timezone
|
|
$conf = Conf::getServerConf();
|
|
date_default_timezone_set($conf['timezone']);
|
|
|
|
if(isset( $_SERVER['HTTP_USER_AGENT'])) {
|
|
$useragent = $_SERVER['HTTP_USER_AGENT'];
|
|
|
|
if (preg_match('|MSIE ([0-9].[0-9]{1,2})|',$useragent,$matched)) {
|
|
$browser_version=$matched[1];
|
|
$browser = 'IE';
|
|
} elseif (preg_match('/Opera[\/ ]([0-9]{1}\.[0-9]{1}([0-9])?)/',$useragent,$matched)) {
|
|
$browser_version=$matched[1];
|
|
$browser = 'Opera';
|
|
} elseif(preg_match('|Firefox/([0-9\.]+)|',$useragent,$matched)) {
|
|
$browser_version=$matched[1];
|
|
$browser = 'Firefox';
|
|
} elseif(preg_match('|Safari/([0-9\.]+)|',$useragent,$matched)) {
|
|
$browser_version=$matched[1];
|
|
$browser = 'Safari';
|
|
}
|
|
} else {
|
|
$browser_version = 0;
|
|
$browser= 'other';
|
|
}
|
|
|
|
define('BROWSER_VERSION', $browser_version);
|
|
define('BROWSER', $browser);
|
|
|
|
$compatible = false;
|
|
|
|
switch($browser) {
|
|
case 'Firefox':
|
|
if($browser_version > 3.5)
|
|
$compatible = true;
|
|
break;
|
|
case 'IE':
|
|
if($browser_version > 9.0)
|
|
$compatible = true;
|
|
break;
|
|
case 'Safari': // Also Chrome-Chromium
|
|
if($browser_version > 522.0)
|
|
$compatible = true;
|
|
break;
|
|
case 'Opera':
|
|
if($browser_version > 9.0)
|
|
$compatible = true;
|
|
break;
|
|
}
|
|
|
|
define('BROWSER_COMP', $compatible);
|
|
|
|
// Starting session.
|
|
$sess = Session::start(APP_NAME);
|
|
$session = $sess->get('session');
|
|
?>
|