redirect($CONF['url_app_maintenance']);}
$DBSH_INPUT = new DBSH($DBIn);
$DBIn->query('SET NAMES UTF8');
$DBIn->query('SET CHARACTER SET utf8');
$DBOut =& DB::connect($CONF['db_dsn' ]);
if(DB::isError($DBOut)){$OUT->redirect($CONF['url_app_maintenance']);}
$DBSH_OUTPUT = new DBSH($DBOut);
$DBOut->query('SET NAMES UTF8');
$DBOut->query('SET CHARACTER SET utf8');
$RBAC = new SimpleRBAC(ROOT_PATH . 'data/user.xml');
$UPass = new UPass();
//
// Setting up the subsystem
//
if(! array_key_exists('m', $Q->req)){
$Q->req['m'] = 'main';
}
//
// Setting up path for Smarty
//
SmartyWrap::$w_template_dir = ROOT_PATH . 'tpl/';
LANG::$lang_dir = ROOT_PATH . 'lang/';
SmartyWrap::$w_compile_dir = ROOT_PATH . 'tpl_c/';
SmartyWrap::$w_cache_dir = ROOT_PATH . 'cache';
SmartyWrap::assign_glb_by_ref('DBSH_INPUT', $DBSH_INPUT);
SmartyWrap::assign_glb_by_ref('DBSH_OUTPUT', $DBSH_OUTPUT);
//
// Setting up global variable for Smarty
//
SmartyWrap::assign_glb(array(
'url_app' => $CONF['url_app'],
'vir_lib' => $CONF['vir_lib'],
'site_name' => $CONF['site_name'],
'vir_photo' => $CONF['vir_photo'],
'vir_img' => $CONF['vir_img'],
'sms_shortcode' => $CONF['sms_shortcode'],
//
// Avatar
//
'vir_avt_skin' => $CONF['vir_avt_skin'],
'vir_avt_lib' => $CONF['vir_avt_lib'],
'vir_avt_img' => $CONF['vir_avt_img'],
//
// Photo
//
'vir_photo_skin' => $CONF['vir_photo_skin'],
'vir_photo_lib' => $CONF['vir_photo_lib'],
'vir_photo_img' => $CONF['vir_photo_img'],
//
// Blog
//
'vir_blog_lib' => $CONF['vir_blog_lib'],
'vir_blog_css' => $CONF['vir_blog_css'],
'vir_blog_themes' => $CONF['vir_blog_themes'],
//
// Video
//
'vir_video_skin' => $CONF['vir_video_skin'],
'vir_video_lib' => $CONF['vir_video_lib'],
));
//require_once(ROOT_PATH . "src/cgi/mode/". $Q->req['m']. ".php");
if(file_exists(ROOT_PATH . "src/cgi/mode/". $Q->req['m']. ".php")){
require_once(ROOT_PATH . "src/cgi/mode/". $Q->req['m']. ".php");
}
else{
$OUT->redirect($CONF['url_app']. "?m=main");
}
$system_toggle = array();
data_load($CONF['dir_data']. 'system_toggle.txt', $system_toggle);
if($system_toggle['toggle']=="Off" && $Q->req['m']!='admin' && $Q->req['m']!='avatar_admin'
&& $Q->req['m']!='blog_admin' && $Q->req['m']!='audio_admin' && $Q->req['m']!='video_admin'
&& $Q->req['m']!='photo_admin' && $Q->req['m']!='admin_tmpl' ) {
$OUT->redirect($CONF['url_app_maintenance']);
exit();
}
$obj = new $Q->req['m'];
$obj->_run();
$DBIn->disconnect();
$DBOut->disconnect();
function error_handler($errno, $errstr, $errfile, $errline)
{
// Did we turn off errors with @?
if(! error_reporting()){
return;
}
$errfile = str_replace(@getcwd(), '', $errfile);
switch($errno){
case E_ERROR:
echo "App Error [$errno] $errstr (Line: $errline of $errfile)
\n";
exit(1);
break;
case E_USER_ERROR:
echo "User App Error [$errno] $errstr (Line: $errline of $errfile)
\n";
exit(1);
break;
case E_WARNING:
echo "App Warning [$errno] $errstr (Line: $errline of $errfile)
\n";
break;
case E_USER_WARNING:
echo "User App Warning [$errno] $errstr (Line: $errline of $errfile)
\n";
break;
default:
//Do nothing
break;
}
}
?>