function post_install() { // create directory for external contract pdf files $externalContractsPdfDir = "{$GLOBALS['sugar_config']['cache_dir']}/modules/Emails/attachments/"; mkdir_recursive($externalContractsPdfDir); if (file_exists($externalContractsPdfDir)) { $GLOBALS['log']->debug("Successfully created directory '{$externalContractsPdfDir}'"); } else { $GLOBALS['log']->fatal("Could not create directory for creation of pdf files: '{$externalContractsPdfDir}'"); } global $sugar_config; global $sugar_version; $module_list = array('oqc_TextBlock', 'oqc_Offering', 'oqc_Product', 'oqc_Contract', 'oqc_ExternalContract', 'oqc_ProductCatalog', 'oqc_Addition', 'oqc_Task'); // Add banning of AjaxUI for openqc modules require_once 'modules/Configurator/Configurator.php'; $cfg = new Configurator(); $overrideArray = $cfg->readOverride(); if (array_key_exists('addAjaxBannedModules', $overrideArray)) { $disabled_modules = $overrideArray['addAjaxBannedModules']; $updatedArray = array_merge($disabled_modules, array_diff($module_list, $disabled_modules)); } else { $updatedArray = $module_list; } $cfg->config['addAjaxBannedModules'] = empty($updatedArray) ? FALSE : $updatedArray; $cfg->handleOverride(); // Configure documents.properties file depending on OS. There is three choices atm //1. Default- Linux (OpenSuse, Ubuntu); 2. WinXP; 3. MACOSX $oqc_config_directory = 'include/oqc/conf/'; if (strtoupper(substr(php_uname('s'), 0, 3)) === 'WIN') { if (file_exists($oqc_config_directory . 'documents_linux.properties')) { unlink($oqc_config_directory . 'documents_linux.properties'); } rename($oqc_config_directory . 'documents.properties', $oqc_config_directory . 'documents_linux.properties'); rename($oqc_config_directory . 'documents_windows.properties', $oqc_config_directory . 'documents.properties'); } elseif (strtoupper(substr(php_uname('s'), 0, 3)) === 'DAR') { if (file_exists($oqc_config_directory . 'documents_linux.properties')) { unlink($oqc_config_directory . 'documents_linux.properties'); } rename($oqc_config_directory . 'documents.properties', $oqc_config_directory . 'documents_linux.properties'); rename($oqc_config_directory . 'documents_macosx.properties', $oqc_config_directory . 'documents.properties'); } //Do some sanity checks before installing scheduler file if sugar version is lower than 6.3 if (floatval(substr($sugar_version, 0, 3)) < 6.3) { $scheduler_directory = 'custom/modules/Schedulers/'; if (file_exists($scheduler_directory . '_AddJobsHere.php')) { //rename existing file; User can merge oqc file with original one manually if (file_exists($scheduler_directory . '_AddJobsHere_original.php')) { unlink($scheduler_directory . '_AddJobsHere_original.php'); } rename($scheduler_directory . '_AddJobsHere.php', $scheduler_directory . '_AddJobsHere_original.php'); } rename($scheduler_directory . 'oqc_AddJobsHere.php', $scheduler_directory . '_AddJobsHere.php'); } // Rebuild Roles after install require_once 'modules/ACL/install_actions.php'; //Last, Do a Quick Repair & Rebuild $module = array('All Modules'); $selected_actions = array('clearAll'); require_once 'modules/Administration/QuickRepairAndRebuild.php'; $randc = new RepairAndClear(); $randc->repairAndClearAll($selected_actions, $module, false, false); }