public function TrashUnexpectedOutput()
 {
     if (!$this->m_bPassThrough) {
         parent::TrashUnexpectedOutput();
     }
 }
Beispiel #2
0
/**
 * 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());
    }
}
Beispiel #3
0
        $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();