<?php
require_once 'include/utils/Loader.php';
require_once 'include/Sphere/Entity.php';
require_once 'include/utils/NotImp.php';
sphere_import ( 'include.runtime.EntryPoint' );
class SiteUI extends Sphere_EntryPoint {
function process(Sphere_Request $request) {
Sphere_Session::init ();
$currentUser = $this->getLogin ();
$view = $request->get ( 'view' );
$action = $request->get ( 'action' );
$module = $request->get ( 'module' );
print "TEST: [" . json_encode ( $currentUser ) . ":" . json_encode ( $view ) . ":" . json_encode ( $action ) . "]<br />";
try {
if (empty ( $module )) {
if ($this->hasLogin ()) {
print "We're Logged In Load Default Module!";
}
else {
$module = 'Users';
$qualifiedModuleName = 'Settings:Users';
$view = 'Login';
}
$request->set('module', $module);
$request->set('view', $view);
}
if (empty ( $action )) {
$componentType = 'View';
if (empty ( $view ))
$view = 'Index';
$componentName = $view;
}
else {
$componentType = 'Action';
$componentName = $action;
}
$handlerClass = Sphere_Loader::getComponentClassName ( $componentType, $componentName, $qualifiedModuleName );
$handler = new $handlerClass ();
if ($handler) {
print "We've Got A Handler!";
$handler->validateRequest($request);
if ($handler->loginRequired()) {
$this->checkLogin ($request);
}
$this->triggerPreProcess($handler, $request);
$response = $handler->process($request);
$this->triggerPostProcess($handler, $request);
}
else {
throw new AppException ( 'Handler Not Found!' );
}
}
catch ( Exception $e ) {
if ($view) {
// log for development
// global $log;
// $log->debug($e->getMessage().":".$e->getTraceAsString());
// $viewer = new Vtiger_Viewer();
// $viewer->assign('MESSAGE', $e->getMessage());
// $viewer->view('OperationNotPermitted.tpl', 'Vtiger');
print "EXCEPTION: View! [" . $e->getMessage () . ":" . $e->getTraceAsString () . "]<br />\n";
}
else {
// $response = new Vtiger_Response();
// $response->setEmitType(Vtiger_Response::$EMIT_JSON);
// $response->setError($e->getMessage());
print "EXCEPTION: No View!";
}
}
}
function getLogin() {
$user = parent::getLogin ();
if (! $user && isset ( $_SESSION ['authenticated_user_id'] )) {
$userid = Sphere_Session::get ( 'AUTHUSERID', $_SESSION ['authenticated_user_id'] );
if ($userid && sphere_global ( 'application_unique_key' ) == $_SESSION ['app_unique_key']) {
$user = CRMEntity::getInstance ( 'Users' );
$user->retrieveCurrentUserInfoFromFile ( $userid );
$this->setLogin ( $user );
}
}
return $user;
}
protected function triggerPreProcess($handler, $request) {
if($request->isAjax()){
return true;
}
$handler->preProcess($request);
}
protected function triggerPostProcess($handler, $request) {
if($request->isAjax()){
return true;
}
$handler->postProcess($request);
}
}
?>