2020-04-21 20:37:42 +00:00
< ? php
2023-06-16 14:58:23 +00:00
/** @var array $_ */
/** @var OCP\IURLGenerator $urlGenerator */
$urlGenerator = $_ [ 'urlGenerator' ];
$downloadLink = $_ [ 'downloadLink' ];
$fileId = $_ [ 'fileId' ];
$fileName = $_ [ 'fileName' ];
$fileType = $_ [ 'fileType' ];
$scope = $_ [ 'scope' ];
$cursor = $_ [ 'cursor' ];
$defaults = $_ [ 'defaults' ];
$preferences = $_ [ 'preferences' ];
$metadata = $_ [ 'metadata' ];
$annotations = $_ [ 'annotations' ];
$title = htmlentities ( basename ( $downloadLink ));
$revision = '0048' ;
2023-08-02 20:04:03 +00:00
$version = \OC :: $server -> getAppManager () -> getAppVersion ( 'epubreader' ) . '.' . $revision ;
2020-04-21 20:37:42 +00:00
2023-06-16 14:58:23 +00:00
/* Mobile safari, the new IE6 */
$idevice = ( strstr ( $_SERVER [ 'HTTP_USER_AGENT' ], 'iPhone' )
|| strstr ( $_SERVER [ 'HTTP_USER_AGENT' ], 'iPad' )
|| strstr ( $_SERVER [ 'HTTP_USER_AGENT' ], 'iPod' ));
2020-04-21 20:37:42 +00:00
2023-06-16 14:58:23 +00:00
/* Owncloud currently does not implement CSPv3, remove this test when it does */
$nonce = class_exists ( '\OC\Security\CSP\ContentSecurityPolicyNonceManager' )
? \OC :: $server -> getContentSecurityPolicyNonceManager () -> getNonce ()
: 'nonce_not_implemented' ;
2020-04-21 20:37:42 +00:00
?>
< html dir = " ltr " >
2023-08-02 20:04:03 +00:00
< head class = " session " data - nonce = '<?php p($nonce); ?>' data - downloadlink = '<?php print_unescaped($downloadLink); ?>' data - fileid = '<?php print_unescaped($fileId); ?>' data - filetype = '<?php print_unescaped($fileType); ?>' data - filename = '<?php print_unescaped($fileName); ?>' data - version = '<?php print_unescaped($version); ?>' data - basepath = '<?php p($urlGenerator->linkToRoute(' epubreader . page . showReader ')); ?>' data - staticpath = '<?php p($urlGenerator->linkTo(' epubreader ', ' ')); ?>' data - scope = '<?php print_unescaped($scope); ?>' data - cursor = '<?php print_unescaped($cursor); ?>' data - defaults = '<?php print_unescaped($defaults); ?>' data - preferences = '<?php print_unescaped($preferences); ?>' data - metadata = '<?php print_unescaped($metadata); ?>' data - annotations = '<?php print_unescaped($annotations); ?>' >
2020-04-21 20:37:42 +00:00
< meta charset = " utf-8 " >
< meta name = " viewport " content = " width=device-width, initial-scale=1, maximum-scale=1 " >
< meta name = " apple-mobile-web-app-capable " content = " yes " >
2023-08-02 20:04:03 +00:00
<!-- < base href = " <?php p( $urlGenerator->linkTo ('epubreader', '')); ?> " > -->
2020-04-21 20:37:42 +00:00
< title >
2023-08-02 20:04:03 +00:00
< ? php p ( $title ); ?>
2020-04-21 20:37:42 +00:00
</ title >
2023-08-02 20:04:03 +00:00
< link rel = " shortcut icon " href = " <?php p( $urlGenerator->linkTo ('epubreader', 'img/book.png')); ?> " >
< link rel = " stylesheet " href = " <?php p( $urlGenerator->linkTo ('epubreader', 'public/icomoon/style.css')); ?>?v=<?php p( $version ); ?> " >
< link rel = " stylesheet " href = " <?php p( $urlGenerator->linkTo ('epubreader', 'public/cbrjs/css/cbr.css')); ?>?v=<?php p( $version ); ?> " >
< script type = " text/javascript " nonce = " <?php p( $nonce ); ?> " src = " <?php p( $urlGenerator->linkTo ('epubreader', 'public/epubjs/libs/jquery.min.js')); ?>?v=<?php p( $version ); ?> " > </ script >
< script type = " text/javascript " nonce = " <?php p( $nonce ); ?> " src = " <?php p( $urlGenerator->linkTo ('epubreader', 'public/sindresorhus/screenfull.js')); ?>?v=<?php p( $version ); ?> " > </ script >
< script type = " text/javascript " nonce = " <?php p( $nonce ); ?> " src = " <?php p( $urlGenerator->linkTo ('epubreader', 'public/pixastic/pixastic_combined.js')); ?>?v=<?php p( $version ); ?> " > </ script >
< script type = " text/javascript " nonce = " <?php p( $nonce ); ?> " src = " <?php p( $urlGenerator->linkTo ('epubreader', 'public/bitjs/archive/archive.js')); ?>?v=<?php p( $version ); ?> " > </ script >
< script type = " text/javascript " nonce = " <?php p( $nonce ); ?> " src = " <?php p( $urlGenerator->linkTo ('epubreader', 'public/cbrjs/cbr.js')); ?>?v=<?php p( $version ); ?> " > </ script >
2020-04-21 20:37:42 +00:00
2023-08-02 20:04:03 +00:00
< ? php if ( $idevice ) { ?>
< link rel = " stylesheet " href = " <?php p( $urlGenerator->linkTo ('epubreader', 'public/cbrjs/css/idevice.css')); ?>?v=<?php p( $version ); ?> " >
< ? php } ?>
2020-04-21 20:37:42 +00:00
2023-08-02 20:04:03 +00:00
< script type = " text/javascript " nonce = " <?php p( $nonce ); ?> " src = " <?php p( $urlGenerator->linkTo ('epubreader', 'js/ready.js')); ?>?v=<?php p( $version ); ?> " > </ script >
2020-04-21 20:37:42 +00:00
</ head >
< body >
<!-- data -->
<!-- / data -->
<!-- loading progressbar -->
< div id = " progressbar " style = " display:none; " >
< span class = " progress " >< span class = " bar " ></ span ></ span >
< br >
< div class = " message " >< span class = " message-icons " >< span class = " icon-cloud_download " ></ span >< span class = " icon-unarchive " ></ span ></ span > < span class = " message-text " ></ span ></ div >
</ div >
<!-- / loading progressbar -->
<!-- toolbar -->
< div class = " toolbar control " name = " toolbar " >
< div class = " pull-left " >
< button data - trigger = " click " data - action = " openSidebar " title = " open sidebar " class = " icon-menu " ></ button >
</ div >
< div class = " metainfo " >
< span class = " book-title " ></ span >& nbsp ; < span class = " current-page " ></ span > / < span class = " page-count " ></ span >
</ div >
< div class = " pull-right " >
< div >
< button data - trigger = " click " data - action = " toggleLayout " title = " toggle one/two pages at a time " class = " icon-single_page_mode layout layout-single " ></ button >
< button data - trigger = " click " data - action = " toggleLayout " title = " toggle one/two pages at a time " class = " icon-double_page_mode layout layout-double " ></ button >
</ div >
< div >
< button data - trigger = " click " data - action = " zoomOut " title = " zoom out " class = " icon-zoom_out " ></ button >
</ div >
< div >
< button data - trigger = " click " data - action = " zoomIn " title = " zoom in " class = " icon-zoom_in " ></ button >
</ div >
< div >
< button data - trigger = " click " data - action = " fitWidth " title = " fit page to window width " class = " icon-icon-fit-width " ></ button >
</ div >
< div >
< button data - trigger = " click " data - action = " fitWindow " title = " fit page to window " class = " icon-icon-fit-window " ></ button >
</ div >
< div >
< button data - trigger = " click " data - action = " toggleReadingMode " title = " switch reading direction " class = " icon-format_textdirection_l_to_r manga-false " ></ button >
< button data - trigger = " click " data - action = " toggleReadingMode " title = " switch reading direction " class = " icon-format_textdirection_r_to_l manga-true " ></ button >
</ div >
< div >
< button data - trigger = " click " data - action = " toggleFullscreen " title = " toggle fullscreen " class = " icon-fullscreen fullscreen-false " ></ button >
< button data - trigger = " click " data - action = " toggleFullscreen " title = " toggle fullscreen " class = " icon-fullscreen_exit fullscreen-true " ></ button >
</ div >
< div class = " hide close separator " ></ div >
< div class = " hide close " >
< button data - trigger = " click " data - action = " close " title = " close " class = " icon-exit " ></ button >
</ div >
</ div >
</ div >
<!-- / toolbar -->
<!-- loading overlay -->
< div id = " cbr-loading-overlay " class = " cbr-control control overlay " name = " loadingOverlay " style = " display:none " >
2023-08-02 20:04:03 +00:00
< img src = " <?php p( $urlGenerator->linkTo ('epubreader', 'img/loading.gif')); ?> " >
2020-04-21 20:37:42 +00:00
</ div >
<!-- / loading overlay -->
<!-- busy overlay -->
< div id = " cbr-busy-overlay " class = " cbr-control control overlay " name = " busyOverlay " data - trigger = " click " data - action = " closeSidebar " style = " display:none " ></ div >
<!-- / busy overlay -->
<!-- navigation -->
< div data - trigger = " click " data - action = " navigation " data - navigate - side = " left " class = " cbr-control navigate navigate-left control " name = " navigateLeft " >
< span class = " icon-navigate_before " ></ span >
</ div >
<!-- toggle toolbar ( disabled )
< div data - trigger = " click " data - action = " toggleToolbar " class = " toggle-controls control " name = " toggleToolbar " ></ div >
-->
< div data - trigger = " click " data - action = " navigation " data - navigate - side = " right " class = " cbr-control navigate navigate-right control " name = " navigateRight " >
< span class = " icon-navigate_next " ></ span >
</ div >
<!-- / navigation -->
<!-- inline progressbar -->
< div id = " cbr-status " class = " cbr-control control " name = " progressbar " style = " display:none " >
< div id = " cbr-progress-bar " >
< div class = " progressbar-value " ></ div >
</ div >
</ div >
<!-- / inline progressbar -->
<!-- sidebar -->
< div class = " sidebar control " name = " sidebar " id = " sidebar " >
< div class = " panels " >
< div class = " pull-left " >
< button data - trigger = " click " data - action = " showToc " title = " Table of Contents " class = " icon-format_list_numbered toc-view open " ></ button >
< button data - trigger = " click " data - action = " showBookSettings " title = " Book settings " class = " icon-rate_review book-settings-view " ></ button >
< button data - trigger = " click " data - action = " showSettings " title = " Default settings " class = " icon-settings settings-view " ></ button >
</ div >
< div class = " pull-right " >
< button id = " toc-populate " data - trigger = " click " data - action = " tocPopulate " title = " generate thumbnails " class = " icon-sync " style = " display:none " ></ button >
< button data - trigger = " click " data - action = " closeSidebar " title = " close sidebar " class = " icon-menu " ></ button >
</ div >
</ div >
< div class = " toc-view view open " >
< ul id = " toc " >
</ ul >
</ div >
< div class = " book-settings-view view " >
< div class = " metadata " >
< table >
< tr >
< td > Title :</ td >< td class = " book-title " ></ td >
</ tr >
< tr >
< td > Format :</ td >< td class = " book-format " ></ td >
</ tr >
< tr >
< td > Page count :</ td >< td class = " book-pagecount " ></ td >
</ tr >
< tr >
< td > Size :</ td >< td class = " book-size " ></ td >
</ tr >
</ table >
</ div >
< div class = " settings-container " name = " enhancements " id = " enhancements " >
< label for = " enhancements " > Image enhancements </ label >
< form name = " image-enhancements " data - trigger = " reset " data - action = " resetEnhancements " >
< div class = " sliders " >
< div class = " control-group " >
< label title = " adjust brightness " class = " icon-brightness_low " ></ label >
< input id = " brightness " data - trigger = " change " data - action = " brightness " type = " range " min = " -100 " max = " 100 " step = " 1 " value = " 0 " >
</ div >
< div class = " control-group " >
< label title = " adjust contrast " class = " icon-contrast " ></ label >
< input id = " contrast " data - trigger = " change " data - action = " brightness " type = " range " min = " -1 " max = " 1 " step = " 0.1 " value = " 0 " >
</ div >
< div class = " control-group " >
< label title = " sharpen " class = " icon-droplet " ></ label >
< input id = " sharpen " data - trigger = " change " data - action = " sharpen " type = " range " min = " 0 " max = " 1 " step = " 0.1 " value = " 0 " >
</ div >
</ div >
< div class = " control-group pull-left " >
< input id = " image-desaturate " type = " checkbox " data - trigger = " change " data - action = " desaturate " >
< label for = " image-desaturate " > desaturate </ label >
< input id = " image-removenoise " type = " checkbox " data - trigger = " change " data - action = " removenoise " >
< label for = " image-removenoise " > remove noise </ label >
</ div >
< div class = " control-group pull-right " >
< input type = " reset " value = " reset " >
</ div >
</ form >
</ div >
</ div >
< div class = " settings-view view " >
< div class = " settings-container " name = " thumbnail-settings " id = " thumbnail-settings " >
< label for = " thumbnail-settings " > Thumbnails </ label >
< div class = " control-group pull-left " >
< input id = " thumbnail-generate " data - trigger = " change " data - action = " thumbnails " type = " checkbox " >
< label for = " thumbnail-generate " > Thumbnails in index </ label >
</ div >
< div class = " control-group pull-left " >
< label for = " thumbnail-width " > Thumbnail width :</ label >
< input id = " thumbnail-width " data - trigger = " change " data - action = " thumbnailWidth " type = " number " min = " 50 " max = " 500 " step = " 10 " value = " 200 " >
< label for = " thumbnail-width " > px </ label >
</ div >
</ div >
< div class = " settings-container " name = " sidebar-settings " id = " sidebar-settings " >
< label for = " sidebar-settings " > Sidebar </ label >
< form name = " sidebar-preferences " data - trigger = " reset " data - action = " resetSidebar " >
< div class = " control-group pull-left " >
< input id = " sidebar-wide " data - trigger = " change " data - action = " sidebarWide " type = " checkbox " >
< label for = " sidebar-wide " > Use extra - wide sidebar </ label >
</ div >
< div class = " control-group pull-left " >
< label for = " sidebar-width " > Sidebar width :</ label >
< input id = " sidebar-width " data - trigger = " change " data - action = " sidebarWidth " type = " number " min = " 5 " max = " 100 " step = " 1 " value = " 20 " >
< label for = " sidebar-width " >%</ label >
</ div >
< div class = " control-group pull-right " >
< input type = " reset " value = " reset " >
</ div >
</ form >
</ div >
</ div >
</ div >
<!-- / sidebar -->
< canvas id = " viewer " style = " display:none; " ></ canvas >
</ body >
</ html >