public function testajaxLink()
 {
     global $sugar_config;
     $ajaxUIDisabled = isset($sugar_config['disableAjaxUI']) && $sugar_config['disableAjaxUI'];
     if (!$ajaxUIDisabled) {
         $this->assertSame('?action=ajaxui#ajaxUILoc=', ajaxLink(''));
         $testModules = array('Calendar', 'Emails', 'Campaigns', 'Documents', 'DocumentRevisions', 'Project', 'ProjectTask', 'EmailMarketing', 'CampaignLog', 'CampaignTrackers', 'Releases', 'Groups', 'EmailMan', "Administration", "ModuleBuilder", 'Schedulers', 'SchedulersJobs', 'DynamicFields', 'EditCustomFields', 'EmailTemplates', 'Users', 'Currencies', 'Trackers', 'Connectors', 'Import_1', 'Import_2', 'vCals', 'CustomFields', 'Roles', 'Audit', 'InboundEmail', 'SavedSearch', 'UserPreferences', 'MergeRecords', 'EmailAddresses', 'Relationships', 'Employees', 'Import', 'OAuthKeys');
         $bannedModules = ajaxBannedModules();
         foreach ($testModules as $module) {
             $uri = "index.php?module={$module}&action=detail&record=1";
             if (!in_array($module, $bannedModules)) {
                 $this->assertSame("?action=ajaxui#ajaxUILoc=" . urlencode($uri), ajaxLink($uri));
             } else {
                 $this->assertSame($uri, ajaxLink($uri));
             }
         }
     }
 }
Exemple #2
0
function ajaxLink($url)
{
    global $sugar_config;
    $match = array();
    $javascriptMatch = array();
    preg_match('/module=([^&]*)/i', $url, $match);
    preg_match('/^javascript/i', $url, $javascriptMatch);
    if (!empty($sugar_config['disableAjaxUI'])) {
        return $url;
    } else {
        if (isset($match[1]) && in_array($match[1], ajaxBannedModules())) {
            return $url;
        } else {
            if (isset($javascriptMatch[0])) {
                return $url;
            } else {
                return "?action=ajaxui#ajaxUILoc=" . urlencode($url);
            }
        }
    }
}
 /**
  * @see SugarView::display()
  */
 public function display()
 {
     global $sugar_config, $moduleList;
     //create array of subpanels to show, used to create Drag and Drop widget
     $enabled = array();
     $disabled = array();
     $banned = ajaxBannedModules();
     foreach ($moduleList as $module) {
         if (!in_array($module, $banned)) {
             $enabled[] = array("module" => $module, 'label' => translate($module));
         }
     }
     if (!empty($sugar_config['addAjaxBannedModules'])) {
         foreach ($sugar_config['addAjaxBannedModules'] as $module) {
             $disabled[] = array("module" => $module, 'label' => translate($module));
         }
     }
     $this->ss->assign('enabled_mods', json_encode($enabled));
     $this->ss->assign('disabled_mods', json_encode($disabled));
     $this->ss->assign('title', $this->getModuleTitle(false));
     echo $this->ss->fetch('modules/Administration/templates/ConfigureAjaxUI.tpl');
 }
Exemple #4
0
 /**
  * Fetch config values to be put into an array for JavaScript
  *
  * @return array
  */
 protected function getSugarConfigJS()
 {
     global $sugar_config;
     // Set all the config parameters in the JS config as necessary
     $config_js = array();
     // AjaxUI stock banned modules
     $config_js[] = "SUGAR.config.stockAjaxBannedModules = " . json_encode(ajaxBannedModules()) . ";";
     if (isset($sugar_config['quicksearch_querydelay'])) {
         $config_js[] = $this->prepareConfigVarForJs('quicksearch_querydelay', $sugar_config['quicksearch_querydelay']);
     }
     if (empty($sugar_config['disableAjaxUI'])) {
         $config_js[] = "SUGAR.config.disableAjaxUI = false;";
     } else {
         $config_js[] = "SUGAR.config.disableAjaxUI = true;";
     }
     if (!empty($sugar_config['addAjaxBannedModules'])) {
         $config_js[] = $this->prepareConfigVarForJs('addAjaxBannedModules', $sugar_config['addAjaxBannedModules']);
     }
     if (!empty($sugar_config['overrideAjaxBannedModules'])) {
         $config_js[] = $this->prepareConfigVarForJs('overrideAjaxBannedModules', $sugar_config['overrideAjaxBannedModules']);
     }
     if (!empty($sugar_config['js_available']) && is_array($sugar_config['js_available'])) {
         foreach ($sugar_config['js_available'] as $configKey) {
             if (isset($sugar_config[$configKey])) {
                 $jsVariableStatement = $this->prepareConfigVarForJs($configKey, $sugar_config[$configKey]);
                 if (!array_search($jsVariableStatement, $config_js)) {
                     $config_js[] = $jsVariableStatement;
                 }
             }
         }
     }
     return $config_js;
 }
 protected function getSugarConfigJS()
 {
     global $sugar_config;
     // Set all the config parameters in the JS config as necessary
     $config_js = array();
     // AjaxUI stock banned modules
     $config_js[] = "SUGAR.config.stockAjaxBannedModules = " . json_encode(ajaxBannedModules()) . ";";
     if (isset($sugar_config['quicksearch_querydelay'])) {
         $config_js[] = "SUGAR.config.quicksearch_querydelay = {$GLOBALS['sugar_config']['quicksearch_querydelay']};";
     }
     if (empty($sugar_config['disableAjaxUI'])) {
         $config_js[] = "SUGAR.config.disableAjaxUI = false;";
     } else {
         $config_js[] = "SUGAR.config.disableAjaxUI = true;";
     }
     if (!empty($sugar_config['addAjaxBannedModules'])) {
         $config_js[] = "SUGAR.config.addAjaxBannedModules = " . json_encode($sugar_config['addAjaxBannedModules']) . ";";
     }
     if (!empty($sugar_config['overrideAjaxBannedModules'])) {
         $config_js[] = "SUGAR.config.overrideAjaxBannedModules = " . json_encode($sugar_config['overrideAjaxBannedModules']) . ";";
     }
     return $config_js;
 }