uawdijnntqw1x1x1
IP : 18.119.102.106
Hostname : axolotl
Kernel : Linux axolotl 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
OS : Linux
PATH:
/
var
/
www
/
axolotl
/
data
/
www
/
ekb.axolotls.ru
/
bitrix
/
components
/
bitrix
/
documentgenerator.view
/
class.php
/
/
<?php use Bitrix\DocumentGenerator\Driver; use Bitrix\DocumentGenerator\Model\ExternalLinkTable; use Bitrix\Main\Event; use Bitrix\Main\EventManager; use Bitrix\Main\Localization\Loc; use Bitrix\Main\Error; use Bitrix\Main\ErrorCollection; use Bitrix\DocumentGenerator\Document; if(!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) die(); class DocumentsViewComponent extends CBitrixComponent { /** @var Document */ protected $document; protected $errorCollection; protected $isFirstTime = false; public function __construct(CBitrixComponent $component = null) { parent::__construct($component); $this->errorCollection = new ErrorCollection(); } public function executeComponent() { $this->init(); if(!$this->isSuccess()) { /** @var Error $error */ foreach($this->errorCollection as $error) { $this->arResult['ERRORS'][] = $error->getMessage(); } $this->includeComponentTemplate(); return; } EventManager::getInstance()->send( new Event( Driver::MODULE_ID, 'onPublicView', [ 'document' => $this->document, 'isFirstTime' => $this->isFirstTime, ] ) ); $urlManager = \Bitrix\Main\Engine\UrlManager::getInstance(); $this->arResult = array_merge($this->document->getFile()->getData(), [ 'downloadUrl' => $urlManager->create('documentgenerator.api.publicdocument.getFile', [ 'id' => $this->arParams['ID'], 'hash' => $this->arParams['HASH'], ]), 'pdfUrl' => $urlManager->create('documentgenerator.api.publicdocument.getPdf', [ 'id' => $this->arParams['ID'], 'hash' => $this->arParams['HASH'], ]), 'printUrl' => $urlManager->create('documentgenerator.api.publicdocument.showPdf', [ 'print' => 'y', 'id' => $this->arParams['ID'], 'hash' => $this->arParams['HASH'], ]), ]); $this->includeComponentTemplate(); } protected function init() { Loc::loadLanguageFile(__FILE__); if(!\Bitrix\Main\Loader::includeModule('documentgenerator')) { $this->errorCollection->add([new Error(Loc::getMessage('DOCGEN_VIEW_ERROR_MODULE'))]); return; } $id = intval($this->arParams['ID']); if(!$id) { $this->errorCollection->add([new Error(Loc::getMessage('DOCGEN_VIEW_ERROR_LINK'))]); return; } $document = Document::loadById($id); if(!$document) { $this->errorCollection->add([new Error(Loc::getMessage('DOCGEN_VIEW_ERROR_LINK'))]); return; } $this->document = $document; $link = ExternalLinkTable::getByHash($this->arParams['HASH']); if(!$link || (int)$link['DOCUMENT_ID'] !== (int)$this->document->ID) { $this->errorCollection->add([new Error(Loc::getMessage('DOCGEN_VIEW_ERROR_LINK'))]); return; } if(empty($link['VIEWED_TIME']) && !ExternalLinkTable::isUserEmployee()) { $updateResult = ExternalLinkTable::update($link['ID'], [ 'VIEWED_TIME' => new \Bitrix\Main\Type\DateTime(), ]); $this->isFirstTime = $updateResult->isSuccess(); } } /** * @return bool */ protected function isSuccess(): bool { return $this->errorCollection->isEmpty(); } }
/var/www/axolotl/data/www/ekb.axolotls.ru/bitrix/components/bitrix/documentgenerator.view/class.php