require_once "modules/Mailer/MailerFactory.php"; // imports all of the Mailer classes that are needed global $sugar_config; $language = $sugar_config['default_language']; $app_list_strings = return_app_list_strings_language($language); $app_strings = return_application_language($language); $reportSchedule = new ReportSchedule(); // Process Enterprise Schedule reports via CSV $reportsToEmailEnt = $reportSchedule->get_ent_reports_to_email("", "ent"); global $report_modules, $modListHeader, $locale; foreach ($reportsToEmailEnt as $scheduleId => $scheduleInfo) { $user = BeanFactory::getBean('Users', $scheduleInfo['user_id']); $current_user = $user; // should this be the global $current_user? global $current_user isn't referenced $modListHeader = query_module_access_list($current_user); $report_modules = getAllowedReportModules($modListHeader); // Acquire the enterprise report to be sent $reportMaker = new ReportMaker(); $reportMaker->retrieve($scheduleInfo['report_id']); $mod_strings = return_module_language($language, 'Reports'); // Process data sets into CSV files // loop through data sets; $dataSets = $reportMaker->get_data_sets(); $tempFiles = array(); foreach ($dataSets as $key => $dataSet) { $csv = $dataSet->export_csv(); $filenamestamp = "{$dataSet->name}_{$user->user_name}_" . date(translate("LBL_CSV_TIMESTAMP", "Reports"), time()); $filename = str_replace(" ", "_", "{$reportMaker->name}{$filenamestamp}.csv"); $fp = sugar_fopen(sugar_cached("csv/") . $filename, "w"); fwrite($fp, $csv); fclose($fp);
} global $beanFiles; // Bug 38864 - Parse the reportmoduledefs.php file for a list of modules we should include or disclude from this list // Provides contents of $exemptModules and $additionalModules arrays $exemptModules = array(); $additionalModules = array(); foreach (SugarAutoLoader::existingCustom('modules/Reports/metadata/reportmodulesdefs.php') as $file) { include $file; } foreach ($report_modules as $module => $class_name) { if (!isset($beanFiles[$class_name]) || in_array($module, $exemptModules)) { unset($report_modules[$module]); } } foreach ($additionalModules as $module) { if (isset($beanList[$module])) { $report_modules[$module] = $beanList[$module]; } } if (should_hide_iframes() && isset($report_modules['iFrames'])) { unset($report_modules['iFrames']); } return $report_modules; } include 'include/modules.php'; $GLOBALS['report_modules'] = getAllowedReportModules($modListHeader); global $report_modules; $module_map = array('accounts' => 'Accounts', 'bugs' => 'Bugs', 'forecasts' => 'Forecasts', 'leads' => 'Leads', 'project_task' => 'ProjectTask', 'prospects' => 'Prospects', 'quotes' => 'Quotes', 'calls' => 'Calls', 'cases' => 'Cases', 'contacts' => 'Contacts', 'emails' => 'Emails', 'meetings' => 'Meetings', 'opportunities' => 'Opportunities', 'tasks' => 'Tasks', 'contracts' => 'Contracts', 'timeperiods' => 'TimePeriods', 'quotas' => 'Quotas'); $my_report_titles = array('Accounts' => $local_mod_strings['LBL_MY_ACCOUNT_REPORTS'], 'Contacts' => $local_mod_strings['LBL_MY_CONTACT_REPORTS'], 'Opportunities' => $local_mod_strings['LBL_MY_OPPORTUNITY_REPORTS'], 'Bugs' => $local_mod_strings['LBL_MY_BUG_REPORTS'], 'Cases' => $local_mod_strings['LBL_MY_CASE_REPORTS'], 'Leads' => $local_mod_strings['LBL_MY_LEAD_REPORTS'], 'Forecasts' => $local_mod_strings['LBL_MY_FORECAST_REPORTS'], 'ProjectTask' => $local_mod_strings['LBL_MY_PROJECT_TASK_REPORTS'], 'Prospects' => $local_mod_strings['LBL_MY_PROSPECT_REPORTS'], 'Quotes' => $local_mod_strings['LBL_MY_QUOTE_REPORTS'], 'Calls' => $local_mod_strings['LBL_MY_CALL_REPORTS'], 'Meetings' => $local_mod_strings['LBL_MY_MEETING_REPORTS'], 'Tasks' => $local_mod_strings['LBL_MY_TASK_REPORTS'], 'Emails' => $local_mod_strings['LBL_MY_EMAIL_REPORTS'], 'Contracts' => $local_mod_strings['LBL_MY_CONTRACT_REPORTS']); $my_team_report_titles = array('Accounts' => $local_mod_strings['LBL_MY_TEAM_ACCOUNT_REPORTS'], 'Contacts' => $local_mod_strings['LBL_MY_TEAM_CONTACT_REPORTS'], 'Opportunities' => $local_mod_strings['LBL_MY_TEAM_OPPORTUNITY_REPORTS'], 'Leads' => $local_mod_strings['LBL_MY_TEAM_LEAD_REPORTS'], 'Quotes' => $local_mod_strings['LBL_MY_TEAM_QUOTE_REPORTS'], 'Cases' => $local_mod_strings['LBL_MY_TEAM_CASE_REPORTS'], 'Bugs' => $local_mod_strings['LBL_MY_TEAM_BUG_REPORTS'], 'Forecasts' => $local_mod_strings['LBL_MY_TEAM_FORECAST_REPORTS'], 'ProjectTask' => $local_mod_strings['LBL_MY_TEAM_PROJECT_TASK_REPORTS'], 'Prospects' => $local_mod_strings['LBL_MY_TEAM_PROSPECT_REPORTS'], 'Calls' => $local_mod_strings['LBL_MY_TEAM_CALL_REPORTS'], 'Meetings' => $local_mod_strings['LBL_MY_TEAM_MEETING_REPORTS'], 'Tasks' => $local_mod_strings['LBL_MY_TEAM_TASK_REPORTS'], 'Emails' => $local_mod_strings['LBL_MY_TEAM_EMAIL_REPORTS'], 'Contracts' => $local_mod_strings['LBL_MY_TEAM_CONTRACT_REPORTS']); $published_report_titles = array('Accounts' => $local_mod_strings['LBL_PUBLISHED_ACCOUNT_REPORTS'], 'Contacts' => $local_mod_strings['LBL_PUBLISHED_CONTACT_REPORTS'], 'Opportunities' => $local_mod_strings['LBL_PUBLISHED_OPPORTUNITY_REPORTS'], 'Leads' => $local_mod_strings['LBL_PUBLISHED_LEAD_REPORTS'], 'Quotes' => $local_mod_strings['LBL_PUBLISHED_QUOTE_REPORTS'], 'Cases' => $local_mod_strings['LBL_PUBLISHED_CASE_REPORTS'], 'Bugs' => $local_mod_strings['LBL_PUBLISHED_BUG_REPORTS'], 'Forecasts' => $local_mod_strings['LBL_PUBLISHED_FORECAST_REPORTS'], 'ProjectTask' => $local_mod_strings['LBL_PUBLISHED_PROJECT_TASK_REPORTS'], 'Prospects' => $local_mod_strings['LBL_PUBLISHED_PROSPECT_REPORTS'], 'Calls' => $local_mod_strings['LBL_PUBLISHED_CALL_REPORTS'], 'Meetings' => $local_mod_strings['LBL_PUBLISHED_MEETING_REPORTS'], 'Tasks' => $local_mod_strings['LBL_PUBLISHED_TASK_REPORTS'], 'Emails' => $local_mod_strings['LBL_PUBLISHED_EMAIL_REPORTS'], 'Contracts' => $local_mod_strings['LBL_PUBLISHED_CONTRACT_REPORTS']);
/** * Return a list of modules that are not allowed to be shown in Reports listview due to ACL * * @return array of modules to be removed from Reports listview. */ function getACLDisAllowedModules() { require_once 'modules/Reports/config.php'; global $modListHeader; $report_modules = getAllowedReportModules($modListHeader); $unallowed_modules = array(); foreach ($report_modules as $module => $class_name) { $seed = BeanFactory::getBean($module); if (empty($seed) || !$seed->ACLAccess('DetailView')) { $unallowed_modules[$module] = $class_name; } } return $unallowed_modules; }