ini_set('max_execution_time', max(300, ini_get('max_execution_time'))); // At least 5 minutes $sToken = utils::ReadParam('token', '', false, 'raw_data'); $oExcelExporter = new ExcelExporter($sToken); $aStatus = $oExcelExporter->Run(); $aResults = array('status' => $aStatus['code'], 'percentage' => $aStatus['percentage'], 'message' => $aStatus['message']); if ($aStatus['code'] == 'done') { $aResults['statistics'] = $oExcelExporter->GetStatistics('html'); } $oPage->add(json_encode($aResults)); break; case 'xlsx_download': $sToken = utils::ReadParam('token', '', false, 'raw_data'); $oPage->SetContentType('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); $oPage->SetContentDisposition('attachment', 'export.xlsx'); $sFileContent = ExcelExporter::GetExcelFileFromToken($sToken); $oPage->add($sFileContent); ExcelExporter::CleanupFromToken($sToken); break; case 'xlsx_abort': // Stop & cleanup an export... $sToken = utils::ReadParam('token', '', false, 'raw_data'); ExcelExporter::CleanupFromToken($sToken); break; case 'relation_pdf': case 'relation_attachment': require_once APPROOT . 'core/simplegraph.class.inc.php'; require_once APPROOT . 'core/relationgraph.class.inc.php'; require_once APPROOT . 'core/displayablegraph.class.inc.php'; $sRelation = utils::ReadParam('relation', 'impacts'); $sDirection = utils::ReadParam('direction', 'down');