private function getArchiveDocumentContent(&$id) { global $mtlda; $document = new \Mtlda\Models\DocumentModel(array('idx' => $id->id, 'guid' => $id->guid)); if (!$document) { static::raiseError("Unable to load a DocumentModel!"); return false; } $storage = new StorageController(); if (!($file = $storage->retrieveFile($document))) { static::raiseError("StorageController::retrieveFile() returned false"); return false; } if (!isset($file) || empty($file) || !is_array($file) || !isset($file['hash'], $file['content']) || empty($file['hash']) || empty($file['content'])) { static::raiseError("StorageController::retireveFile() returned an invalid file"); return false; } if (strlen($file['content']) != $document->getFileSize()) { static::raiseError("File size of retrieved file does not match archive record!"); return false; } if ($file['hash'] != $document->getFileHash()) { static::raiseError("File hash of retrieved file does not match archive record!"); return false; } return $file['content']; }
require_once 'XmlCharts/Simple/XmlSimpleSeries.php'; require_once 'Configs/SimpleSeriesConfig.php'; ?> <?php $period = 0; if (isset($_GET['period'])) { if ($_GET['period'] == null) { $period = 6; } else { $period = $_GET['period']; } } else { $period = 6; } $quotationCode = $_GET['quotation']; $storage = new StorageDao(Connection::connect()); $controller = new StorageController($storage); $config = new SimpleSeriesConfig(); $cotations = $controller->getStorageQuotations($quotationCode, $period); if ($cotations != null) { $config->config($cotations); $config->setTitle($quotationCode); $xml = "arq_line" . $quotationCode . ".xml"; $xmlResponse = $config->getChartXml()->buildXml("core/Charts/xml/" . $xml); $jsonResponse = new JsonResponse(); print_r($jsonResponse->response(true, null)->addValue("xml", str_replace("\"", "'", $xmlResponse))->serialize()); } else { $jsonResponse = new JsonResponse(); print_r($jsonResponse->response(false, "Nenhum valor encontrado neste período")->serialize()); }
private function attachAuditLogToDocument($document) { global $audit; if (!isset($document) || empty($document) || !is_a($document, 'Mtlda\\Models\\DocumentModel')) { static::raiseError(__METHOD__ . ' can only work with DocmentModels!'); return false; } if (($fqfn = $document->getFilePath()) === false) { static::raiseError(get_class($document) . '::getFilePath() returned false!'); return false; } try { $pdf = new \FPDI(); } catch (\Exception $e) { static::raiseError(__METHOD__ . '(), failed to load FPDI!', false, $e); return false; } try { $storage = new StorageController(); } catch (\Exception $e) { static::raiseError(__METHOD__ . '(), failed to load StorageController!', false, $e); return false; } try { $page_count = $pdf->setSourceFile($fqfn); } catch (\Exception $e) { static::raiseError(get_class($pdf) . '::setSourceFile() has thrown an exception!', false, $e); return false; } for ($page_no = 1; $page_no <= $page_count; $page_no++) { // import a page $templateId = $pdf->importPage($page_no); // get the size of the imported page $size = $pdf->getTemplateSize($templateId); // create a page (landscape or portrait depending on the imported page size) if ($size['w'] > $size['h']) { $pdf->AddPage('L', array($size['w'], $size['h'])); } else { $pdf->AddPage('P', array($size['w'], $size['h'])); } // use the imported page $pdf->useTemplate($templateId); } if (($audittxt = $audit->retrieveAuditLog($document->getGuid())) === false) { static::raiseError(get_class($audit) . '::retrieveAuditLog() returned false!'); return false; } if (empty($audittxt)) { static::raiseError(__METHOD__ . ' audit log is empty!'); return false; } if (($tmpdir = $storage->createTempDir('auditlog_')) === false) { static::raiseError(get_class($storage) . '::createTempDir() returned false!'); return false; } $auditlog = $tmpdir . '/AuditLog.txt'; if (file_exists($auditlog)) { static::raiseError('Strangle there is already an AuditLog.txt in my temporary directory! ' . $auditlog); return false; } if (!file_put_contents($auditlog, $audittxt)) { static::raiseError('file_put_contents() returned false!'); return false; } try { $pdf->Annotation(10, 10, 5, 7, 'AuditLog.txt', array('Subtype' => 'FileAttachment', 'Name' => 'PushPin', 'FS' => $auditlog)); } catch (\Exception $e) { unlink($auditlog); rmdir($tmpdir); static::raiseError(get_class($pdf) . '::Annotation() has thrown an exception!', false, $e); return false; } unlink($auditlog); rmdir($tmpdir); try { $pdf->Output($fqfn, 'F'); } catch (\Exception $e) { static::raiseError(get_class($pdf) . '::Output() has thrown an exception!', false, $e); return false; } try { @$pdf->cleanUp(); } catch (\Exception $e) { static::raiseError(get_class($pdf) . '::cleanUp() has thrown an exception!', false, $e); return false; } if (!$document->refresh()) { static::raiseError(get_class($document) . '::refresh() returned false!'); return false; } return true; }
public function handleQueue() { global $mtlda, $config, $audit, $mbus; if ($config->isCreatePreviewImageOnImport()) { try { $imagectrl = new \Mtlda\Controllers\ImageController(); } catch (\Exception $e) { static::raiseError(__METHOD__ . '(), unable to load ImageController!'); return false; } } if ($config->isPdfSigningEnabled() && ($sign_pos = $config->getPdfSigningIconPosition()) === false) { static::raiseError(__METHOD__ . '(), PDF-Signing is enabled but no signing-icon-position is defined!'); return false; } try { $storage = new StorageController(); } catch (\Exception $e) { static::raiseError(__METHOD__ . ', failed to load StorageController!'); return false; } $files = array(); if ($this->scanDirectory(self::INCOMING_DIRECTORY, $files) === false) { static::raiseError(__CLASS__ . '::scanDirectory() returned false!'); return false; } if (!isset($files) || empty($files)) { return true; } $start = 10; $end = 90; $cnt = 0; $total = count($files); $steps = ($end - $start) / $total; foreach ($files as $file) { $cnt += 1; $lockfile = "{$file['fqpn']}.lock"; $mbus->sendMessageToClient('import-reply', "Importing file {$cnt} of {$total}.", floor($start + $cnt * $steps) . '%'); // if file has vanished in the meantime. if (!file_exists($file['fqpn'])) { continue; } if (file_exists($lockfile)) { if (($timestamp = file_get_contents($lockfile)) === false) { static::raiseError(__METHOD__ . "(), failed to read {$lockfile}!"); return false; } if (!isset($timestamp) || empty($timestamp) || !is_numeric($timestamp)) { static::raiseError(__METHOD__ . "(), {$lockfile} does not contain a timestamp!"); return false; } if (time() < $timestamp + 5 * 60) { continue; } } if (file_put_contents($lockfile, time()) === false) { static::raiseError(__METHOD__ . "(), failed to write timestamp into {$lockfile}!"); return false; } if (($guid = $mtlda->createGuid()) === false) { static::raiseError(get_class($mtlda) . '::createGuid() returned false!'); return false; } try { $queueitem = new \Mtlda\Models\QueueItemModel(); } catch (\Exception $e) { static::raiseError(__METHOD__ . '(), failed to load QueueItemModel!'); return false; } try { $queueitem->setGuid($guid); $queueitem->setFileName($file['filename']); $queueitem->setFileSize($file['size']); $queueitem->setFileHash($file['hash']); $queueitem->setState('new'); $queueitem->setTime(microtime(true)); $queueitem->setProcessingFlag(false); if ($config->isPdfSigningEnabled()) { $queueitem->setSigningIconPosition($sign_pos); } } catch (\Exception $e) { static::raiseError('Failed to prepare QueueItemModel! ', false, $e); return false; } $in_file = $file['fqpn']; $in_dir = dirname($in_file); if (!file_exists($in_file)) { static::raiseError(__METHOD__ . "(), file {$in_file} does not exist!"); return false; } if (($dsc_file = preg_replace('/\\.pdf$/i', '.dsc', $in_file)) === false) { static::raiseError(__METHOD__ . '(), preg_replace() returned false!'); return false; } if (($work_file = $queueitem->getFilePath()) === false) { static::raiseError(get_class($queueitem) . '::getFilePath() returned false!'); return false; } if (isset($dsc_file) && !empty($dsc_file) && file_exists($dsc_file)) { if (($description = file_get_contents($dsc_file)) === false) { static::raiseError(__METHOD__ . "(), file_get_contents({$dsc_file}) returned false!"); return false; } if (!$queueitem->setDescription($description)) { static::raiseError(get_class($queueitem) . '::setDescription() returned false!'); return false; } } // create the target directory structure if (!$storage->createDirectoryStructure(dirname($work_file))) { static::raiseError(get_class($storage) . '::createDirectoryStructure() returned false!'); return false; } if (copy($in_file, $work_file) === false) { static::raiseError(__METHOD__ . "(), copy({$in_file}, {$work_file}) returned false!"); return false; } if (!$queueitem->save()) { $queueitem->delete(); static::raiseError(get_class($queueitem) . '::save() returned false!'); return false; } if (!unlink($in_file)) { static::raiseError(__METHOD__ . "(), unlink({$in_file}) failed!"); return false; } if (isset($dsc_file) && !empty($dsc_file) && file_exists($dsc_file)) { if (!unlink($dsc_file)) { static::raiseError(__METHOD__ . "(), unlink({$dsc_file}) failed!"); return false; } } if ($in_dir != self::INCOMING_DIRECTORY) { if (!$this->unlinkDirectory($in_dir)) { static::raiseError(__CLASS__ . '::unlinkDirectory() returned false!'); return false; } } $json_str = json_encode(array('file_name' => $file['filename'], 'file_size' => $file['size'], 'file_hash' => $file['hash'], 'state' => 'new')); if (!$json_str) { $queueitem->delete(); static::raiseError(__METHOD__ . '(), json_encode() returned false!'); return false; } try { $audit->log($json_str, "import", "queue", $guid); } catch (\Exception $e) { $queueitem->delete(); static::raiseError(get_class($audit) . '::log() returned false!'); return false; } if ($config->isCreatePreviewImageOnImport()) { if (!$imagectrl->createPreviewImage($queueitem, false)) { static::raiseError(get_class($imagectrl) . '::savePreviewImage() returned false!'); return false; } } if (file_exists($lockfile) && !unlink($lockfile)) { static::raiseError(__METHOD__ . "(), unlink({$lockfile}) failed!"); return false; } } return true; }
<?php error_reporting(E_ALL); ini_set('display_errors', '1'); require_once 'core/Cotation/CotacoesRefactor/Classifier/DateMap.php'; require_once 'core/Cotation/CotacoesRefactor/Classifier/Cotation.php'; require_once 'core/Cotation/CotacoesRefactor/Classifier/Classifier.php'; require_once 'StorageDao.php'; require_once 'StorageController.php'; require_once 'core/Charts/XmlCharts/XmlChart.php'; require_once 'core/Charts/XmlCharts/Simple/XmlSimpleSeries.php'; require_once 'core/Charts/Configs/SimpleSeriesConfig.php'; ?> <?php $quotationCode = $_GET['quotation']; $storage = new StorageDao(Connection::connect()); $controller = new StorageController($storage); header('Content-type: application/json'); echo $controller->getStorageQuotationsToJson($quotationCode);