├── .bowerrc ├── img ├── app.png └── app.svg ├── vendor-bin ├── phan │ └── composer.json ├── phpstan │ └── composer.json └── owncloud-codestyle │ └── composer.json ├── js ├── vendor │ └── pdfjs │ │ └── web │ │ ├── cmaps │ │ ├── H.bcmap │ │ ├── V.bcmap │ │ ├── 78-H.bcmap │ │ ├── 78-V.bcmap │ │ ├── B5-H.bcmap │ │ ├── B5-V.bcmap │ │ ├── GB-H.bcmap │ │ ├── GB-V.bcmap │ │ ├── Add-H.bcmap │ │ ├── Add-V.bcmap │ │ ├── B5pc-H.bcmap │ │ ├── B5pc-V.bcmap │ │ ├── CNS1-H.bcmap │ │ ├── CNS1-V.bcmap │ │ ├── CNS2-H.bcmap │ │ ├── CNS2-V.bcmap │ │ ├── EUC-H.bcmap │ │ ├── EUC-V.bcmap │ │ ├── Ext-H.bcmap │ │ ├── Ext-V.bcmap │ │ ├── GBK2K-H.bcmap │ │ ├── GBK2K-V.bcmap │ │ ├── GBT-H.bcmap │ │ ├── GBT-V.bcmap │ │ ├── Hankaku.bcmap │ │ ├── KSC-H.bcmap │ │ ├── KSC-V.bcmap │ │ ├── NWP-H.bcmap │ │ ├── NWP-V.bcmap │ │ ├── RKSJ-H.bcmap │ │ ├── RKSJ-V.bcmap │ │ ├── Roman.bcmap │ │ ├── 78-EUC-H.bcmap │ │ ├── 78-EUC-V.bcmap │ │ ├── 78-RKSJ-H.bcmap │ │ ├── 78-RKSJ-V.bcmap │ │ ├── CNS-EUC-H.bcmap │ │ ├── CNS-EUC-V.bcmap │ │ ├── ETHK-B5-H.bcmap │ │ ├── ETHK-B5-V.bcmap │ │ ├── ETen-B5-H.bcmap │ │ ├── ETen-B5-V.bcmap │ │ ├── GB-EUC-H.bcmap │ │ ├── GB-EUC-V.bcmap │ │ ├── GBK-EUC-H.bcmap │ │ ├── GBK-EUC-V.bcmap │ │ ├── GBT-EUC-H.bcmap │ │ ├── GBT-EUC-V.bcmap │ │ ├── Hiragana.bcmap │ │ ├── KSC-EUC-H.bcmap │ │ ├── KSC-EUC-V.bcmap │ │ ├── Katakana.bcmap │ │ ├── WP-Symbol.bcmap │ │ ├── 78ms-RKSJ-H.bcmap │ │ ├── 78ms-RKSJ-V.bcmap │ │ ├── 83pv-RKSJ-H.bcmap │ │ ├── 90ms-RKSJ-H.bcmap │ │ ├── 90ms-RKSJ-V.bcmap │ │ ├── 90msp-RKSJ-H.bcmap │ │ ├── 90msp-RKSJ-V.bcmap │ │ ├── 90pv-RKSJ-H.bcmap │ │ ├── 90pv-RKSJ-V.bcmap │ │ ├── Add-RKSJ-H.bcmap │ │ ├── Add-RKSJ-V.bcmap │ │ ├── Adobe-CNS1-0.bcmap │ │ ├── Adobe-CNS1-1.bcmap │ │ ├── Adobe-CNS1-2.bcmap │ │ ├── Adobe-CNS1-3.bcmap │ │ ├── Adobe-CNS1-4.bcmap │ │ ├── Adobe-CNS1-5.bcmap │ │ ├── Adobe-CNS1-6.bcmap │ │ ├── Adobe-GB1-0.bcmap │ │ ├── Adobe-GB1-1.bcmap │ │ ├── Adobe-GB1-2.bcmap │ │ ├── Adobe-GB1-3.bcmap │ │ ├── Adobe-GB1-4.bcmap │ │ ├── Adobe-GB1-5.bcmap │ │ ├── ETenms-B5-H.bcmap │ │ ├── ETenms-B5-V.bcmap │ │ ├── Ext-RKSJ-H.bcmap │ │ ├── Ext-RKSJ-V.bcmap │ │ ├── GBKp-EUC-H.bcmap │ │ ├── GBKp-EUC-V.bcmap │ │ ├── GBTpc-EUC-H.bcmap │ │ ├── GBTpc-EUC-V.bcmap │ │ ├── GBpc-EUC-H.bcmap │ │ ├── GBpc-EUC-V.bcmap │ │ ├── HKdla-B5-H.bcmap │ │ ├── HKdla-B5-V.bcmap │ │ ├── HKdlb-B5-H.bcmap │ │ ├── HKdlb-B5-V.bcmap │ │ ├── HKgccs-B5-H.bcmap │ │ ├── HKgccs-B5-V.bcmap │ │ ├── HKm314-B5-H.bcmap │ │ ├── HKm314-B5-V.bcmap │ │ ├── HKm471-B5-H.bcmap │ │ ├── HKm471-B5-V.bcmap │ │ ├── HKscs-B5-H.bcmap │ │ ├── HKscs-B5-V.bcmap │ │ ├── KSC-Johab-H.bcmap │ │ ├── KSC-Johab-V.bcmap │ │ ├── KSCms-UHC-H.bcmap │ │ ├── KSCms-UHC-V.bcmap │ │ ├── KSCpc-EUC-H.bcmap │ │ ├── KSCpc-EUC-V.bcmap │ │ ├── UniGB-UCS2-H.bcmap │ │ ├── UniGB-UCS2-V.bcmap │ │ ├── UniGB-UTF8-H.bcmap │ │ ├── UniGB-UTF8-V.bcmap │ │ ├── UniKS-UCS2-H.bcmap │ │ ├── UniKS-UCS2-V.bcmap │ │ ├── UniKS-UTF8-H.bcmap │ │ ├── UniKS-UTF8-V.bcmap │ │ ├── Adobe-GB1-UCS2.bcmap │ │ ├── Adobe-Japan1-0.bcmap │ │ ├── Adobe-Japan1-1.bcmap │ │ ├── Adobe-Japan1-2.bcmap │ │ ├── Adobe-Japan1-3.bcmap │ │ ├── Adobe-Japan1-4.bcmap │ │ ├── Adobe-Japan1-5.bcmap │ │ ├── Adobe-Japan1-6.bcmap │ │ ├── Adobe-Korea1-0.bcmap │ │ ├── Adobe-Korea1-1.bcmap │ │ ├── Adobe-Korea1-2.bcmap │ │ ├── KSCms-UHC-HW-H.bcmap │ │ ├── KSCms-UHC-HW-V.bcmap │ │ ├── UniCNS-UCS2-H.bcmap │ │ ├── UniCNS-UCS2-V.bcmap │ │ ├── UniCNS-UTF16-H.bcmap │ │ ├── UniCNS-UTF16-V.bcmap │ │ ├── UniCNS-UTF32-H.bcmap │ │ ├── UniCNS-UTF32-V.bcmap │ │ ├── UniCNS-UTF8-H.bcmap │ │ ├── UniCNS-UTF8-V.bcmap │ │ ├── UniGB-UTF16-H.bcmap │ │ ├── UniGB-UTF16-V.bcmap │ │ ├── UniGB-UTF32-H.bcmap │ │ ├── UniGB-UTF32-V.bcmap │ │ ├── UniJIS-UCS2-H.bcmap │ │ ├── UniJIS-UCS2-V.bcmap │ │ ├── UniJIS-UTF16-H.bcmap │ │ ├── UniJIS-UTF16-V.bcmap │ │ ├── UniJIS-UTF32-H.bcmap │ │ ├── UniJIS-UTF32-V.bcmap │ │ ├── UniJIS-UTF8-H.bcmap │ │ ├── UniJIS-UTF8-V.bcmap │ │ ├── UniKS-UTF16-H.bcmap │ │ ├── UniKS-UTF16-V.bcmap │ │ ├── UniKS-UTF32-H.bcmap │ │ ├── UniKS-UTF32-V.bcmap │ │ ├── Adobe-CNS1-UCS2.bcmap │ │ ├── Adobe-Japan1-UCS2.bcmap │ │ ├── Adobe-Korea1-UCS2.bcmap │ │ ├── UniJIS-UCS2-HW-H.bcmap │ │ ├── UniJIS-UCS2-HW-V.bcmap │ │ ├── UniJIS2004-UTF8-H.bcmap │ │ ├── UniJIS2004-UTF8-V.bcmap │ │ ├── UniJISPro-UCS2-V.bcmap │ │ ├── UniJISPro-UTF8-V.bcmap │ │ ├── UniJIS2004-UTF16-H.bcmap │ │ ├── UniJIS2004-UTF16-V.bcmap │ │ ├── UniJIS2004-UTF32-H.bcmap │ │ ├── UniJIS2004-UTF32-V.bcmap │ │ ├── UniJISPro-UCS2-HW-V.bcmap │ │ ├── UniJISX0213-UTF32-H.bcmap │ │ ├── UniJISX0213-UTF32-V.bcmap │ │ ├── UniJISX02132004-UTF32-H.bcmap │ │ ├── UniJISX02132004-UTF32-V.bcmap │ │ └── LICENSE │ │ ├── images │ │ ├── grab.cur │ │ ├── grabbing.cur │ │ ├── shadow.png │ │ ├── treeitem-collapsed.svg │ │ ├── treeitem-expanded.svg │ │ ├── loading-icon.gif │ │ ├── toolbarButton-bookmark.svg │ │ ├── secondaryToolbarButton-spreadNone.svg │ │ ├── annotation-noicon.svg │ │ ├── secondaryToolbarButton-rotateCcw.svg │ │ ├── toolbarButton-menuArrow.svg │ │ ├── secondaryToolbarButton-firstPage.svg │ │ ├── secondaryToolbarButton-lastPage.svg │ │ ├── secondaryToolbarButton-scrollHorizontal.svg │ │ ├── secondaryToolbarButton-scrollVertical.svg │ │ ├── secondaryToolbarButton-handTool.svg │ │ ├── toolbarButton-viewAttachments.svg │ │ ├── toolbarButton-zoomOut.svg │ │ ├── toolbarButton-presentationMode.svg │ │ ├── toolbarButton-zoomIn.svg │ │ ├── findbarButton-next.svg │ │ ├── findbarButton-previous.svg │ │ ├── annotation-insert.svg │ │ ├── toolbarButton-search.svg │ │ ├── annotation-check.svg │ │ ├── toolbarButton-viewOutline.svg │ │ ├── annotation-newparagraph.svg │ │ ├── secondaryToolbarButton-scrollWrapped.svg │ │ ├── secondaryToolbarButton-selectTool.svg │ │ ├── secondaryToolbarButton-rotateCw.svg │ │ ├── toolbarButton-pageDown.svg │ │ ├── toolbarButton-pageUp.svg │ │ ├── toolbarButton-secondaryToolbarToggle.svg │ │ ├── toolbarButton-currentOutlineItem.svg │ │ ├── toolbarButton-print.svg │ │ ├── secondaryToolbarButton-documentProperties.svg │ │ ├── toolbarButton-download.svg │ │ ├── toolbarButton-viewThumbnail.svg │ │ ├── toolbarButton-sidebarToggle.svg │ │ ├── toolbarButton-openFile.svg │ │ ├── secondaryToolbarButton-spreadOdd.svg │ │ ├── toolbarButton-viewLayers.svg │ │ ├── annotation-comment.svg │ │ ├── secondaryToolbarButton-spreadEven.svg │ │ ├── annotation-paragraph.svg │ │ ├── annotation-note.svg │ │ ├── annotation-key.svg │ │ ├── loading.svg │ │ ├── loading-dark.svg │ │ └── annotation-help.svg │ │ ├── compressed.tracemonkey-pldi-09.pdf │ │ └── locale │ │ ├── scn │ │ └── viewer.properties │ │ ├── wo │ │ └── viewer.properties │ │ ├── meh │ │ └── viewer.properties │ │ ├── locale.properties │ │ ├── mk │ │ └── viewer.properties │ │ ├── lo │ │ └── viewer.properties │ │ ├── tg │ │ └── viewer.properties │ │ └── uz │ │ └── viewer.properties ├── workersrc.js └── previewplugin.js ├── phpstan.neon ├── css └── style.css ├── .scrutinizer.yml ├── l10n ├── .tx │ └── config ├── zh_TW.json ├── zh-Hans.json ├── zh_CN.json ├── zh_HK.json ├── zh_TW.js ├── zh-Hans.js ├── zh_CN.js ├── zh_HK.js ├── ja.json ├── ko.json ├── ja.js ├── ko.js ├── th_TH.json ├── th_TH.js ├── en_GB.json ├── en_US.json ├── tr.json ├── ug.json ├── gl.json ├── sq.json ├── en_GB.js ├── en_US.js ├── tr.js ├── ug.js ├── ar.json ├── bg_BG.json ├── gl.js ├── nl.json ├── sq.js ├── el.json ├── es.json ├── ar.js ├── bg_BG.js ├── nl.js ├── de.json ├── el.js ├── de_DE.json ├── es.js ├── it.json ├── de.js ├── de_DE.js ├── it.js ├── pt_BR.json ├── pt_PT.json ├── pt_BR.js ├── pt_PT.js ├── ru.json ├── ru_RU.json ├── ru.js └── ru_RU.js ├── .php-cs-fixer.dist.php ├── tests └── unit │ ├── bootstrap.php │ └── Controller │ └── DisplayControllerTest.php ├── composer.json ├── appinfo ├── app.php ├── routes.php └── info.xml ├── .gitignore ├── bower.json ├── phpunit.xml ├── README.md ├── sonar-project.properties ├── CONTRIBUTING.md ├── composer.lock ├── lib └── Controller │ └── DisplayController.php ├── .phan └── config.php ├── CHANGELOG.md └── Makefile /.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "vendor" 3 | } 4 | 5 | -------------------------------------------------------------------------------- /img/app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/img/app.png -------------------------------------------------------------------------------- /vendor-bin/phan/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "phan/phan": "^5.4" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /vendor-bin/phpstan/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "phpstan/phpstan": "^1.10" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/78-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/78-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/78-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/78-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/B5-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/B5-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GB-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GB-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GB-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GB-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/grab.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/images/grab.cur -------------------------------------------------------------------------------- /vendor-bin/owncloud-codestyle/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "owncloud/coding-standard": "^4.1" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Add-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Add-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Add-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Add-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/B5pc-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/B5pc-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/B5pc-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/B5pc-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/CNS1-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/CNS1-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/CNS1-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/CNS1-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/CNS2-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/CNS2-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/CNS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/CNS2-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/EUC-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/EUC-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Ext-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Ext-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Ext-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Ext-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GBK2K-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GBK2K-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GBK2K-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GBK2K-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GBT-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GBT-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GBT-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GBT-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Hankaku.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Hankaku.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/KSC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/KSC-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/KSC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/KSC-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/NWP-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/NWP-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/NWP-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/NWP-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/RKSJ-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/RKSJ-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Roman.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Roman.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/grabbing.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/images/grabbing.cur -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/images/shadow.png -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/78-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/78-EUC-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/78-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/78-EUC-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/78-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/78-RKSJ-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/78-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/78-RKSJ-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/CNS-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/CNS-EUC-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/CNS-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/CNS-EUC-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/ETHK-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/ETHK-B5-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/ETHK-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/ETHK-B5-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/ETen-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/ETen-B5-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/ETen-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/ETen-B5-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GB-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GB-EUC-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GB-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GB-EUC-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GBK-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GBK-EUC-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GBK-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GBK-EUC-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GBT-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GBT-EUC-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GBT-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GBT-EUC-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Hiragana.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Hiragana.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/KSC-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/KSC-EUC-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/KSC-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/KSC-EUC-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Katakana.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Katakana.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/WP-Symbol.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/WP-Symbol.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/treeitem-collapsed.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/treeitem-expanded.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/78ms-RKSJ-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/78ms-RKSJ-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/83pv-RKSJ-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/90ms-RKSJ-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/90ms-RKSJ-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/90msp-RKSJ-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/90msp-RKSJ-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/90pv-RKSJ-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/90pv-RKSJ-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Add-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Add-RKSJ-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Add-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Add-RKSJ-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-CNS1-0.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-CNS1-1.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-CNS1-2.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-CNS1-3.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-CNS1-4.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-CNS1-5.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-CNS1-6.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-GB1-0.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-GB1-0.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-GB1-1.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-GB1-1.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-GB1-2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-GB1-2.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-GB1-3.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-GB1-3.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-GB1-4.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-GB1-4.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-GB1-5.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-GB1-5.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/ETenms-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/ETenms-B5-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/ETenms-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/ETenms-B5-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Ext-RKSJ-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Ext-RKSJ-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GBKp-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GBKp-EUC-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GBKp-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GBKp-EUC-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GBTpc-EUC-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GBTpc-EUC-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GBpc-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GBpc-EUC-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/GBpc-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/GBpc-EUC-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/HKdla-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/HKdla-B5-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/HKdla-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/HKdla-B5-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/HKdlb-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/HKdlb-B5-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/HKdlb-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/HKdlb-B5-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/HKgccs-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/HKgccs-B5-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/HKgccs-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/HKgccs-B5-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/HKm314-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/HKm314-B5-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/HKm314-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/HKm314-B5-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/HKm471-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/HKm471-B5-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/HKm471-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/HKm471-B5-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/HKscs-B5-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/HKscs-B5-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/HKscs-B5-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/HKscs-B5-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/KSC-Johab-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/KSC-Johab-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/KSC-Johab-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/KSC-Johab-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/KSCms-UHC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/KSCms-UHC-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/KSCms-UHC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/KSCms-UHC-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/KSCpc-EUC-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/KSCpc-EUC-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniGB-UCS2-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniGB-UCS2-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniGB-UTF8-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniGB-UTF8-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniKS-UCS2-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniKS-UCS2-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniKS-UTF8-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniKS-UTF8-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/loading-icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/images/loading-icon.gif -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-GB1-UCS2.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-Japan1-0.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-Japan1-1.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-Japan1-2.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-Japan1-3.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-Japan1-4.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-Japan1-5.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-Japan1-6.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-Korea1-0.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-Korea1-1.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-Korea1-2.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/KSCms-UHC-HW-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/KSCms-UHC-HW-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniCNS-UCS2-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniCNS-UCS2-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniCNS-UTF16-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniCNS-UTF16-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniCNS-UTF32-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniCNS-UTF32-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniCNS-UTF8-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniCNS-UTF8-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniGB-UTF16-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniGB-UTF16-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniGB-UTF32-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniGB-UTF32-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJIS-UCS2-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJIS-UCS2-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJIS-UTF16-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJIS-UTF16-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJIS-UTF32-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJIS-UTF32-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJIS-UTF8-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJIS-UTF8-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniKS-UTF16-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniKS-UTF16-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniKS-UTF32-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniKS-UTF32-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-CNS1-UCS2.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-Japan1-UCS2.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/Adobe-Korea1-UCS2.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJIS-UCS2-HW-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJIS-UCS2-HW-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJIS2004-UTF8-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJIS2004-UTF8-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJISPro-UCS2-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJISPro-UTF8-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJIS2004-UTF16-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJIS2004-UTF16-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJIS2004-UTF32-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJIS2004-UTF32-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJISPro-UCS2-HW-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJISX0213-UTF32-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJISX0213-UTF32-V.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/compressed.tracemonkey-pldi-09.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/compressed.tracemonkey-pldi-09.pdf -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-bookmark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJISX02132004-UTF32-H.bcmap -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/owncloud/files_pdfviewer/HEAD/js/vendor/pdfjs/web/cmaps/UniJISX02132004-UTF32-V.bcmap -------------------------------------------------------------------------------- /phpstan.neon: -------------------------------------------------------------------------------- 1 | parameters: 2 | inferPrivatePropertyTypeFromConstructor: true 3 | bootstrapFiles: 4 | - %currentWorkingDirectory%/../../lib/base.php 5 | ignoreErrors: 6 | 7 | -------------------------------------------------------------------------------- /css/style.css: -------------------------------------------------------------------------------- 1 | /* force full height on public template */ 2 | #body-public .full-height { 3 | height: 100%; 4 | } 5 | .ie #body-public .full-height { 6 | display: block; 7 | } 8 | 9 | -------------------------------------------------------------------------------- /.scrutinizer.yml: -------------------------------------------------------------------------------- 1 | filter: 2 | excluded_paths: 3 | - 'vendor/*' 4 | - 'tests/*' 5 | 6 | imports: 7 | - javascript 8 | - php 9 | 10 | tools: 11 | external_code_coverage: true 12 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/secondaryToolbarButton-spreadNone.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/annotation-noicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/secondaryToolbarButton-rotateCcw.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-menuArrow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /l10n/.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | lang_map = ja_JP: ja 4 | 5 | [o:owncloud-org:p:owncloud:r:files_pdfviewer] 6 | file_filter = /files_pdfviewer.po 7 | source_file = templates/files_pdfviewer.pot 8 | source_lang = en 9 | type = PO 10 | -------------------------------------------------------------------------------- /.php-cs-fixer.dist.php: -------------------------------------------------------------------------------- 1 | setUsingCache(true) 5 | ->getFinder() 6 | ->exclude('vendor') 7 | ->exclude('vendor-bin') 8 | ->exclude('l10n') 9 | ->in(__DIR__); 10 | return $config; 11 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/secondaryToolbarButton-firstPage.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/secondaryToolbarButton-lastPage.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/secondaryToolbarButton-scrollHorizontal.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/secondaryToolbarButton-scrollVertical.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/secondaryToolbarButton-handTool.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /l10n/zh_TW.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "已分享的檔案沒有下載權限,可能受安全視圖保護,請聯繫檔案所有者授予權限或使用其他查看器。", 3 | "Open in PDF Viewer" : "開啟PDF檢視器", 4 | "Close" : "關閉" 5 | },"pluralForm" :"nplurals=1; plural=0;" 6 | } -------------------------------------------------------------------------------- /l10n/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "此共享文件没有下载权限,可能受安全视图保护,请联系文件所有者授予权限或使用其他查看器。", 3 | "Open in PDF Viewer" : "在 PDF 查看器中打开", 4 | "Close" : "关闭" 5 | },"pluralForm" :"nplurals=1; plural=0;" 6 | } -------------------------------------------------------------------------------- /l10n/zh_CN.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "此共享文件没有下载权限,可能受安全视图保护,请联系文件所有者授予权限或使用其他查看器。", 3 | "Open in PDF Viewer" : "在 PDF 查看器中打开", 4 | "Close" : "关闭" 5 | },"pluralForm" :"nplurals=1; plural=0;" 6 | } -------------------------------------------------------------------------------- /l10n/zh_HK.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "此共享文件没有下载权限,可能受安全视图保护,请联系文件所有者授予权限或使用其他查看器。", 3 | "Open in PDF Viewer" : "在 PDF 查看器中打开", 4 | "Close" : "關閉" 5 | },"pluralForm" :"nplurals=1; plural=0;" 6 | } -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-viewAttachments.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /l10n/zh_TW.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "已分享的檔案沒有下載權限,可能受安全視圖保護,請聯繫檔案所有者授予權限或使用其他查看器。", 5 | "Open in PDF Viewer" : "開啟PDF檢視器", 6 | "Close" : "關閉" 7 | }, 8 | "nplurals=1; plural=0;"); 9 | -------------------------------------------------------------------------------- /tests/unit/bootstrap.php: -------------------------------------------------------------------------------- 1 | addPsr4('Test\\', OC::$SERVERROOT . '/tests/lib/', true); 10 | 11 | \OC::$loader->addValidRoot(\OC::$SERVERROOT . '/tests'); 12 | \OC_App::loadApp('files_pdfviewer'); 13 | 14 | OC_Hook::clear(); 15 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-zoomOut.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /l10n/zh-Hans.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "此共享文件没有下载权限,可能受安全视图保护,请联系文件所有者授予权限或使用其他查看器。", 5 | "Open in PDF Viewer" : "在 PDF 查看器中打开", 6 | "Close" : "关闭" 7 | }, 8 | "nplurals=1; plural=0;"); 9 | -------------------------------------------------------------------------------- /l10n/zh_CN.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "此共享文件没有下载权限,可能受安全视图保护,请联系文件所有者授予权限或使用其他查看器。", 5 | "Open in PDF Viewer" : "在 PDF 查看器中打开", 6 | "Close" : "关闭" 7 | }, 8 | "nplurals=1; plural=0;"); 9 | -------------------------------------------------------------------------------- /l10n/zh_HK.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "此共享文件没有下载权限,可能受安全视图保护,请联系文件所有者授予权限或使用其他查看器。", 5 | "Open in PDF Viewer" : "在 PDF 查看器中打开", 6 | "Close" : "關閉" 7 | }, 8 | "nplurals=1; plural=0;"); 9 | -------------------------------------------------------------------------------- /l10n/ja.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "この共有ファイルはダウンロード権限がなく、セキュアビューで保護されている可能性があります。ファイルの所有者に連絡して、権限を付与するか、別のビューアを使用してください。", 3 | "Open in PDF Viewer" : "PDFビューアで開く", 4 | "Close" : "閉じる" 5 | },"pluralForm" :"nplurals=1; plural=0;" 6 | } -------------------------------------------------------------------------------- /l10n/ko.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "이 공유 파일은 다운로드 권한이 없으며, 보안 열람에 의해 보호되고 있을 수 있습니다. 파일 소유자에게 연락하여 권한을 요청하거나 다른 뷰어를 이용하십시오.", 3 | "Open in PDF Viewer" : "PDF 뷰어로 열기", 4 | "Close" : "닫기" 5 | },"pluralForm" :"nplurals=1; plural=0;" 6 | } -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "owncloud/files_pdfviewer", 3 | "config" : { 4 | "platform": { 5 | "php": "7.2.5" 6 | }, 7 | "allow-plugins": { 8 | "bamarni/composer-bin-plugin": true 9 | } 10 | }, 11 | "require": { 12 | }, 13 | "require-dev": { 14 | "bamarni/composer-bin-plugin": "^1.8" 15 | }, 16 | "extra": { 17 | "bamarni-bin": { 18 | "bin-links": false 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-presentationMode.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /l10n/ja.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "この共有ファイルはダウンロード権限がなく、セキュアビューで保護されている可能性があります。ファイルの所有者に連絡して、権限を付与するか、別のビューアを使用してください。", 5 | "Open in PDF Viewer" : "PDFビューアで開く", 6 | "Close" : "閉じる" 7 | }, 8 | "nplurals=1; plural=0;"); 9 | -------------------------------------------------------------------------------- /l10n/ko.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "이 공유 파일은 다운로드 권한이 없으며, 보안 열람에 의해 보호되고 있을 수 있습니다. 파일 소유자에게 연락하여 권한을 요청하거나 다른 뷰어를 이용하십시오.", 5 | "Open in PDF Viewer" : "PDF 뷰어로 열기", 6 | "Close" : "닫기" 7 | }, 8 | "nplurals=1; plural=0;"); 9 | -------------------------------------------------------------------------------- /appinfo/app.php: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /l10n/th_TH.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "ไฟล์ที่แชร์นี้ไม่มีสิทธิ์ในการดาวน์โหลดและอาจได้รับการปกป้องโดยการดูที่ปลอดภัย โปรดติดต่อเจ้าของไฟล์เพื่อขออนุญาตหรือใช้โปรแกรมดูอื่น", 3 | "Open in PDF Viewer" : "เปิดด้วย PDF Viewer", 4 | "Close" : "ปิด" 5 | },"pluralForm" :"nplurals=1; plural=0;" 6 | } -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/findbarButton-next.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/findbarButton-previous.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/annotation-insert.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-search.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/annotation-check.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /l10n/th_TH.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "ไฟล์ที่แชร์นี้ไม่มีสิทธิ์ในการดาวน์โหลดและอาจได้รับการปกป้องโดยการดูที่ปลอดภัย โปรดติดต่อเจ้าของไฟล์เพื่อขออนุญาตหรือใช้โปรแกรมดูอื่น", 5 | "Open in PDF Viewer" : "เปิดด้วย PDF Viewer", 6 | "Close" : "ปิด" 7 | }, 8 | "nplurals=1; plural=0;"); 9 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-viewOutline.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /appinfo/routes.php: -------------------------------------------------------------------------------- 1 | [ 14 | ['name' => 'display#showPdfViewer', 'url' => '/', 'verb' => 'GET'], 15 | ['name' => 'display#canDownload', 'url' => '/candownload', 'verb' => 'GET'], 16 | ]]; 17 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/annotation-newparagraph.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.idea 2 | /node_modules 3 | /build/ 4 | /l10n/l10n.pl 5 | /l10n/.transifexrc 6 | /l10n/templates/files_pdfviewer.pot 7 | *.po 8 | .php_cs.cache 9 | .php-cs-fixer.cache 10 | 11 | # Composer 12 | vendor/ 13 | vendor-bin/**/vendor 14 | vendor-bin/**/composer.lock 15 | 16 | # Mac OS 17 | .DS_Store 18 | 19 | # Tests - auto-generated files 20 | /tests/acceptance/output 21 | /tests/output 22 | .phpunit.result.cache 23 | 24 | # SonarCloud scanner 25 | .scannerwork 26 | 27 | # Generated from .drone.star 28 | .drone.yml 29 | -------------------------------------------------------------------------------- /l10n/en_GB.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer.", 3 | "Open in PDF Viewer" : "Open in PDF Viewer", 4 | "Close" : "Close" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/en_US.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer.", 3 | "Open in PDF Viewer" : "Open in PDF Viewer", 4 | "Close" : "Close" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/tr.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Bu paylaşılan dosyanın indirme izni yok ve muhtemelen güvenli görünümle korunuyor, lütfen izin vermek için dosyanın sahibiyle iletişime geçin veya farklı bir görüntüleyici kullanın.", 3 | "Open in PDF Viewer" : "PDF Görüntüleyicide Aç", 4 | "Close" : "Kapat" 5 | },"pluralForm" :"nplurals=2; plural=(n > 1);" 6 | } -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/secondaryToolbarButton-scrollWrapped.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /l10n/ug.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "بۇ ھەمبەھىرلەنگەن ھۆججەتنىڭ چۈشۈرۈش ئىجازەتنامىسى يوق ھەمدە بىخەتەر كۆرۈنۈش تەرىپىدىن قوغدىلىشى مۇمكىن ، ئىجازەتنامە ئېلىش ياكى باشقا كۆرگۈچنى ئىشلىتىش ئۈچۈن ھۆججەت ئىگىسى بىلەن ئالاقىلىشىڭ.", 3 | "Open in PDF Viewer" : "PDF Viewer دا ئېچىڭ", 4 | "Close" : "ياپ" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/secondaryToolbarButton-selectTool.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /l10n/gl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly proteced by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Este ficheiro compartido non ten permiso de descarga e posibelmente estea protexido por unha vista segura. Póñase en contacto co propietario do ficheiro para obter o permiso ou use outro visor.", 3 | "Open in PDF Viewer" : "Abrir no visor PDF", 4 | "Close" : "Pechar" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/sq.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Kjo kartelë e përbashkët s’ka leje shkarkimi dhe ka mundësi të mbrohet me parje të siguruar, ju lutemi, lidhuni me të zotin e kartelës që t’ju akordojë leje, ose përdorni një parës tjetër.", 3 | "Open in PDF Viewer" : "Hape në Parës PDF-sh", 4 | "Close" : "Mbylle" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/secondaryToolbarButton-rotateCw.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-pageDown.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /l10n/en_GB.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer.", 5 | "Open in PDF Viewer" : "Open in PDF Viewer", 6 | "Close" : "Close" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/en_US.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer.", 5 | "Open in PDF Viewer" : "Open in PDF Viewer", 6 | "Close" : "Close" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/tr.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Bu paylaşılan dosyanın indirme izni yok ve muhtemelen güvenli görünümle korunuyor, lütfen izin vermek için dosyanın sahibiyle iletişime geçin veya farklı bir görüntüleyici kullanın.", 5 | "Open in PDF Viewer" : "PDF Görüntüleyicide Aç", 6 | "Close" : "Kapat" 7 | }, 8 | "nplurals=2; plural=(n > 1);"); 9 | -------------------------------------------------------------------------------- /l10n/ug.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "بۇ ھەمبەھىرلەنگەن ھۆججەتنىڭ چۈشۈرۈش ئىجازەتنامىسى يوق ھەمدە بىخەتەر كۆرۈنۈش تەرىپىدىن قوغدىلىشى مۇمكىن ، ئىجازەتنامە ئېلىش ياكى باشقا كۆرگۈچنى ئىشلىتىش ئۈچۈن ھۆججەت ئىگىسى بىلەن ئالاقىلىشىڭ.", 5 | "Open in PDF Viewer" : "PDF Viewer دا ئېچىڭ", 6 | "Close" : "ياپ" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/ar.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly proteced by secure view, please contact the owner of the file for granting permission or use a different viewer." : "هذا الملف المشترك ليس لديه إذن تنزيل وربما يكون محميًا بواسطة طريقة عرض آمنة ، يرجى الاتصال بمالك الملف لمنح الإذن أو استخدام عارض مختلف.", 3 | "Open in PDF Viewer" : "فتح في عارض PDF", 4 | "Close" : "إغلاق" 5 | },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" 6 | } -------------------------------------------------------------------------------- /l10n/bg_BG.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "За този споделен файл нямате необходимите права за изтегляне и вероятно е защитен със защитен преглед, моля свържете се със собственика на файла, за да ви предостави тези права, или използвайте друг преглед.", 3 | "Open in PDF Viewer" : "Отваряне в PDF преглед", 4 | "Close" : "Затваряне" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/gl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly proteced by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Este ficheiro compartido non ten permiso de descarga e posibelmente estea protexido por unha vista segura. Póñase en contacto co propietario do ficheiro para obter o permiso ou use outro visor.", 5 | "Open in PDF Viewer" : "Abrir no visor PDF", 6 | "Close" : "Pechar" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/nl.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Dit gedeelde bestand heeft geen downloadrechten en is mogelijk beveiligd door beveiligde weergave. Neem contact op met de eigenaar van het bestand voor het verlenen van toestemming of gebruik een andere viewer.", 3 | "Open in PDF Viewer" : "Openen in de PDF-viewer", 4 | "Close" : "Sluiten" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/sq.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Kjo kartelë e përbashkët s’ka leje shkarkimi dhe ka mundësi të mbrohet me parje të siguruar, ju lutemi, lidhuni me të zotin e kartelës që t’ju akordojë leje, ose përdorni një parës tjetër.", 5 | "Open in PDF Viewer" : "Hape në Parës PDF-sh", 6 | "Close" : "Mbylle" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/el.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Αυτό το κοινόχρηστο αρχείο δεν έχει δικαιώματα λήψης και πιθανώς προστατεύεται από ασφαλή προβολή. Επικοινωνήστε με τον κάτοχο του αρχείου για να σας χορηγήσει άδεια ή χρησιμοποιήστε διαφορετικό πρόγραμμα προβολής.", 3 | "Open in PDF Viewer" : "Άνοιγμα στον προβολέα PDF", 4 | "Close" : "Κλείσιμο" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-pageUp.svg: -------------------------------------------------------------------------------- 1 | 4 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-secondaryToolbarToggle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /l10n/es.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Este archivo compartido no tiene permiso de descarga y posiblemente esté protegido por una vista segura, comuníquese con el propietario del archivo para otorgar el permiso o use un visor diferente.", 3 | "Open in PDF Viewer" : "Abrir en PDF Viewer", 4 | "Close" : "Cerrar" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/ar.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly proteced by secure view, please contact the owner of the file for granting permission or use a different viewer." : "هذا الملف المشترك ليس لديه إذن تنزيل وربما يكون محميًا بواسطة طريقة عرض آمنة ، يرجى الاتصال بمالك الملف لمنح الإذن أو استخدام عارض مختلف.", 5 | "Open in PDF Viewer" : "فتح في عارض PDF", 6 | "Close" : "إغلاق" 7 | }, 8 | "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); 9 | -------------------------------------------------------------------------------- /l10n/bg_BG.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "За този споделен файл нямате необходимите права за изтегляне и вероятно е защитен със защитен преглед, моля свържете се със собственика на файла, за да ви предостави тези права, или използвайте друг преглед.", 5 | "Open in PDF Viewer" : "Отваряне в PDF преглед", 6 | "Close" : "Затваряне" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/nl.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Dit gedeelde bestand heeft geen downloadrechten en is mogelijk beveiligd door beveiligde weergave. Neem contact op met de eigenaar van het bestand voor het verlenen van toestemming of gebruik een andere viewer.", 5 | "Open in PDF Viewer" : "Openen in de PDF-viewer", 6 | "Close" : "Sluiten" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/de.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Diese freigegebene Datei hat keine Download-Berechtigung und ist möglicherweise durch eine sichere Ansicht geschützt. Wenden Sie sich bitte an den Eigentümer der Datei, um die Berechtigung zu erteilen, oder verwenden Sie einen anderen Viewer.", 3 | "Open in PDF Viewer" : "Mit PDF Viewer öffnen", 4 | "Close" : "Schließen" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /l10n/el.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Αυτό το κοινόχρηστο αρχείο δεν έχει δικαιώματα λήψης και πιθανώς προστατεύεται από ασφαλή προβολή. Επικοινωνήστε με τον κάτοχο του αρχείου για να σας χορηγήσει άδεια ή χρησιμοποιήστε διαφορετικό πρόγραμμα προβολής.", 5 | "Open in PDF Viewer" : "Άνοιγμα στον προβολέα PDF", 6 | "Close" : "Κλείσιμο" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/de_DE.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Diese freigegebene Datei hat keine Download-Berechtigung und ist möglicherweise durch eine sichere Ansicht geschützt. Wenden Sie sich bitte an den Eigentümer der Datei, um die Berechtigung zu erteilen, oder verwenden Sie einen anderen Viewer.", 3 | "Open in PDF Viewer" : "Mit PDF Viewer öffnen", 4 | "Close" : "Schließen" 5 | },"pluralForm" :"nplurals=2; plural=(n != 1);" 6 | } -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "files_pdfviewer", 3 | "homepage": "https://github.com/owncloud/files_pdfviewer", 4 | "authors": [ 5 | "Victor Dubiniuk ", 6 | "Jan Ackermann ", 7 | "Jannik Stehle " 8 | ], 9 | "description": "ownCloud pdf viewer app", 10 | "main": "", 11 | "license": "AGPL", 12 | "private": true, 13 | "ignore": [ 14 | "**/.*", 15 | "node_modules", 16 | "bower_components", 17 | "test", 18 | "tests" 19 | ], 20 | "dependencies": { 21 | "pdfjs": "~2.10.x" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /l10n/es.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Este archivo compartido no tiene permiso de descarga y posiblemente esté protegido por una vista segura, comuníquese con el propietario del archivo para otorgar el permiso o use un visor diferente.", 5 | "Open in PDF Viewer" : "Abrir en PDF Viewer", 6 | "Close" : "Cerrar" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/it.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Questo file condiviso non possiede permessi di scaricamento e potrebbe essere protetto da visualizzazione sicura, contattare il proprietario del file per garantire il permesso o usare un visualizzatore differente.", 3 | "Open in PDF Viewer" : "Apri nel visualizzatore PDF", 4 | "Close" : "Chiudi" 5 | },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/de.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Diese freigegebene Datei hat keine Download-Berechtigung und ist möglicherweise durch eine sichere Ansicht geschützt. Wenden Sie sich bitte an den Eigentümer der Datei, um die Berechtigung zu erteilen, oder verwenden Sie einen anderen Viewer.", 5 | "Open in PDF Viewer" : "Mit PDF Viewer öffnen", 6 | "Close" : "Schließen" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /l10n/de_DE.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Diese freigegebene Datei hat keine Download-Berechtigung und ist möglicherweise durch eine sichere Ansicht geschützt. Wenden Sie sich bitte an den Eigentümer der Datei, um die Berechtigung zu erteilen, oder verwenden Sie einen anderen Viewer.", 5 | "Open in PDF Viewer" : "Mit PDF Viewer öffnen", 6 | "Close" : "Schließen" 7 | }, 8 | "nplurals=2; plural=(n != 1);"); 9 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-currentOutlineItem.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-print.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /l10n/it.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Questo file condiviso non possiede permessi di scaricamento e potrebbe essere protetto da visualizzazione sicura, contattare il proprietario del file per garantire il permesso o usare un visualizzatore differente.", 5 | "Open in PDF Viewer" : "Apri nel visualizzatore PDF", 6 | "Close" : "Chiudi" 7 | }, 8 | "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/pt_BR.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Este arquivo compartilhado não tem permissão para ser baixado e possivelmente está protegido por visualização segura. Entre em contato com o proprietário do arquivo para conceder permissão ou use um visualizador diferente. ", 3 | "Open in PDF Viewer" : "Abrir no visualizador de PDF", 4 | "Close" : "Fechar" 5 | },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /l10n/pt_PT.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Este arquivo compartilhado não tem permissão para ser baixado e possivelmente está protegido por visualização segura. Entre em contato com o proprietário do arquivo para conceder permissão ou use um visualizador diferente. ", 3 | "Open in PDF Viewer" : "Abrir no visualizador de PDF", 4 | "Close" : "Fechar" 5 | },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" 6 | } -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/secondaryToolbarButton-documentProperties.svg: -------------------------------------------------------------------------------- 1 | 4 | 6 | 8 | 9 | 11 | 12 | 14 | 15 | -------------------------------------------------------------------------------- /l10n/pt_BR.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Este arquivo compartilhado não tem permissão para ser baixado e possivelmente está protegido por visualização segura. Entre em contato com o proprietário do arquivo para conceder permissão ou use um visualizador diferente. ", 5 | "Open in PDF Viewer" : "Abrir no visualizador de PDF", 6 | "Close" : "Fechar" 7 | }, 8 | "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /l10n/pt_PT.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "Este arquivo compartilhado não tem permissão para ser baixado e possivelmente está protegido por visualização segura. Entre em contato com o proprietário do arquivo para conceder permissão ou use um visualizador diferente. ", 5 | "Open in PDF Viewer" : "Abrir no visualizador de PDF", 6 | "Close" : "Fechar" 7 | }, 8 | "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); 9 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-download.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-viewThumbnail.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /l10n/ru.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "На эти общие файлы не разрешения на скачивание и возможно они защищены безопасным просмотром, пожалуйста свяжитесь с владельцем файла для получения разрешения или используйте другое средство просмотра.", 3 | "Open in PDF Viewer" : "Открыть в просмотре PDF", 4 | "Close" : "Закрыть" 5 | },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" 6 | } -------------------------------------------------------------------------------- /l10n/ru_RU.json: -------------------------------------------------------------------------------- 1 | { "translations": { 2 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "На эти общие файлы не разрешения на скачивание и возможно они защищены безопасным просмотром, пожалуйста свяжитесь с владельцем файла для получения разрешения или используйте другое средство просмотра.", 3 | "Open in PDF Viewer" : "Открыть в просмотре PDF", 4 | "Close" : "Закрыть" 5 | },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" 6 | } -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-sidebarToggle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-openFile.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /l10n/ru.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "На эти общие файлы не разрешения на скачивание и возможно они защищены безопасным просмотром, пожалуйста свяжитесь с владельцем файла для получения разрешения или используйте другое средство просмотра.", 5 | "Open in PDF Viewer" : "Открыть в просмотре PDF", 6 | "Close" : "Закрыть" 7 | }, 8 | "nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); 9 | -------------------------------------------------------------------------------- /l10n/ru_RU.js: -------------------------------------------------------------------------------- 1 | OC.L10N.register( 2 | "files_pdfviewer", 3 | { 4 | "This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer." : "На эти общие файлы не разрешения на скачивание и возможно они защищены безопасным просмотром, пожалуйста свяжитесь с владельцем файла для получения разрешения или используйте другое средство просмотра.", 5 | "Open in PDF Viewer" : "Открыть в просмотре PDF", 6 | "Close" : "Закрыть" 7 | }, 8 | "nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); 9 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/secondaryToolbarButton-spreadOdd.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/toolbarButton-viewLayers.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/annotation-comment.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/secondaryToolbarButton-spreadEven.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | ./tests/unit 15 | 16 | 17 | 18 | 19 | . 20 | 21 | 22 | ./vendor 23 | ./templates 24 | ./tests 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/annotation-paragraph.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/annotation-note.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 14 | 21 | 28 | 35 | 42 | 43 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | files_pdfviewer 2 | ====== 3 | 4 | This application integrates the [PDF.js](https://mozilla.github.io/pdf.js/) library into ownCloud. Using this application users can view their PDF files online without downloading the file. 5 | 6 | [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=owncloud_files_pdfviewer&metric=alert_status)](https://sonarcloud.io/dashboard?id=owncloud_files_pdfviewer) 7 | [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=owncloud_files_pdfviewer&metric=security_rating)](https://sonarcloud.io/dashboard?id=owncloud_files_pdfviewer) 8 | [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=owncloud_files_pdfviewer&metric=coverage)](https://sonarcloud.io/dashboard?id=owncloud_files_pdfviewer) 9 | [![Build Status](https://drone.owncloud.com/api/badges/owncloud/files_pdfviewer/status.svg?branch=master)](https://drone.owncloud.com/owncloud/files_pdfviewer) 10 | 11 | 12 | Instructions to update pdfjs 13 | =========== 14 | 1. Prerequisites 15 | - Install npm 16 | - Install bower 17 | - Install gulp 18 | 19 | 2. Update pdfjs version in bower.json 20 | 21 | 3. Run `make rebuild-pdfjs` 22 | 23 | 4. New version of the library will be in `js/vendor/pdfjs` 24 | 25 | 5. Check if `templates/viewer.php` needs to be updated to match `js/vendor/pdfjs/web/viewer.html` 26 | 27 | 6. Test the app ;) 28 | 29 | 30 | Maintainers 31 | =========== 32 | - [Lukas Reschke](https://github.com/LukasReschke) 33 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/annotation-key.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/loading.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /appinfo/info.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | files_pdfviewer 4 | PDF Viewer 5 | Viewer for PDF files 6 | 7 | This application integrates a browser-based PDF Viewer into ownCloud. It allows users to view their PDF files in the browser without the need to download the file. 8 | 9 | When this application is enabled, publicly shared PDF documents will also be shown in the PDF Viewer. The PDF viewer requires a modern browser and will not work with Microsoft® Internet Explorer® and older (non-Chromium-based) versions of Microsoft Edge®. 10 | The integration is based on PDF.js which is a JavaScript library developed by Mozilla. You can learn more about the PDF.js project at https://mozilla.github.io/pdf.js/ 11 | 12 | AGPL 13 | Thomas Müller, Lukas Reschke, Viktar Dubiniuk 14 | 1.0.2 15 | 16 | 17 | 18 | 19 | Files_PdfViewer 20 | https://github.com/owncloud/files_pdfviewer 21 | https://github.com/owncloud/files_pdfviewer/issues 22 | productivity 23 | https://github.com/owncloud/files_pdfviewer.git 24 | https://github.com/owncloud/screenshots/raw/cd5f83007e6037af6733d847548d2766be69a8a0/files_pdfviewer/files_pdfviewer.png 25 | 166049 26 | 27 | -------------------------------------------------------------------------------- /sonar-project.properties: -------------------------------------------------------------------------------- 1 | # Organization and project keys are displayed in the right sidebar of the project homepage 2 | sonar.organization=owncloud-1 3 | sonar.projectKey=owncloud_files_pdfviewer 4 | sonar.projectVersion=1.0.2 5 | sonar.host.url=https://sonarcloud.io 6 | 7 | # ===================================================== 8 | # Meta-data for the project 9 | # ===================================================== 10 | 11 | sonar.links.homepage=https://github.com/owncloud/files_pdfviewer 12 | sonar.links.ci=https://drone.owncloud.com/owncloud/files_pdfviewer/ 13 | sonar.links.scm=https://github.com/owncloud/files_pdfviewer 14 | sonar.links.issue=https://github.com/owncloud/files_pdfviewer/issues 15 | 16 | # ===================================================== 17 | # Properties that will be shared amongst all modules 18 | # ===================================================== 19 | 20 | # Just look in these directories for code 21 | sonar.sources=. 22 | sonar.inclusions=appinfo/**,lib/** 23 | 24 | # Pull Requests 25 | sonar.pullrequest.provider=GitHub 26 | sonar.pullrequest.github.repository=owncloud/files_pdfviewer 27 | sonar.pullrequest.base=${env.SONAR_PULL_REQUEST_BASE} 28 | sonar.pullrequest.branch=${env.SONAR_PULL_REQUEST_BRANCH} 29 | sonar.pullrequest.key=${env.SONAR_PULL_REQUEST_KEY} 30 | 31 | # Properties specific to language plugins: 32 | sonar.php.coverage.reportPaths=results/clover-phpunit-php7.4-mariadb10.2.xml,results/clover-phpunit-php7.4-mysql8.0.xml,results/clover-phpunit-php7.4-postgres9.4.xml,results/clover-phpunit-php7.4-oracle.xml,results/clover-phpunit-php7.4-sqlite.xml 33 | sonar.javascript.lcov.reportPaths=results/lcov.info 34 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/loading-dark.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /js/workersrc.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Checks if the page is displayed in an iframe. If not redirect to /. 3 | **/ 4 | 5 | function redirectIfNotDisplayedInFrame () { 6 | try { 7 | if (window.frameElement || location.href.indexOf('?file=blob') !== -1) { 8 | return; 9 | } 10 | } catch (e) {} 11 | 12 | window.location.href = '/'; 13 | } 14 | redirectIfNotDisplayedInFrame(); 15 | 16 | function deferredViewerConfig() { 17 | if (location.href.indexOf('?file=blob') !== -1) { 18 | document.getElementById('secondaryToolbarClose').addEventListener( 19 | 'click', 20 | function() { 21 | window.close(); 22 | } 23 | ); 24 | } 25 | try { 26 | var head = document.getElementsByTagName('head')[0] 27 | PDFViewerApplicationOptions.set('disablePreferences', true); 28 | PDFViewerApplicationOptions.set('workerSrc', head.getAttribute('data-workersrc')); 29 | PDFViewerApplicationOptions.set('locale', getSanitizedCurrentLocale()); 30 | PDFViewerApplicationOptions.set('cMapUrl', head.getAttribute('data-cmapurl')); 31 | PDFViewerApplicationOptions.set('sandboxBundleSrc', head.getAttribute('data-sandbox')); 32 | PDFViewerApplicationOptions.set('printResolution', 300); 33 | PDFViewerApplicationOptions.set('externalLinkTarget', pdfjsLib.LinkTarget.BLANK); 34 | PDFViewerApplicationOptions.set('isEvalSupported', false); 35 | PDFViewerApplicationOptions.set('enableScripting', head.getAttribute('data-enableScripting') === 'true'); 36 | } catch (e) { 37 | } 38 | } 39 | 40 | function getSanitizedCurrentLocale(){ 41 | return parent.OC.getLocale().replace('_', '-'); 42 | } 43 | 44 | // Wait until viewer is ready and patch it on the fly 45 | parent.document.addEventListener('webviewerloaded', deferredViewerConfig, true); 46 | parent.document.documentElement.lang = getSanitizedCurrentLocale(); -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Submitting issues 2 | 3 | If you have questions about how to install or use ownCloud, please direct these to the [mailing list][mailinglist] or our [forum][forum]. We are also available on [IRC][irc]. 4 | 5 | ### Short version 6 | 7 | * The [**issue template can be found here**][template]. Please always use the issue template when reporting issues. 8 | 9 | ### Guidelines 10 | * Please search the existing issues first, it's likely that your issue was already reported or even fixed. 11 | - Go to one of the repositories, click "issues" and type any word in the top search/command bar. 12 | - You can also filter by appending e. g. "state:open" to the search string. 13 | - More info on [search syntax within github](https://help.github.com/articles/searching-issues) 14 | * This repository ([files_pdfviewer](https://github.com/owncloud/files_pdfviewer/issues)) is *only* for issues within the ownCloud files_pdfviewer code. 15 | * __SECURITY__: Report any potential security bug to security@owncloud.com following our [security policy](https://owncloud.org/security/) instead of filing an issue in our bug tracker 16 | * Report the issue using our [template][template], it includes all the information we need to track down the issue. 17 | 18 | Help us to maximize the effort we can spend fixing issues and adding new features, by not reporting duplicate issues. 19 | 20 | [template]: https://raw.github.com/owncloud/core/master/issue_template.md 21 | [mailinglist]: https://mailman.owncloud.org/mailman/listinfo/owncloud 22 | [forum]: https://forum.owncloud.org/ 23 | [irc]: https://webchat.freenode.net/?channels=owncloud&uio=d4 24 | 25 | ### Contribute Code and translations 26 | Please check [core's contribution guidelines](https://github.com/owncloud/core/blob/master/CONTRIBUTING.md) for further information about contributing code and translations. 27 | -------------------------------------------------------------------------------- /img/app.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/cmaps/LICENSE: -------------------------------------------------------------------------------- 1 | %%Copyright: ----------------------------------------------------------- 2 | %%Copyright: Copyright 1990-2009 Adobe Systems Incorporated. 3 | %%Copyright: All rights reserved. 4 | %%Copyright: 5 | %%Copyright: Redistribution and use in source and binary forms, with or 6 | %%Copyright: without modification, are permitted provided that the 7 | %%Copyright: following conditions are met: 8 | %%Copyright: 9 | %%Copyright: Redistributions of source code must retain the above 10 | %%Copyright: copyright notice, this list of conditions and the following 11 | %%Copyright: disclaimer. 12 | %%Copyright: 13 | %%Copyright: Redistributions in binary form must reproduce the above 14 | %%Copyright: copyright notice, this list of conditions and the following 15 | %%Copyright: disclaimer in the documentation and/or other materials 16 | %%Copyright: provided with the distribution. 17 | %%Copyright: 18 | %%Copyright: Neither the name of Adobe Systems Incorporated nor the names 19 | %%Copyright: of its contributors may be used to endorse or promote 20 | %%Copyright: products derived from this software without specific prior 21 | %%Copyright: written permission. 22 | %%Copyright: 23 | %%Copyright: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 24 | %%Copyright: CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, 25 | %%Copyright: INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 26 | %%Copyright: MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 | %%Copyright: DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 28 | %%Copyright: CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 29 | %%Copyright: SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 30 | %%Copyright: NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 31 | %%Copyright: LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 32 | %%Copyright: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 33 | %%Copyright: CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 34 | %%Copyright: OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 35 | %%Copyright: SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 | %%Copyright: ----------------------------------------------------------- 37 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/images/annotation-help.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 16 | 18 | 21 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /tests/unit/Controller/DisplayControllerTest.php: -------------------------------------------------------------------------------- 1 | appName = 'files_pdfviewer'; 35 | 36 | $this->request = $this->getMockBuilder( 37 | '\OCP\IRequest' 38 | ) 39 | ->disableOriginalConstructor() 40 | ->getMock(); 41 | $this->urlGenerator = $this->getMockBuilder( 42 | '\OCP\IUrlGenerator' 43 | ) 44 | ->disableOriginalConstructor() 45 | ->getMock(); 46 | 47 | $this->shareManager = $this->getMockBuilder( 48 | '\OCP\Share\IManager' 49 | ) 50 | ->disableOriginalConstructor() 51 | ->getMock(); 52 | 53 | $this->controller = $this->getMockBuilder('\OCA\Files_PdfViewer\Controller\DisplayController')->setConstructorArgs( 54 | [ 55 | $this->appName, 56 | $this->request, 57 | $this->urlGenerator, 58 | $this->shareManager 59 | ] 60 | )->onlyMethods(['getStorage'])->getMock(); 61 | 62 | parent::setUp(); 63 | } 64 | 65 | public function testShowPdfViewer() { 66 | $params = [ 67 | 'urlGenerator' => $this->urlGenerator 68 | ]; 69 | $expectedResponse = new TemplateResponse($this->appName, 'viewer', $params, 'blank'); 70 | $policy = new ContentSecurityPolicy(); 71 | $policy->addAllowedChildSrcDomain('\'self\''); 72 | $policy->addAllowedFontDomain('data:'); 73 | $policy->addAllowedImageDomain('*'); 74 | $policy->addAllowedConnectDomain('blob: data:'); 75 | $policy->allowEvalScript(true); 76 | $expectedResponse->setContentSecurityPolicy($policy); 77 | 78 | $this->assertEquals($expectedResponse, $this->controller->showPdfViewer()); 79 | } 80 | 81 | public function testCanDownload() { 82 | $this->request->expects($this->once())->method('getParams')->willReturn(['path' => 'test.txt']); 83 | $storage = $this->createMock('\OCP\Files\Storage'); 84 | $this->controller->expects($this->once())->method('getStorage')->willReturn($storage); 85 | 86 | $expectedResponse = new JSONResponse(['canDownload' => true]); 87 | $this->assertEquals($expectedResponse, $this->controller->canDownload()); 88 | } 89 | } 90 | -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- 1 | { 2 | "_readme": [ 3 | "This file locks the dependencies of your project to a known state", 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", 5 | "This file is @generated automatically" 6 | ], 7 | "content-hash": "8ae7d8186d20d56236349a686341cd93", 8 | "packages": [], 9 | "packages-dev": [ 10 | { 11 | "name": "bamarni/composer-bin-plugin", 12 | "version": "1.8.2", 13 | "source": { 14 | "type": "git", 15 | "url": "https://github.com/bamarni/composer-bin-plugin.git", 16 | "reference": "92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880" 17 | }, 18 | "dist": { 19 | "type": "zip", 20 | "url": "https://api.github.com/repos/bamarni/composer-bin-plugin/zipball/92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880", 21 | "reference": "92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880", 22 | "shasum": "" 23 | }, 24 | "require": { 25 | "composer-plugin-api": "^2.0", 26 | "php": "^7.2.5 || ^8.0" 27 | }, 28 | "require-dev": { 29 | "composer/composer": "^2.0", 30 | "ext-json": "*", 31 | "phpstan/extension-installer": "^1.1", 32 | "phpstan/phpstan": "^1.8", 33 | "phpstan/phpstan-phpunit": "^1.1", 34 | "phpunit/phpunit": "^8.5 || ^9.5", 35 | "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", 36 | "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", 37 | "symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0" 38 | }, 39 | "type": "composer-plugin", 40 | "extra": { 41 | "class": "Bamarni\\Composer\\Bin\\BamarniBinPlugin" 42 | }, 43 | "autoload": { 44 | "psr-4": { 45 | "Bamarni\\Composer\\Bin\\": "src" 46 | } 47 | }, 48 | "notification-url": "https://packagist.org/downloads/", 49 | "license": [ 50 | "MIT" 51 | ], 52 | "description": "No conflicts for your bin dependencies", 53 | "keywords": [ 54 | "composer", 55 | "conflict", 56 | "dependency", 57 | "executable", 58 | "isolation", 59 | "tool" 60 | ], 61 | "support": { 62 | "issues": "https://github.com/bamarni/composer-bin-plugin/issues", 63 | "source": "https://github.com/bamarni/composer-bin-plugin/tree/1.8.2" 64 | }, 65 | "time": "2022-10-31T08:38:03+00:00" 66 | } 67 | ], 68 | "aliases": [], 69 | "minimum-stability": "stable", 70 | "stability-flags": [], 71 | "prefer-stable": false, 72 | "prefer-lowest": false, 73 | "platform": [], 74 | "platform-dev": [], 75 | "platform-overrides": { 76 | "php": "7.2.5" 77 | }, 78 | "plugin-api-version": "2.3.0" 79 | } 80 | -------------------------------------------------------------------------------- /lib/Controller/DisplayController.php: -------------------------------------------------------------------------------- 1 | urlGenerator = $urlGenerator; 43 | $this->shareManager = $shareManager; 44 | } 45 | 46 | /** 47 | * @PublicPage 48 | * @NoCSRFRequired 49 | * 50 | * @return TemplateResponse 51 | */ 52 | public function showPdfViewer() { 53 | $params = [ 54 | 'urlGenerator' => $this->urlGenerator, 55 | ]; 56 | 57 | $response = new TemplateResponse($this->appName, 'viewer', $params, 'blank'); 58 | 59 | $policy = new ContentSecurityPolicy(); 60 | $policy->addAllowedChildSrcDomain('\'self\''); 61 | $policy->addAllowedFontDomain('data:'); 62 | $policy->addAllowedImageDomain('*'); 63 | $policy->addAllowedConnectDomain('blob: data:'); 64 | $policy->allowEvalScript(true); 65 | $response->setContentSecurityPolicy($policy); 66 | 67 | return $response; 68 | } 69 | 70 | /** 71 | * @PublicPage 72 | * @NoCSRFRequired 73 | * @return JSONResponse 74 | */ 75 | 76 | public function canDownload() { 77 | $canDownload = true; 78 | 79 | $storage = $this->getStorage($this->request->getParams()); 80 | 81 | if (!$storage->instanceOfStorage('OCA\Files_Sharing\SharedStorage')) { 82 | return new JSONResponse(['canDownload' => $canDownload]); 83 | } 84 | 85 | /** @var \OCA\Files_Sharing\SharedStorage $storage */ 86 | '@phan-var \OCA\Files_Sharing\SharedStorage $storage'; /* @phpstan-ignore-line */ 87 | $share = $storage->getShare(); 88 | $downloadPermission = $share->getAttributes()->getAttribute('permissions', 'download'); 89 | 90 | if ($downloadPermission !== null && !$downloadPermission) { 91 | $canDownload = false; 92 | } 93 | 94 | return new JSONResponse(['canDownload' => $canDownload]); 95 | } 96 | 97 | protected function getStorage($params) { 98 | if (isset($params['sharingToken'])) { 99 | $share = $this->shareManager->getShareByToken($params['sharingToken']); 100 | return $share->getNode()->getStorage(); 101 | } 102 | 103 | $fileInfo = Filesystem::getFileInfo($params['path']); 104 | return $fileInfo->getStorage(); 105 | } 106 | } 107 | -------------------------------------------------------------------------------- /.phan/config.php: -------------------------------------------------------------------------------- 1 | 4 | * 5 | * @copyright Copyright (c) 2018, ownCloud GmbH 6 | * @license GPL-2.0 7 | * 8 | * This program is free software; you can redistribute it and/or modify it 9 | * under the terms of the GNU General Public License as published by the Free 10 | * Software Foundation; either version 2 of the License, or (at your option) 11 | * any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, but WITHOUT 14 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 15 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 16 | * more details. 17 | * 18 | * You should have received a copy of the GNU General Public License along 19 | * with this program; if not, write to the Free Software Foundation, Inc., 20 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | * 22 | */ 23 | 24 | return [ 25 | 26 | // Supported values: '7.2', '7.3', '7.4', '8.0', null. 27 | // If this is set to null, 28 | // then Phan assumes the PHP version which is closest to the minor version 29 | // of the php executable used to execute phan. 30 | 'target_php_version' => null, 31 | 32 | // A list of directories that should be parsed for class and 33 | // method information. After excluding the directories 34 | // defined in exclude_analysis_directory_list, the remaining 35 | // files will be statically analyzed for errors. 36 | // 37 | // Thus, both first-party and third-party code being used by 38 | // your application should be included in this list. 39 | 'directory_list' => [ 40 | 'appinfo', 41 | 'lib', 42 | 'vendor', 43 | '../../apps/files_sharing/lib', 44 | '../../lib', 45 | '../../core' 46 | ], 47 | 48 | // A directory list that defines files that will be excluded 49 | // from static analysis, but whose class and method 50 | // information should be included. 51 | // 52 | // Generally, you'll want to include the directories for 53 | // third-party code (such as "vendor/") in this list. 54 | // 55 | // n.b.: If you'd like to parse but not analyze 3rd 56 | // party code, directories containing that code 57 | // should be added to both the `directory_list` 58 | // and `exclude_analysis_directory_list` arrays. 59 | 'exclude_analysis_directory_list' => [ 60 | 'vendor', 61 | '../../apps/files_sharing/lib', 62 | '../../lib', 63 | '../../core' 64 | ], 65 | 66 | // A regular expression to match files to be excluded 67 | // from parsing and analysis and will not be read at all. 68 | // 69 | // This is useful for excluding groups of test or example 70 | // directories/files, unanalyzable files, or files that 71 | // can't be removed for whatever reason. 72 | // (e.g. '@Test\.php$@', or '@vendor/.*/(tests|Tests)/@') 73 | 'exclude_file_regex' => '@.*/[^/]*(tests|Tests|templates)/@', 74 | 75 | // If true, missing properties will be created when 76 | // they are first seen. If false, we'll report an 77 | // error message. 78 | "allow_missing_properties" => false, 79 | 80 | // If enabled, allow null to be cast as any array-like type. 81 | // This is an incremental step in migrating away from null_casts_as_any_type. 82 | // If null_casts_as_any_type is true, this has no effect. 83 | "null_casts_as_any_type" => true, 84 | 85 | // Backwards Compatibility Checking. This is slow 86 | // and expensive, but you should consider running 87 | // it before upgrading your version of PHP to a 88 | // new version that has backward compatibility 89 | // breaks. 90 | 'backward_compatibility_checks' => false, 91 | 92 | // The initial scan of the function's code block has no 93 | // type information for `$arg`. It isn't until we see 94 | // the call and rescan test()'s code block that we can 95 | // detect that it is actually returning the passed in 96 | // `string` instead of an `int` as declared. 97 | 'quick_mode' => false, 98 | 99 | // The minimum severity level to report on. This can be 100 | // set to Issue::SEVERITY_LOW, Issue::SEVERITY_NORMAL or 101 | // Issue::SEVERITY_CRITICAL. Setting it to only 102 | // critical issues is a good place to start on a big 103 | // sloppy mature code base. 104 | 'minimum_severity' => 5, 105 | 106 | // A set of fully qualified class-names for which 107 | // a call to parent::__construct() is required 108 | 'parent_constructor_required' => [ 109 | ], 110 | 111 | ]; 112 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/locale/scn/viewer.properties: -------------------------------------------------------------------------------- 1 | # Copyright 2012 Mozilla Foundation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # Main toolbar buttons (tooltips and alt text for images) 16 | 17 | # LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. 18 | # LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number 19 | # representing the total number of pages in the document. 20 | # LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" 21 | # will be replaced by a number representing the currently visible page, 22 | # respectively a number representing the total number of pages in the document. 23 | 24 | zoom_out.title=Cchiù nicu 25 | zoom_out_label=Cchiù nicu 26 | zoom_in.title=Cchiù granni 27 | zoom_in_label=Cchiù granni 28 | 29 | # Secondary toolbar and context menu 30 | 31 | 32 | 33 | 34 | # Document properties dialog box 35 | # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" 36 | # will be replaced by the PDF file size in kilobytes, respectively in bytes. 37 | # LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" 38 | # will be replaced by the PDF file size in megabytes, respectively in bytes. 39 | # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" 40 | # will be replaced by the creation/modification date, and time, of the PDF file. 41 | # LOCALIZATION NOTE (document_properties_page_size_dimension_string): 42 | # "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by 43 | # the size, respectively their unit of measurement and orientation, of the (current) page. 44 | # LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): 45 | # "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by 46 | # the size, respectively their unit of measurement, name, and orientation, of the (current) page. 47 | # LOCALIZATION NOTE (document_properties_linearized): The linearization status of 48 | # the document; usually called "Fast Web View" in English locales of Adobe software. 49 | document_properties_linearized=Vista web lesta: 50 | document_properties_linearized_yes=Se 51 | 52 | # LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by 53 | # a numerical per cent value. 54 | print_progress_close=Sfai 55 | 56 | # Tooltips and alt text for side panel toolbar buttons 57 | # (the _label strings are alt text for the buttons, the .title strings are 58 | # tooltips) 59 | 60 | # Thumbnails panel item (tooltip and alt text for images) 61 | # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page 62 | # number. 63 | # LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page 64 | # number. 65 | 66 | # Find panel button title and messages 67 | # LOCALIZATION NOTE (find_match_count): The supported plural forms are 68 | # [one|two|few|many|other], with [other] as the default value. 69 | # "{{current}}" and "{{total}}" will be replaced by a number representing the 70 | # index of the currently active find result, respectively a number representing 71 | # the total number of matches in the document. 72 | # LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are 73 | # [zero|one|two|few|many|other], with [other] as the default value. 74 | # "{{limit}}" will be replaced by a numerical value. 75 | 76 | # Error panel labels 77 | # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be 78 | # replaced by the PDF.JS version and build ID. 79 | # LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an 80 | # english string describing the error. 81 | # LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack 82 | # trace. 83 | # LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename 84 | # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number 85 | 86 | # Predefined zoom values 87 | page_scale_width=Larghizza dâ pàggina 88 | # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a 89 | # numerical scale value. 90 | 91 | # Loading indicator messages 92 | 93 | # LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be 94 | # replaced by the modification date, and time, of the annotation. 95 | 96 | # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. 97 | # "{{type}}" will be replaced with an annotation type from a list defined in 98 | # the PDF spec (32000-1:2008 Table 169 – Annotation types). 99 | # Some common types are e.g.: "Check", "Text", "Comment", "Note" 100 | password_cancel=Sfai 101 | 102 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). 6 | 7 | ## [Unreleased] 8 | 9 | - 10 | 11 | ## [1.0.2] - 2024-01-16 12 | 13 | ### Fixes 14 | 15 | - [#331](https://github.com/owncloud/files_pdfviewer/issues/331) - fix: hardening pdf processing by disabling scripting in pdf viewer 16 | 17 | 18 | ## [1.0.1] - 2021-10-05 19 | 20 | ### Fixes 21 | 22 | - Links doesnt come up in new Tab or Window [#296](https://github.com/owncloud/files_pdfviewer/issues/296) 23 | - [Android] links don't work in pdf_viewer v1.0.0rc1 [#298](https://github.com/owncloud/files_pdfviewer/issues/298) 24 | - Menu bar is not translated [#305](https://github.com/owncloud/files_pdfviewer/issues/305) 25 | 26 | 27 | ## [1.0.0] - 2021-08-05 28 | 29 | ### Changed 30 | - Update mozilla/pdfj.js lib to 2.9 (support digital signatues) [#288](https://github.com/owncloud/files_pdfviewer/issues/288) 31 | - Dropped support for IE11 and (old) non-chromium-based Edge 32 | 33 | ## [0.12.2] - 2021-07-20 34 | 35 | ### Fixed 36 | 37 | - fix close l10n - [#285](https://github.com/owncloud/files_pdfviewer/issues/285) 38 | - provide translations in app release - [#280](https://github.com/owncloud/files_pdfviewer/issues/280) 39 | - Fix typo - [#271](https://github.com/owncloud/files_pdfviewer/issues/271) 40 | - Added PublicPage and NoCSRFRequired to allow canDownload for users without a session (public share) - [#269](https://github.com/owncloud/files_pdfviewer/issues/269) 41 | 42 | ## [0.12.1] - 2021-04-12 43 | 44 | ### Fixed 45 | 46 | - Fix PDF files not viewable in shared folders via a public link [#266](https://github.com/owncloud/files_pdfviewer/issues/266) 47 | 48 | ## [0.12.0] - 2021-04-08 49 | 50 | ### Changed 51 | 52 | - Update pdfjs to 2.5 - [#228](https://github.com/owncloud/files_pdfviewer/issues/228) 53 | - Add transifex - [#248](https://github.com/owncloud/files_pdfviewer/pull/248) 54 | 55 | ### Fixed 56 | 57 | - Show Notification if downloading pdf is forbidden - [#234](https://github.com/owncloud/files_pdfviewer/issues/234) 58 | - Enhance canDownload notification text - [#237](https://github.com/owncloud/files_pdfviewer/issues/237) 59 | - CSS fix close button - [#262](https://github.com/owncloud/files_pdfviewer/pull/262) 60 | - Fix wrong locale - [#247](https://github.com/owncloud/files_pdfviewer/pull/247) 61 | 62 | 63 | ## [0.11.2] - 2020-08-04 64 | 65 | ### Fixed 66 | 67 | - Fix load of character maps to allow proper rendering of some fonts - [#217](https://github.com/owncloud/files_pdfviewer/issues/217) 68 | 69 | ### Changed 70 | 71 | - Update libraries 72 | 73 | ## [0.11.1] - 2019-12-06 74 | 75 | ### Changed 76 | 77 | - Drop PHP 7.0 - [#198](https://github.com/owncloud/files_pdfviewer/issues/198) 78 | - Allow opening pdf attachements - [#196](https://github.com/owncloud/files_pdfviewer/issues/196) 79 | 80 | ### Fixed 81 | 82 | - Fix close button for attachments - [#205](https://github.com/owncloud/files_pdfviewer/issues/205) 83 | 84 | ## [0.11.0] - 2019-04-12 85 | 86 | ### Changed 87 | 88 | - Update pdfjs to 1.10 - [#177](https://github.com/owncloud/files_pdfviewer/pull/177) 89 | 90 | ## [0.10.0] - 2018-11-30 91 | 92 | ### Added 93 | 94 | - add PHP 7.2 to stable10 branch - [#159](https://github.com/owncloud/files_pdfviewer/issues/159) 95 | 96 | ### Changed 97 | 98 | - set max version to 10 because core platform switches to Semver 99 | 100 | 101 | ## [0.9.0] - 2018-07-19 102 | 103 | ### Added 104 | - Apply current locale to PDF viewer - [#149](https://github.com/owncloud/files_pdfviewer/pull/149) 105 | 106 | ### Changed 107 | - Update pdfjs to the most recent stable 1.9.426 - [#146](https://github.com/owncloud/files_pdfviewer/issues/146) [#152](https://github.com/owncloud/files_pdfviewer/issues/152) 108 | 109 | ### Removed 110 | - Removed IE8 support - [#149](https://github.com/owncloud/files_pdfviewer/pull/149) 111 | - Removed "Open document" from within the viewer - [#149](https://github.com/owncloud/files_pdfviewer/pull/149) 112 | 113 | ### Fixed 114 | - Fix missing tool buttons - [#116](https://github.com/owncloud/files_pdfviewer/issues/116) 115 | - Fix closing of PDF viewer - [#142](https://github.com/owncloud/files_pdfviewer/issues/142) 116 | 117 | ## 0.8.2 118 | ### Changed 119 | - First marketplace release 120 | 121 | 122 | [Unreleased]: https://github.com/owncloud/files_pdfviewer/compare/v1.0.2..master 123 | [1.0.2]: https://github.com/owncloud/files_pdfviewer/compare/v1.0.1..v1.0.2 124 | [1.0.1]: https://github.com/owncloud/files_pdfviewer/compare/v1.0.0..v1.0.1 125 | [1.0.0]: https://github.com/owncloud/files_pdfviewer/compare/v0.12.2..v1.0.0 126 | [0.12.2]: https://github.com/owncloud/files_pdfviewer/compare/v0.12.1..v0.12.2 127 | [0.12.1]: https://github.com/owncloud/files_pdfviewer/compare/v0.12.0..v0.12.1 128 | [0.12.0]: https://github.com/owncloud/files_pdfviewer/compare/v0.11.2..v0.12.0 129 | [0.11.2]: https://github.com/owncloud/files_pdfviewer/compare/v0.11.1..v0.11.2 130 | [0.11.1]: https://github.com/owncloud/files_pdfviewer/compare/v0.11.0..v0.11.1 131 | [0.11.0]: https://github.com/owncloud/files_pdfviewer/compare/v0.10.0..v0.11.0 132 | [0.10.0]: https://github.com/owncloud/files_pdfviewer/compare/v0.9.0..v0.10.0 133 | [0.9.0]: https://github.com/owncloud/files_pdfviewer/compare/v0.8.2..v0.9.0 134 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/locale/wo/viewer.properties: -------------------------------------------------------------------------------- 1 | # Copyright 2012 Mozilla Foundation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # Main toolbar buttons (tooltips and alt text for images) 16 | previous.title=Xët wi jiitu 17 | previous_label=Bi jiitu 18 | next.title=Xët wi ci topp 19 | next_label=Bi ci topp 20 | 21 | # LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. 22 | # LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number 23 | # representing the total number of pages in the document. 24 | # LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" 25 | # will be replaced by a number representing the currently visible page, 26 | # respectively a number representing the total number of pages in the document. 27 | 28 | zoom_out.title=Wàññi 29 | zoom_out_label=Wàññi 30 | zoom_in.title=Yaatal 31 | zoom_in_label=Yaatal 32 | zoom.title=Yambalaŋ 33 | presentation_mode.title=Wañarñil ci anamu wone 34 | presentation_mode_label=Anamu Wone 35 | open_file.title=Ubbi benn dencukaay 36 | open_file_label=Ubbi 37 | print.title=Móol 38 | print_label=Móol 39 | download.title=Yeb yi 40 | download_label=Yeb yi 41 | bookmark.title=Wone bi taxaw (duppi walla ubbi palanteer bu bees) 42 | bookmark_label=Wone bi feeñ 43 | 44 | # Secondary toolbar and context menu 45 | 46 | 47 | # Document properties dialog box 48 | # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" 49 | # will be replaced by the PDF file size in kilobytes, respectively in bytes. 50 | # LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" 51 | # will be replaced by the PDF file size in megabytes, respectively in bytes. 52 | document_properties_title=Bopp: 53 | # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" 54 | # will be replaced by the creation/modification date, and time, of the PDF file. 55 | 56 | # LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by 57 | # a numerical per cent value. 58 | 59 | # Tooltips and alt text for side panel toolbar buttons 60 | # (the _label strings are alt text for the buttons, the .title strings are 61 | # tooltips) 62 | thumbs.title=Wone nataal yu ndaw yi 63 | thumbs_label=Nataal yu ndaw yi 64 | findbar.title=Gis ci biir jukki bi 65 | findbar_label=Wut 66 | 67 | # Thumbnails panel item (tooltip and alt text for images) 68 | # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page 69 | # number. 70 | thumb_page_title=Xët {{page}} 71 | # LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page 72 | # number. 73 | thumb_page_canvas=Wiñet bu xët {{page}} 74 | 75 | # Find panel button title and messages 76 | find_previous.title=Seet beneen kaddu bu ni mel te jiitu 77 | find_previous_label=Bi jiitu 78 | find_next.title=Seet beneen kaddu bu ni mel 79 | find_next_label=Bi ci topp 80 | find_highlight=Melaxal lépp 81 | find_match_case_label=Sàmm jëmmalin wi 82 | find_reached_top=Jot nañu ndorteel xët wi, kontine dale ko ci suuf 83 | find_reached_bottom=Jot nañu jeexitalu xët wi, kontine ci ndorte 84 | find_not_found=Gisiñu kaddu gi 85 | 86 | # Error panel labels 87 | error_more_info=Xibaar yu gën bari 88 | error_less_info=Xibaar yu gën bari 89 | # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be 90 | # replaced by the PDF.JS version and build ID. 91 | # LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an 92 | # english string describing the error. 93 | error_message=Bataaxal: {{message}} 94 | # LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack 95 | # trace. 96 | error_stack=Juug: {{stack}} 97 | # LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename 98 | error_file=Dencukaay: {{file}} 99 | # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number 100 | error_line=Rëdd : {{line}} 101 | rendering_error=Am njumte bu am bi xët bi di wonewu. 102 | 103 | # Predefined zoom values 104 | page_scale_width=Yaatuwaay bu mët 105 | page_scale_fit=Xët lëmm 106 | page_scale_auto=Yambalaŋ ci saa si 107 | page_scale_actual=Dayo bi am 108 | # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a 109 | # numerical scale value. 110 | 111 | # Loading indicator messages 112 | loading_error_indicator=Njumte 113 | 114 | loading_error=Am na njumte ci yebum dencukaay PDF bi. 115 | invalid_file_error=Dencukaay PDF bi baaxul walla mu sankar. 116 | 117 | # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. 118 | # "{{type}}" will be replaced with an annotation type from a list defined in 119 | # the PDF spec (32000-1:2008 Table 169 – Annotation types). 120 | # Some common types are e.g.: "Check", "Text", "Comment", "Note" 121 | text_annotation_type.alt=[Karmat {{type}}] 122 | password_ok=OK 123 | password_cancel=Neenal 124 | 125 | printing_not_supported=Artu: Joowkat bii nanguwul lool mool. 126 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/locale/meh/viewer.properties: -------------------------------------------------------------------------------- 1 | # Copyright 2012 Mozilla Foundation 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | # Main toolbar buttons (tooltips and alt text for images) 16 | previous.title=Página yata 17 | 18 | # LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. 19 | # LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number 20 | # representing the total number of pages in the document. 21 | # LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" 22 | # will be replaced by a number representing the currently visible page, 23 | # respectively a number representing the total number of pages in the document. 24 | 25 | zoom.title=Nasa´a ka´nu/Nasa´a luli 26 | open_file_label=Síne 27 | 28 | # Secondary toolbar and context menu 29 | 30 | 31 | 32 | 33 | # Document properties dialog box 34 | # LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" 35 | # will be replaced by the PDF file size in kilobytes, respectively in bytes. 36 | # LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" 37 | # will be replaced by the PDF file size in megabytes, respectively in bytes. 38 | # LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" 39 | # will be replaced by the creation/modification date, and time, of the PDF file. 40 | document_properties_date_string={{date}}, {{time}} 41 | # LOCALIZATION NOTE (document_properties_page_size_dimension_string): 42 | # "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by 43 | # the size, respectively their unit of measurement and orientation, of the (current) page. 44 | document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) 45 | # LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): 46 | # "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by 47 | # the size, respectively their unit of measurement, name, and orientation, of the (current) page. 48 | document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) 49 | # LOCALIZATION NOTE (document_properties_linearized): The linearization status of 50 | # the document; usually called "Fast Web View" in English locales of Adobe software. 51 | document_properties_linearized_yes=Kuvi 52 | document_properties_close=Nakasɨ 53 | 54 | # LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by 55 | # a numerical per cent value. 56 | print_progress_percent={{progress}}% 57 | print_progress_close=Nkuvi-ka 58 | 59 | # Tooltips and alt text for side panel toolbar buttons 60 | # (the _label strings are alt text for the buttons, the .title strings are 61 | # tooltips) 62 | findbar_label=Nánuku 63 | 64 | # Thumbnails panel item (tooltip and alt text for images) 65 | # LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page 66 | # number. 67 | # LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page 68 | # number. 69 | 70 | # Find panel button title and messages 71 | find_input.title=Nánuku 72 | # LOCALIZATION NOTE (find_match_count): The supported plural forms are 73 | # [one|two|few|many|other], with [other] as the default value. 74 | # "{{current}}" and "{{total}}" will be replaced by a number representing the 75 | # index of the currently active find result, respectively a number representing 76 | # the total number of matches in the document. 77 | find_match_count={[ plural(total) ]} 78 | # LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are 79 | # [zero|one|two|few|many|other], with [other] as the default value. 80 | # "{{limit}}" will be replaced by a numerical value. 81 | find_match_count_limit={[ plural(limit) ]} 82 | 83 | # Error panel labels 84 | error_close=Nakasɨ 85 | # LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be 86 | # replaced by the PDF.JS version and build ID. 87 | error_version_info=PDF.js v{{version}} (build: {{build}}) 88 | # LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an 89 | # english string describing the error. 90 | # LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack 91 | # trace. 92 | # LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename 93 | # LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number 94 | 95 | # Predefined zoom values 96 | # LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a 97 | # numerical scale value. 98 | page_scale_percent={{scale}}% 99 | 100 | # Loading indicator messages 101 | 102 | # LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be 103 | # replaced by the modification date, and time, of the annotation. 104 | annotation_date_string={{date}}, {{time}} 105 | 106 | # LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. 107 | # "{{type}}" will be replaced with an annotation type from a list defined in 108 | # the PDF spec (32000-1:2008 Table 169 – Annotation types). 109 | # Some common types are e.g.: "Check", "Text", "Comment", "Note" 110 | password_cancel=Nkuvi-ka 111 | 112 | -------------------------------------------------------------------------------- /js/vendor/pdfjs/web/locale/locale.properties: -------------------------------------------------------------------------------- 1 | [ach] 2 | @import url(ach/viewer.properties) 3 | 4 | [af] 5 | @import url(af/viewer.properties) 6 | 7 | [an] 8 | @import url(an/viewer.properties) 9 | 10 | [ar] 11 | @import url(ar/viewer.properties) 12 | 13 | [ast] 14 | @import url(ast/viewer.properties) 15 | 16 | [az] 17 | @import url(az/viewer.properties) 18 | 19 | [be] 20 | @import url(be/viewer.properties) 21 | 22 | [bg] 23 | @import url(bg/viewer.properties) 24 | 25 | [bn] 26 | @import url(bn/viewer.properties) 27 | 28 | [bo] 29 | @import url(bo/viewer.properties) 30 | 31 | [br] 32 | @import url(br/viewer.properties) 33 | 34 | [brx] 35 | @import url(brx/viewer.properties) 36 | 37 | [bs] 38 | @import url(bs/viewer.properties) 39 | 40 | [ca] 41 | @import url(ca/viewer.properties) 42 | 43 | [cak] 44 | @import url(cak/viewer.properties) 45 | 46 | [ckb] 47 | @import url(ckb/viewer.properties) 48 | 49 | [cs] 50 | @import url(cs/viewer.properties) 51 | 52 | [cy] 53 | @import url(cy/viewer.properties) 54 | 55 | [da] 56 | @import url(da/viewer.properties) 57 | 58 | [de] 59 | @import url(de/viewer.properties) 60 | 61 | [dsb] 62 | @import url(dsb/viewer.properties) 63 | 64 | [el] 65 | @import url(el/viewer.properties) 66 | 67 | [en-CA] 68 | @import url(en-CA/viewer.properties) 69 | 70 | [en-GB] 71 | @import url(en-GB/viewer.properties) 72 | 73 | [en-US] 74 | @import url(en-US/viewer.properties) 75 | 76 | [eo] 77 | @import url(eo/viewer.properties) 78 | 79 | [es-AR] 80 | @import url(es-AR/viewer.properties) 81 | 82 | [es-CL] 83 | @import url(es-CL/viewer.properties) 84 | 85 | [es-ES] 86 | @import url(es-ES/viewer.properties) 87 | 88 | [es-MX] 89 | @import url(es-MX/viewer.properties) 90 | 91 | [et] 92 | @import url(et/viewer.properties) 93 | 94 | [eu] 95 | @import url(eu/viewer.properties) 96 | 97 | [fa] 98 | @import url(fa/viewer.properties) 99 | 100 | [ff] 101 | @import url(ff/viewer.properties) 102 | 103 | [fi] 104 | @import url(fi/viewer.properties) 105 | 106 | [fr] 107 | @import url(fr/viewer.properties) 108 | 109 | [fy-NL] 110 | @import url(fy-NL/viewer.properties) 111 | 112 | [ga-IE] 113 | @import url(ga-IE/viewer.properties) 114 | 115 | [gd] 116 | @import url(gd/viewer.properties) 117 | 118 | [gl] 119 | @import url(gl/viewer.properties) 120 | 121 | [gn] 122 | @import url(gn/viewer.properties) 123 | 124 | [gu-IN] 125 | @import url(gu-IN/viewer.properties) 126 | 127 | [he] 128 | @import url(he/viewer.properties) 129 | 130 | [hi-IN] 131 | @import url(hi-IN/viewer.properties) 132 | 133 | [hr] 134 | @import url(hr/viewer.properties) 135 | 136 | [hsb] 137 | @import url(hsb/viewer.properties) 138 | 139 | [hu] 140 | @import url(hu/viewer.properties) 141 | 142 | [hy-AM] 143 | @import url(hy-AM/viewer.properties) 144 | 145 | [hye] 146 | @import url(hye/viewer.properties) 147 | 148 | [ia] 149 | @import url(ia/viewer.properties) 150 | 151 | [id] 152 | @import url(id/viewer.properties) 153 | 154 | [is] 155 | @import url(is/viewer.properties) 156 | 157 | [it] 158 | @import url(it/viewer.properties) 159 | 160 | [ja] 161 | @import url(ja/viewer.properties) 162 | 163 | [ka] 164 | @import url(ka/viewer.properties) 165 | 166 | [kab] 167 | @import url(kab/viewer.properties) 168 | 169 | [kk] 170 | @import url(kk/viewer.properties) 171 | 172 | [km] 173 | @import url(km/viewer.properties) 174 | 175 | [kn] 176 | @import url(kn/viewer.properties) 177 | 178 | [ko] 179 | @import url(ko/viewer.properties) 180 | 181 | [lij] 182 | @import url(lij/viewer.properties) 183 | 184 | [lo] 185 | @import url(lo/viewer.properties) 186 | 187 | [lt] 188 | @import url(lt/viewer.properties) 189 | 190 | [ltg] 191 | @import url(ltg/viewer.properties) 192 | 193 | [lv] 194 | @import url(lv/viewer.properties) 195 | 196 | [meh] 197 | @import url(meh/viewer.properties) 198 | 199 | [mk] 200 | @import url(mk/viewer.properties) 201 | 202 | [mr] 203 | @import url(mr/viewer.properties) 204 | 205 | [ms] 206 | @import url(ms/viewer.properties) 207 | 208 | [my] 209 | @import url(my/viewer.properties) 210 | 211 | [nb-NO] 212 | @import url(nb-NO/viewer.properties) 213 | 214 | [ne-NP] 215 | @import url(ne-NP/viewer.properties) 216 | 217 | [nl] 218 | @import url(nl/viewer.properties) 219 | 220 | [nn-NO] 221 | @import url(nn-NO/viewer.properties) 222 | 223 | [oc] 224 | @import url(oc/viewer.properties) 225 | 226 | [pa-IN] 227 | @import url(pa-IN/viewer.properties) 228 | 229 | [pl] 230 | @import url(pl/viewer.properties) 231 | 232 | [pt-BR] 233 | @import url(pt-BR/viewer.properties) 234 | 235 | [pt-PT] 236 | @import url(pt-PT/viewer.properties) 237 | 238 | [rm] 239 | @import url(rm/viewer.properties) 240 | 241 | [ro] 242 | @import url(ro/viewer.properties) 243 | 244 | [ru] 245 | @import url(ru/viewer.properties) 246 | 247 | [scn] 248 | @import url(scn/viewer.properties) 249 | 250 | [sco] 251 | @import url(sco/viewer.properties) 252 | 253 | [si] 254 | @import url(si/viewer.properties) 255 | 256 | [sk] 257 | @import url(sk/viewer.properties) 258 | 259 | [sl] 260 | @import url(sl/viewer.properties) 261 | 262 | [son] 263 | @import url(son/viewer.properties) 264 | 265 | [sq] 266 | @import url(sq/viewer.properties) 267 | 268 | [sr] 269 | @import url(sr/viewer.properties) 270 | 271 | [sv-SE] 272 | @import url(sv-SE/viewer.properties) 273 | 274 | [szl] 275 | @import url(szl/viewer.properties) 276 | 277 | [ta] 278 | @import url(ta/viewer.properties) 279 | 280 | [te] 281 | @import url(te/viewer.properties) 282 | 283 | [tg] 284 | @import url(tg/viewer.properties) 285 | 286 | [th] 287 | @import url(th/viewer.properties) 288 | 289 | [tl] 290 | @import url(tl/viewer.properties) 291 | 292 | [tr] 293 | @import url(tr/viewer.properties) 294 | 295 | [trs] 296 | @import url(trs/viewer.properties) 297 | 298 | [uk] 299 | @import url(uk/viewer.properties) 300 | 301 | [ur] 302 | @import url(ur/viewer.properties) 303 | 304 | [uz] 305 | @import url(uz/viewer.properties) 306 | 307 | [vi] 308 | @import url(vi/viewer.properties) 309 | 310 | [wo] 311 | @import url(wo/viewer.properties) 312 | 313 | [xh] 314 | @import url(xh/viewer.properties) 315 | 316 | [zh-CN] 317 | @import url(zh-CN/viewer.properties) 318 | 319 | [zh-TW] 320 | @import url(zh-TW/viewer.properties) 321 | 322 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # This file is licensed under the Affero General Public License version 3 or 2 | # later. See the COPYING file. 3 | # @author Ilja Neumann 4 | 5 | SHELL := /bin/bash 6 | 7 | COMPOSER_BIN := $(shell command -v composer 2> /dev/null) 8 | 9 | app_name=$(notdir $(CURDIR)) 10 | project_directory=$(CURDIR)/../$(app_name) 11 | source_build_directory=$(CURDIR)/build/artifacts/source 12 | source_package_name=$(source_build_directory)/$(app_name) 13 | appstore_build_directory=$(CURDIR)/build/artifacts/appstore 14 | appstore_package_name=$(appstore_build_directory)/$(app_name) 15 | npm=$(shell which npm 2> /dev/null) 16 | 17 | # signing 18 | occ=$(CURDIR)/../../occ 19 | private_key=$(HOME)/.owncloud/certificates/$(app_name).key 20 | certificate=$(HOME)/.owncloud/certificates/$(app_name).crt 21 | sign=php -f $(occ) integrity:sign-app --privateKey="$(private_key)" --certificate="$(certificate)" 22 | sign_skip_msg="Skipping signing, either no key and certificate found in $(private_key) and $(certificate) or occ can not be found at $(occ)" 23 | ifneq (,$(wildcard $(private_key))) 24 | ifneq (,$(wildcard $(certificate))) 25 | ifneq (,$(wildcard $(occ))) 26 | CAN_SIGN=true 27 | endif 28 | endif 29 | endif 30 | 31 | # bin file definitions 32 | PHPUNIT=php -d zend.enable_gc=0 "$(PWD)/../../lib/composer/bin/phpunit" 33 | PHPUNITDBG=phpdbg -qrr -d memory_limit=4096M -d zend.enable_gc=0 "$(PWD)/../../lib/composer/bin/phpunit" 34 | PHP_CS_FIXER=php -d zend.enable_gc=0 vendor-bin/owncloud-codestyle/vendor/bin/php-cs-fixer 35 | PHAN=php -d zend.enable_gc=0 vendor-bin/phan/vendor/bin/phan 36 | PHPSTAN=php -d zend.enable_gc=0 vendor-bin/phpstan/vendor/bin/phpstan 37 | 38 | .DEFAULT_GOAL := help 39 | 40 | # start with displaying help 41 | help: 42 | @fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//' | sed -e 's/##//' | sed -e 's/ */ /' | column -t -s : 43 | 44 | # Removes the appstore build 45 | .PHONY: clean 46 | clean: clean-deps 47 | rm -rf ./build/artifacts 48 | 49 | .PHONY: clean-deps 50 | clean-deps: 51 | rm -Rf vendor 52 | rm -Rf vendor-bin/**/vendor vendor-bin/**/composer.lock 53 | 54 | .PHONY: rebuild-pdfjs 55 | rebuild-pdfjs: 56 | rm -rf js/vendor/pdfjs 57 | rm -rf vendor/pdfjs 58 | bower install 59 | cd vendor/pdfjs && npm install 60 | cd vendor/pdfjs && gulp generic-legacy 61 | mkdir -p js/vendor 62 | mv vendor/pdfjs/build/generic-legacy js/vendor/pdfjs 63 | 64 | 65 | # Builds the source and appstore package 66 | .PHONY: dist 67 | dist: appstore 68 | 69 | # Builds the source package for the app store, ignores php and js tests 70 | .PHONY: appstore 71 | appstore: 72 | rm -rf $(appstore_build_directory) 73 | mkdir -p $(appstore_package_name) 74 | cp --parents -r \ 75 | appinfo \ 76 | lib \ 77 | templates \ 78 | l10n \ 79 | css \ 80 | img \ 81 | js \ 82 | README.md \ 83 | CHANGELOG.md \ 84 | $(appstore_package_name) 85 | 86 | ifdef CAN_SIGN 87 | $(sign) --path="$(appstore_package_name)" 88 | else 89 | @echo $(sign_skip_msg) 90 | endif 91 | tar -czf $(appstore_package_name).tar.gz -C $(appstore_package_name)/../ $(app_name) 92 | 93 | ##--------------------- 94 | ## Tests 95 | ##--------------------- 96 | 97 | .PHONY: test-php-unit 98 | test-php-unit: ## Run php unit tests 99 | test-php-unit: 100 | $(PHPUNIT) --configuration ./phpunit.xml --testsuite unit 101 | 102 | .PHONY: test-php-unit-dbg 103 | test-php-unit-dbg: ## Run php unit tests using phpdbg 104 | test-php-unit-dbg: 105 | $(PHPUNITDBG) --configuration ./phpunit.xml --testsuite unit 106 | 107 | .PHONY: test-php-style 108 | test-php-style: ## Run php-cs-fixer and check owncloud code-style 109 | test-php-style: vendor-bin/owncloud-codestyle/vendor 110 | $(PHP_CS_FIXER) fix -v --diff --allow-risky yes --dry-run 111 | 112 | .PHONY: test-php-style-fix 113 | test-php-style-fix: ## Run php-cs-fixer and fix code style issues 114 | test-php-style-fix: vendor-bin/owncloud-codestyle/vendor 115 | $(PHP_CS_FIXER) fix -v --diff --allow-risky yes 116 | 117 | .PHONY: test-php-phan 118 | test-php-phan: ## Run phan 119 | test-php-phan: vendor-bin/phan/vendor 120 | $(PHAN) --config-file .phan/config.php --require-config-exists 121 | 122 | .PHONY: test-php-phpstan 123 | test-php-phpstan: ## Run phpstan 124 | test-php-phpstan: vendor-bin/phpstan/vendor 125 | $(PHPSTAN) analyse --memory-limit=4G --configuration=./phpstan.neon --no-progress --level=5 appinfo lib 126 | 127 | .PHONY: test-php-codecheck 128 | test-php-codecheck: 129 | $(occ) app:check-code $(app_name) -c private -c strong-comparison 130 | $(occ) app:check-code $(app_name) -c deprecation 131 | 132 | # 133 | # Dependency management 134 | #-------------------------------------- 135 | 136 | composer.lock: composer.json 137 | @echo composer.lock is not up to date. 138 | 139 | vendor: composer.lock 140 | composer install --no-dev 141 | 142 | vendor/bamarni/composer-bin-plugin: composer.lock 143 | composer install 144 | 145 | vendor-bin/owncloud-codestyle/vendor: vendor/bamarni/composer-bin-plugin vendor-bin/owncloud-codestyle/composer.lock 146 | composer bin owncloud-codestyle install --no-progress 147 | 148 | vendor-bin/owncloud-codestyle/composer.lock: vendor-bin/owncloud-codestyle/composer.json 149 | @echo owncloud-codestyle composer.lock is not up to date. 150 | 151 | vendor-bin/phan/vendor: vendor/bamarni/composer-bin-plugin vendor-bin/phan/composer.lock 152 | composer bin phan install --no-progress 153 | 154 | vendor-bin/phan/composer.lock: vendor-bin/phan/composer.json 155 | @echo phan composer.lock is not up to date. 156 | 157 | vendor-bin/phpstan/vendor: vendor/bamarni/composer-bin-plugin vendor-bin/phpstan/composer.lock 158 | composer bin phpstan install --no-progress 159 | 160 | vendor-bin/phpstan/composer.lock: vendor-bin/phpstan/composer.json 161 | @echo phpstan composer.lock is not up to date. 162 | 163 | # 164 | # Translation 165 | #-------------------------------------- 166 | 167 | .PHONY: l10n-push 168 | l10n-push: 169 | cd l10n && tx push -s --skip 170 | 171 | .PHONY: l10n-pull 172 | l10n-pull: 173 | cd l10n && tx pull -a --skip --minimum-perc=75 174 | 175 | .PHONY: l10n-clean 176 | l10n-clean: 177 | rm -rf l10n/l10n.pl 178 | find l10n -type f -name \*.po -or -name \*.pot | xargs rm -f 179 | find l10n -type f -name uz.\* -or -name yo.\* -or -name ne.\* -or -name or_IN.\* | xargs git rm -f || true 180 | 181 | .PHONY: l10n-read 182 | l10n-read: l10n/l10n.pl 183 | cd l10n && perl l10n.pl $(app_name) read 184 | 185 | .PHONY: l10n-write 186 | l10n-write: l10n/l10n.pl 187 | cd l10n && perl l10n.pl $(app_name) write 188 | 189 | l10n/l10n.pl: 190 | wget -qO l10n/l10n.pl https://raw.githubusercontent.com/owncloud-ci/transifex/d1c63674d791fe8812216b29da9d8f2f26e7e138/rootfs/usr/bin/l10n 191 | -------------------------------------------------------------------------------- /js/previewplugin.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013-2014 Lukas Reschke 3 | * 4 | * This file is licensed under the Affero General Public License version 3 5 | * or later. 6 | * 7 | * See the COPYING-README file. 8 | * 9 | */ 10 | (function (OCA) { 11 | 12 | OCA.FilesPdfViewer = OCA.FilesPdfViewer || {}; 13 | 14 | /** 15 | * @namespace OCA.FilesPdfViewer.PreviewPlugin 16 | */ 17 | OCA.FilesPdfViewer.PreviewPlugin = { 18 | 19 | /** 20 | * @param fileList 21 | */ 22 | attach: function (fileList) { 23 | /* 24 | Since PDFjs dropped support for IE11 and old EDGE(not chromium based) up to version v2.7.570 25 | (https://github.com/mozilla/pdf.js/releases/tag/v2.7.570) 26 | We don't attach file actions on an unsupported browser, 27 | this falls back to download. 28 | */ 29 | if(!this.isSupportedBrowser()){ 30 | console.warn('files_pdfviewer can not be attached due to browser incompatibility'); 31 | return; 32 | } 33 | 34 | this._extendFileActions(fileList.fileActions); 35 | }, 36 | 37 | hide: function () { 38 | $('#pdframe').remove(); 39 | if ($('#isPublic').val() && $('#filesApp').val()) { 40 | $('#controls').removeClass('hidden'); 41 | $('#content').removeClass('full-height'); 42 | $('footer').removeClass('hidden'); 43 | } 44 | 45 | FileList.setViewerMode(false); 46 | // replace the controls with our own 47 | $('#app-content #controls').removeClass('hidden'); 48 | }, 49 | 50 | /** 51 | * @param fileName 52 | * @param dir 53 | */ 54 | show: function (fileName, dir) { 55 | var self = this; 56 | var downloadUrl = this._getDownloadUrl(fileName, dir); 57 | var sharingToken = $("#sharingToken").val(); 58 | var uri = 'apps/files_pdfviewer/candownload?path={path}'; 59 | 60 | var params = { 61 | path : dir+"/"+fileName, 62 | }; 63 | 64 | if(sharingToken){ 65 | params.sharingToken = sharingToken; 66 | uri += '&sharingToken={sharingToken}'; 67 | } 68 | 69 | $.get(OC.generateUrl(uri, params)).then(function (response) { 70 | if(!response.canDownload){ 71 | OC.Notification.show(t('files_pdfviewer', 'This shared file does not have download permission and is possibly protected by secure view, please contact the owner of the file for granting permission or use a different viewer.'), {timeout : 7, type: 'error'}); 72 | }else{ 73 | self.renderPdfViewer(downloadUrl, true); 74 | } 75 | }); 76 | }, 77 | 78 | /** 79 | * @param downloadUrl 80 | * @param isFileList 81 | */ 82 | renderPdfViewer: function(downloadUrl, isFileList){ 83 | var self = this; 84 | var $iframe; 85 | var isPdfVisible; 86 | var viewer = OC.generateUrl('/apps/files_pdfviewer/?file={file}', { 87 | file: downloadUrl 88 | }); 89 | $iframe = $('