protected function _generateResultsXML($data) { $xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><report/>'); foreach ($data as $rows) { $systemName = ReportBase::generateSystemName($rows['reportQuery']['displayName']); $xmlQuery = $xml->addChild($systemName); $ctr = 0; foreach ($rows['rows'] as $row) { $xmlRow = $xmlQuery->addChild('row'); $xmlRow->addAttribute('sequence', $ctr++); if ($rows['reportQuery']['type'] == ReportQuery::TYPE_NSDR) { $row = array($row['Name'] => $row['Value']); } foreach ($row as $key => $value) { $xmlRow->addChild(ReportBase::generateSystemName($key), $value); } } } return $xml; }
public function processReorderFilterAction() { $baseId = (int) $this->_getParam('baseId'); $from = $this->_getParam('from'); $to = $this->_getParam('to'); // utilizing the ORM in the meantime, but can be optimized $reportBase = new ReportBase(); $reportBase->reportBaseId = $baseId; $reportBase->populate(); $rows = array(); if (strlen($reportBase->filters) > 0) { $filters = unserialize($reportBase->filters); foreach ($filters as $id => $filter) { if ($from == $id) { $fromFilter = $filters[$id]; unset($filters[$id]); break; } } if (isset($fromFilter)) { $tmpFilters = array(); foreach ($filters as $id => $filter) { $tmpFilters[$id] = $filter; if ($to == $id) { $tmpFilters[$from] = $fromFilter; } } $filters = $tmpFilters; } foreach ($filters as $id => $filter) { $row = array(); $row['id'] = $filter->id; $row['data'] = array(); $row['data'][] = $filter->name; $row['data'][] = $filter->defaultValue; $row['data'][] = $filter->type; $row['data'][] = $this->_formatOptions($filter->options); $rows[] = $row; } $reportBase->filters = serialize($filters); $reportBase->persist(); } $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json'); $json->suppressExit = true; $json->direct(array('rows' => $rows)); }
protected function _previewStatements(array $claimIds, SimpleXMLElement $xml = null) { $refId = 'a2f8d4b3-73cf-4637-9e2e-2904ab55d64d'; $attachment = new Attachment(); $attachment->attachmentReferenceId = $refId; $attachment->populateWithAttachmentReferenceId(); if ($xml === null) { $xml = new SimpleXMLElement('<data/>'); } foreach ($claimIds as $claimId) { $this->_generateXMLStatements($xml->addChild('statements'), $claimId); } try { $content = ReportBase::mergepdfset($xml, $attachment->rawData); $this->getResponse()->setHeader('Content-Type', 'application/pdf'); } catch (Exception $e) { $content = '<script>alert("' . $e->getMessage() . '")</script>'; } return $content; }
public function processQueryAction() { $viewId = (int) $this->_getParam('viewId'); $queryId = (int) $this->_getParam('queryId'); $result = ReportBase::generateResults($viewId, array()); file_put_contents('/tmp/results.txt', print_r($result, true)); $data = array('error' => 'Query ID ' . $queryId . ' does not exists'); foreach ($result['data'] as $query) { if ($query['reportQuery']['reportQueryId'] == $queryId) { $data = $query; break; } } //trigger_error(print_r($data,true),E_USER_NOTICE); $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json'); $json->suppressExit = true; $json->direct($data); }
protected static function _generateResultsXML($data) { $xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><report/>'); foreach ($data as $rows) { $systemName = ReportBase::generateSystemName($rows['reportQuery']['displayName']); $xmlQuery = $xml->addChild($systemName); $ctr = 0; $tagNames = array(); foreach ($rows['headers'] as $key => $value) { $tagNames[$key] = $value; } foreach ($rows['rows'] as $row) { $xmlRow = $xmlQuery->addChild('row'); $xmlRow->addAttribute('sequence', $ctr++); foreach ($row['data'] as $key => $value) { $xmlRow->addChild($tagNames[$key], $value); } } } return $xml; }