Esempio n. 1
0
 public function action_updatewirelessenabledmodules()
 {
     require_once 'modules/Administration/Forms.php';
     global $app_strings, $current_user, $moduleList;
     if (!is_admin($current_user)) {
         sugar_die($app_strings['ERR_NOT_ADMIN']);
     }
     require_once 'modules/Configurator/Configurator.php';
     $configurator = new Configurator();
     $configurator->saveConfig();
     if (isset($_REQUEST['enabled_modules']) && !empty($_REQUEST['enabled_modules'])) {
         $updated_enabled_modules = array();
         $wireless_module_registry = array();
         $file = 'include/MVC/Controller/wireless_module_registry.php';
         if (SugarAutoLoader::fileExists($file)) {
             require $file;
         }
         foreach (explode(',', $_REQUEST['enabled_modules']) as $moduleName) {
             $moduleDef = array_key_exists($moduleName, $wireless_module_registry) ? $wireless_module_registry[$moduleName] : array();
             $updated_enabled_modules[$moduleName] = $moduleDef;
         }
         $filename = create_custom_directory('include/MVC/Controller/wireless_module_registry.php');
         mkdir_recursive(dirname($filename));
         write_array_to_file('wireless_module_registry', $updated_enabled_modules, $filename);
         foreach ($moduleList as $mod) {
             sugar_cache_clear("CONTROLLER_wireless_module_registry_{$mod}");
         }
         //Users doesn't appear in the normal module list, but its value is cached on login.
         sugar_cache_clear("CONTROLLER_wireless_module_registry_Users");
         sugar_cache_reset();
         // Bug 59121 - Clear the metadata cache for the mobile platform
         MetaDataManager::refreshCache(array('mobile'));
     }
     echo "true";
 }
 /**
  * Refreshes cache so that module metadata is rebuilt.
  */
 protected function refreshCache()
 {
     MetaDataManager::refreshCache(array('base', 'portal'));
 }