示例#1
0
 /**
  * Perform execution of the application. This method is called from index2.php
  */
 function execute()
 {
     global $sugar_config;
     if (!empty($sugar_config['default_module'])) {
         $this->default_module = $sugar_config['default_module'];
     }
     $module = $this->default_module;
     if (!empty($_REQUEST['module'])) {
         $module = $_REQUEST['module'];
     }
     insert_charset_header();
     $this->setupPrint();
     $this->controller = ControllerFactory::getController($module);
     // If the entry point is defined to not need auth, then don't authenticate.
     if (empty($_REQUEST['entryPoint']) || $this->controller->checkEntryPointRequiresAuth($_REQUEST['entryPoint'])) {
         $this->loadUser();
         $this->ACLFilter();
         $this->preProcess();
         $this->controller->preProcess();
         $this->checkHTTPReferer();
     }
     SugarThemeRegistry::buildRegistry();
     $this->loadLanguages();
     $this->checkDatabaseVersion();
     $this->loadDisplaySettings();
     //$this->loadLicense();
     $this->loadGlobals();
     $this->setupResourceManagement($module);
     $this->controller->execute();
     sugar_cleanup();
 }
示例#2
0
 /**
  * Perform execution of the application. This method is called from index2.php
  */
 function execute()
 {
     global $sugar_config;
     if (!empty($sugar_config['default_module'])) {
         $this->default_module = $sugar_config['default_module'];
     }
     $module = $this->default_module;
     if (!empty($_REQUEST['module'])) {
         $module = $_REQUEST['module'];
     }
     insert_charset_header();
     $this->setupPrint();
     $this->controller = ControllerFactory::getController($module);
     // if the entry point is defined to not need auth, then don't authenicate
     if (empty($_REQUEST['entryPoint']) || $this->controller->checkEntryPointRequiresAuth($_REQUEST['entryPoint'])) {
         $this->loadUser();
         $this->ACLFilter();
         $this->preProcess();
         $this->controller->preProcess();
     }
     if (ini_get('session.auto_start') !== false) {
         $_SESSION['breadCrumbs'] = new BreadCrumbStack($GLOBALS['current_user']->id);
     }
     SugarThemeRegistry::buildRegistry();
     $this->loadLanguages();
     $this->checkDatabaseVersion();
     $this->loadDisplaySettings();
     $this->loadLicense();
     $this->loadGlobals();
     $this->setupResourceManagement($module);
     $this->controller->execute();
     sugar_cleanup();
 }
示例#3
0
 /**
  * Perform execution of the application. This method is called from index2.php
  */
 function execute()
 {
     global $sugar_config;
     if (!empty($sugar_config['default_module'])) {
         $this->default_module = $sugar_config['default_module'];
     }
     $module = $this->default_module;
     if (!empty($_REQUEST['module'])) {
         $module = $_REQUEST['module'];
     }
     insert_charset_header();
     $this->setupPrint();
     $this->controller = ControllerFactory::getController($module);
     // make sidecar view load faster
     // TODO the rest of the code will be removed as soon as we migrate all modules to sidecar
     if ($this->controller->action === 'sidecar' || $this->controller->action === 'index' && $this->controller->module === 'Home' && (empty($_REQUEST['entryPoint']) || isset($_REQUEST['action']) && $_REQUEST['action'] === 'DynamicAction') || empty($_REQUEST)) {
         // check for not authorised users
         $this->checkMobileRedirect();
         $this->controller->action = 'sidecar';
         $this->controller->execute();
         return;
     } elseif ($this->controller->action === 'Login' && $this->controller->module === 'Users') {
         // TODO remove this when we are "iFrame free"
         // by default login location is base site URL
         $location = rtrim($sugar_config['site_url'], '/') . '/';
         $loginRedirect = $this->getLoginRedirect();
         $loginVars = $this->getLoginVars();
         if (isset($loginVars['module'])) {
             if (isModuleBWC($loginVars['module'])) {
                 // in case if login module is BWC, location is the BWC URL (as if the user was already
                 // logged in), since authentication is managed by Sidecar, not the module itself
                 $location .= '#bwc/' . $loginRedirect;
             } else {
                 // otherwise compose basic Sidecar route
                 $location .= '#' . rawurlencode($loginVars['module']);
                 if (isset($loginVars['record'])) {
                     $location .= '/' . rawurlencode($loginVars['record']);
                 }
             }
         }
         echo '<script>
         if (parent.location == window.location) {
             window.location = ' . json_encode($location) . ';
         } else {
             window.top.SUGAR.App.bwc.login(' . json_encode($loginRedirect) . ');
         }
         </script>';
         return;
     }
     // If the entry point is defined to not need auth, then don't authenticate.
     if (empty($_REQUEST['entryPoint']) || $this->controller->checkEntryPointRequiresAuth($_REQUEST['entryPoint'])) {
         $this->startSession();
         // check for authorised users
         $this->checkMobileRedirect();
         $this->loadUser();
         $this->ACLFilter();
         $this->preProcess();
         $this->controller->preProcess();
         $this->checkHTTPReferer();
         $this->csrfAuthenticate();
     }
     SugarThemeRegistry::buildRegistry();
     $this->loadLanguages();
     $this->checkDatabaseVersion();
     $this->loadDisplaySettings();
     $this->loadLicense();
     $this->loadGlobals();
     $this->setupResourceManagement($module);
     $this->controller->execute();
     sugar_cleanup();
 }
示例#4
0
        $_SESSION['view'] = $view;
    }
    //session_register("view");
}
/** Function to set, character set in the header, as given in include/language/*_lang.php
 */
function insert_charset_header()
{
    global $app_strings, $default_charset;
    $charset = $default_charset;
    if (isset($app_strings['LBL_CHARSET'])) {
        $charset = $app_strings['LBL_CHARSET'];
    }
    header('Content-Type: text/html; charset=' . $charset);
}
insert_charset_header();
// Create or reestablish the current session
session_start();
if (!is_file('config.inc.php')) {
    header("Location: install.php");
    exit;
}
require_once 'config.inc.php';
if (!isset($dbconfig['db_hostname']) || $dbconfig['db_status'] == '_DB_STAT_') {
    header("Location: install.php");
    exit;
}
// load up the config_override.php file.  This is used to provide default user settings
if (is_file('config_override.php')) {
    require_once 'config_override.php';
}