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);
Exemple #2
0
    }
    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']);
Exemple #3
0
/**
 * 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;
}