public function TrashUnexpectedOutput() { if (!$this->m_bPassThrough) { parent::TrashUnexpectedOutput(); } }
/** * Downloads a document to the browser, either as 'inline' or 'attachment' * * @param WebPage $oPage The web page for the output * @param string $sClass Class name of the object * @param mixed $id Identifier of the object * @param string $sAttCode Name of the attribute containing the document to download * @param string $sContentDisposition Either 'inline' or 'attachment' * @return none */ function DownloadDocument(WebPage $oPage, $sClass, $id, $sAttCode, $sContentDisposition = 'attachment') { try { $oObj = MetaModel::GetObject($sClass, $id, false, false); if (!is_object($oObj)) { throw new Exception("Invalid id ({$id}) for class '{$sClass}' - the object does not exist or you are not allowed to view it"); } $oDocument = $oObj->Get($sAttCode); if (is_object($oDocument)) { $oPage->TrashUnexpectedOutput(); $oPage->SetContentType($oDocument->GetMimeType()); $oPage->SetContentDisposition($sContentDisposition, $oDocument->GetFileName()); $oPage->add($oDocument->GetData()); } } catch (Exception $e) { $oPage->p($e->getMessage()); } }
$oP->p("Error the query can not be executed."); if ($e instanceof CoreException) { $oP->p($e->GetHtmlDesc()); } else { $oP->p($e->getMessage()); } } } if (!$oP) { // Display a short message about how to use this page $bModeCLI = utils::IsModeCLI(); if ($bModeCLI) { $oP = new CLIPage("iTop - Export"); } else { $oP = new WebPage("iTop - Export"); } $oP->p("General purpose export page."); $oP->p("Parameters:"); $oP->p(" * expression: an OQL expression (URL encoded if needed)"); $oP->p(" * query: (alternative to 'expression') the id of an entry from the query phrasebook"); $oP->p(" * arg_xxx: (needed if the query has parameters) the value of the parameter 'xxx'"); $oP->p(" * format: (optional, default is html) the desired output format. Can be one of 'html', 'spreadsheet', 'csv', 'xlsx' or 'xml'"); $oP->p(" * fields: (optional, no effect on XML format) list of fields (attribute codes, or alias.attcode) separated by a coma"); $oP->p(" * fields_advanced: (optional, no effect on XML/HTML formats ; ignored is fields is specified) If set to 1, the default list of fields will include the external keys and their reconciliation keys"); $oP->p(" * filename: (optional, no effect in CLI mode) if set then the results will be downloaded as a file"); } if ($sFileName != '') { $oP->add_header('Content-Disposition: attachment; filename="' . $sFileName . '"'); } $oP->TrashUnexpectedOutput(); $oP->output();