query('SET NAMES utf8');
$DBIn->query('SET CHARACTER SET utf8');
$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'],
));
require_once(ROOT_PATH . "src/cgi/mode/". $Q->req['m']. ".php");
$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;
}
}
?>