Beispiel #1
0
 */
if (!defined('SUGAR_BASE_DIR')) {
    define('SUGAR_BASE_DIR', str_replace('\\', '/', realpath(dirname(__FILE__) . '/../..')));
}
/*
 * First step in removing getimage and getYUIComboFile -- at least this bypasses most of the app,
 * making assets load faster.
 */
if (isset($_GET["entryPoint"])) {
    if ($_GET["entryPoint"] == "getImage") {
        require_once 'include/utils.php';
        require_once 'include/SugarTheme/SugarTheme.php';
        require_once 'include/utils/autoloader.php';
        require_once 'include/SugarLogger/SugarNullLogger.php';
        $GLOBALS['log'] = new SugarNullLogger();
        SugarAutoLoader::init();
        SugarAutoLoader::requireWithCustom('include/SugarMetric/Helper.php');
        SugarMetric_Helper::run('image');
        include "include/SugarTheme/getImage.php";
        die;
    } else {
        if ($_GET["entryPoint"] == "getYUIComboFile") {
            require_once 'include/SugarMetric/Helper.php';
            require_once 'include/SugarLogger/SugarNullLogger.php';
            $GLOBALS['log'] = new SugarNullLogger();
            SugarMetric_Helper::run('YUIComboFile');
            include "include/javascript/getYUIComboFile.php";
            die;
        }
    }
}
Beispiel #2
0
/**
 * Clean up Sugar environment
 * @param bool $exit Should we exit() after we're done?
 */
function sugar_cleanup($exit = false)
{
    static $called = false;
    if ($called) {
        return;
    }
    $called = true;
    $root_path = sugar_root_dir();
    $paths = explode(PATH_SEPARATOR, get_include_path());
    if (in_array($root_path, $paths) == false) {
        set_include_path($root_path . PATH_SEPARATOR . get_include_path());
    }
    chdir($root_path);
    // if cleanup runs before autoloader was loaded then init autoloader.
    if (!class_exists('SugarAutoLoader')) {
        require_once 'include/utils/autoloader.php';
        SugarAutoLoader::init();
    }
    global $sugar_config;
    require_once 'include/utils/LogicHook.php';
    LogicHook::initialize();
    $GLOBALS['logic_hook']->call_custom_logic('', 'server_round_trip');
    //added this check to avoid errors during install.
    if (empty($sugar_config['dbconfig'])) {
        if ($exit) {
            exit;
        } else {
            return;
        }
    }
    if (!class_exists('Tracker', true)) {
        require_once 'modules/Trackers/Tracker.php';
    }
    Tracker::logPage();
    // Now write the cached tracker_queries
    if (class_exists("TrackerManager")) {
        $trackerManager = TrackerManager::getInstance();
        if ($monitor = $trackerManager->getMonitor('tracker_queries')) {
            $trackerManager->saveMonitor($monitor, true);
        }
    }
    if (!empty($GLOBALS['savePreferencesToDB']) && $GLOBALS['savePreferencesToDB']) {
        if (isset($GLOBALS['current_user']) && $GLOBALS['current_user'] instanceof User) {
            $GLOBALS['current_user']->savePreferencesToDB();
        }
    }
    //check to see if this is not an `ajax call AND the user preference error flag is set
    if (isset($_SESSION['USER_PREFRENCE_ERRORS']) && $_SESSION['USER_PREFRENCE_ERRORS'] && ($_REQUEST['action'] != 'modulelistmenu' && $_REQUEST['action'] != 'DynamicAction') && ($_REQUEST['action'] != 'favorites' && $_REQUEST['action'] != 'DynamicAction') && (empty($_REQUEST['to_pdf']) || !$_REQUEST['to_pdf']) && (empty($_REQUEST['sugar_body_only']) || !$_REQUEST['sugar_body_only'])) {
        global $app_strings;
        //this is not an ajax call and the user preference error flag is set, so reset the flag and print js to flash message
        $err_mess = $app_strings['ERROR_USER_PREFS'];
        $_SESSION['USER_PREFRENCE_ERRORS'] = false;
        echo "\n        <script>\n            ajaxStatus.flashStatus('{$err_mess}',7000);\n        </script>";
    }
    SugarAutoLoader::saveClassMap();
    if (class_exists('DBManagerFactory', false)) {
        DBManagerFactory::disconnectAll();
    }
    if ($exit) {
        exit;
    }
}