protected function initializeVersion($versionId) { $this->version = Version::loadById($versionId, array('OBJECT.STORAGE')); if (!$this->version) { $this->errorCollection->add(array(new Error(Loc::getMessage('DISK_DOC_CONTROLLER_ERROR_COULD_NOT_FIND_FILE'), self::ERROR_COULD_NOT_FIND_FILE))); $this->sendJsonErrorResponse(); } $this->file = $this->version->getObject(); if (!$this->file) { $this->errorCollection->add(array(new Error(Loc::getMessage('DISK_DOC_CONTROLLER_ERROR_COULD_NOT_FIND_VERSION'), self::ERROR_COULD_NOT_FIND_VERSION))); $this->sendJsonErrorResponse(); } }
/** * Gets data attributes by version to viewer. * @param Version $version Target version. * @param array $additionalParams Additional parameters 'canUpdate', 'showStorage'. * @return string */ public static function getAttributesByVersion(Version $version, array $additionalParams = array()) { $object = $version->getObject(); $objectId = $object->getId(); $urlManager = Driver::getInstance()->getUrlManager(); if (DocumentHandler::isEditable($version->getExtension())) { $dataAttributesForViewer = 'data-bx-viewer="iframe" ' . 'data-bx-title="' . htmlspecialcharsbx($version->getName()) . '" ' . 'data-bx-src="' . $urlManager->getUrlToShowVersionByService($objectId, $version->getId(), 'gvdrive') . '" ' . 'data-bx-isFromUserLib="" ' . 'data-bx-askConvert="' . (DocumentHandler::isNeedConvertExtension($version->getExtension()) ? '1' : '') . '" ' . 'data-bx-download="' . $urlManager->getUrlForDownloadVersion($version) . '" ' . 'data-bx-size="' . htmlspecialcharsbx(CFile::formatSize($version->getSize())) . '" '; } elseif (Viewer::isViewable($object->getExtension())) { $dataAttributesForViewer = 'data-bx-viewer="iframe" ' . 'data-bx-title="' . htmlspecialcharsbx($version->getName()) . '" ' . 'data-bx-src="' . $urlManager->getUrlToShowVersionByService($objectId, $version->getId(), 'gvdrive') . '" ' . 'data-bx-isFromUserLib="" ' . 'data-bx-askConvert="0" ' . 'data-bx-download="' . $urlManager->getUrlForDownloadVersion($version) . '" ' . 'data-bx-size="' . htmlspecialcharsbx(CFile::formatSize($version->getSize())) . '" ' . 'data-bx-dateModify="' . htmlspecialcharsbx($version->getCreateTime()) . '" '; } elseif (TypeFile::isImage($object)) { $dataAttributesForViewer = 'data-bx-viewer="image" ' . 'data-bx-title="' . htmlspecialcharsbx($object->getName()) . '" ' . 'data-bx-src="' . $urlManager->getUrlForDownloadVersion($version) . '" ' . 'data-bx-isFromUserLib="" ' . 'data-bx-download="' . $urlManager->getUrlForDownloadVersion($version) . '" '; } else { $dataAttributesForViewer = 'data-bx-viewer="unknown" ' . 'data-bx-src="' . $urlManager->getUrlForDownloadVersion($version) . '" ' . 'data-bx-isFromUserLib="" ' . 'data-bx-download="' . $urlManager->getUrlForDownloadVersion($version) . '" ' . 'data-bx-title="' . htmlspecialcharsbx($object->getName()) . '" ' . 'data-bx-owner="' . htmlspecialcharsbx($version->getCreateUser() ? $version->getCreateUser()->getFormattedName() : '') . '" ' . 'data-bx-dateModify="' . htmlspecialcharsbx($version->getCreateTime()) . '" ' . 'data-bx-size="' . htmlspecialcharsbx(CFile::formatSize($version->getSize())) . '" '; } $dataAttributesForViewer .= " data-bx-version=\"\"" . " data-bx-history=\"\"" . " data-bx-historyPage=\"\""; if (!empty($additionalParams['canUpdate'])) { $dataAttributesForViewer .= ' data-bx-edit="' . $urlManager->getUrlForStartEditVersion($objectId, $version->getId(), 'gdrive') . '" '; } if (!empty($additionalParams['showStorage'])) { $dataAttributesForViewer .= ' data-bx-storage="' . htmlspecialcharsbx($object->getParent()->getName()) . '" '; } return $dataAttributesForViewer; }
public function linkVersion(Version $version) { $update = $this->update(array('OBJECT_ID' => $version->getObjectId(), 'VERSION_ID' => $version->getId())); if ($update) { $this->setAttributes(array('VERSION' => $version, 'OBJECT' => $version->getObject())); } return $update; }