/** * Generates the parameters to use for the download request. * * @param mixed $reportDefinition the report definition, as an ID or object * @return array the parameters */ private static function GetParams($reportDefinition) { $params = array(); if (is_numeric($reportDefinition)) { $params['__rd'] = $reportDefinition; } else { if (is_object($reportDefinition) || is_array($reportDefinition)) { $document = XmlUtils::ConvertObjectToDocument($reportDefinition, 'reportDefinition'); $document->formatOutput = true; $params['__rdxml'] = XmlUtils::GetXmlFromDom($document); } else { throw new ReportDownloadException('Invalid report definition type: ' . $reportDefinition); } } return $params; }