function get_modules() { global $adb, $log; $log->debug("Entering customer portal Function get_modules"); // Check if information is available in cache? $modules = Vtiger_Soap_CustomerPortal::lookupAllowedModules(); if ($modules === false) { $modules = array(); $query = $adb->pquery("SELECT vtiger_customerportal_tabs.* FROM vtiger_customerportal_tabs\n\t\t\tINNER JOIN vtiger_tab ON vtiger_tab.tabid = vtiger_customerportal_tabs.tabid\n\t\t\tWHERE vtiger_tab.presence = 0 AND vtiger_customerportal_tabs.visible = 1", array()); $norows = $adb->num_rows($query); if ($norows) { while ($resultrow = $adb->fetch_array($query)) { $modules[(int) $resultrow['sequence']] = getTabModuleName($resultrow['tabid']); } ksort($modules); // Order via SQL might cost us, so handling it ourselves in this case } Vtiger_Soap_CustomerPortal::updateAllowedModules($modules); } $log->debug("Exiting customerportal function get_modules"); return $modules; }