diff --git a/files_reader/ajax/personal.php b/files_reader/ajax/personal.php
index b2db6a8..c3a3602 100644
--- a/files_reader/ajax/personal.php
+++ b/files_reader/ajax/personal.php
@@ -21,9 +21,9 @@ $EpubEnable = isset($_POST['EpubEnable']) ? $_POST['EpubEnable'] : 'false';
$PdfEnable = isset($_POST['PdfEnable']) ? $_POST['PdfEnable'] : 'false';
$CbxEnable = isset($_POST['CbxEnable']) ? $_POST['CbxEnable'] : 'false';
-\OC::$server->getAppConfig()->setValue('files_reader', 'epub_enable', $EpubEnable);
-\OC::$server->getAppConfig()->setValue('files_reader', 'pdf_enable', $PdfEnable);
-\OC::$server->getAppConfig()->setValue('files_reader', 'cbx_enable', $CbxEnable);
+Config::set('epub_enable', $EpubEnable);
+Config::set('pdf_enable', $PdfEnable);
+Config::set('cbx_enable', $CbxEnable);
\OC_JSON::success(
array(
diff --git a/files_reader/appinfo/info.xml b/files_reader/appinfo/info.xml
index ec61ad1..9bac62a 100644
--- a/files_reader/appinfo/info.xml
+++ b/files_reader/appinfo/info.xml
@@ -30,7 +30,7 @@ See [README] for more exhaustive information on features and potential misfeatur
[README]: https://github.com/Yetangitu/owncloud-apps/blob/master/files_reader/README.md
]]>
-
1.2.3
+
1.3.0
AGPL
Frank de Lange
@@ -47,15 +47,7 @@ See [README] for more exhaustive information on features and potential misfeatur
files
multimedia
office
-
-
-
-
-
- pgsql
- sqlite
- mysql
+
- 167127
diff --git a/files_reader/js/plugin.js b/files_reader/js/plugin.js
index 20ba0e5..2df289e 100644
--- a/files_reader/js/plugin.js
+++ b/files_reader/js/plugin.js
@@ -65,6 +65,8 @@
$('.directDownload').show();
}
$('iframe').remove();
+ $('body').off('focus.filesreader');
+ $(window).off('popstate.filesreader');
},
/**
@@ -73,10 +75,10 @@
*/
show: function(downloadUrl, mimeType, isFileList) {
var self = this;
- var viewer = OC.generateUrl('/apps/files_reader/?file={file}&type={type}', {file: downloadUrl, type: mimeType});
- // launch in new window on mobile and touch devices...
+ var viewer = OC.generateUrl('/apps/files_reader/?file={file}&type={type}', {file: downloadUrl, type: mimeType});
+ // launch in new window on all devices
window.open(viewer, downloadUrl);
- },
+ },
/**
* @param fileActions
@@ -84,6 +86,16 @@
*/
_extendFileActions: function(fileActions) {
var self = this;
+ var cbxMime = [
+ 'application/x-cbr',
+ 'application/comicbook+7z',
+ 'application/comicbook+ace',
+ 'application/comicbook+rar',
+ 'application/comicbook+tar',
+ 'application/comicbook+truecrypt',
+ 'application/comicbook+zip'
+ ];
+
fileActions.registerAction({
name: 'view-epub',
displayName: 'View',
@@ -93,15 +105,22 @@
return actionHandler(fileName, 'application/epub+zip', context);
}
});
- fileActions.registerAction({
- name: 'view-cbr',
- displayName: 'View',
- mime: 'application/x-cbr',
- permissions: OC.PERMISSION_READ,
- actionHandler: function(fileName, context) {
- return actionHandler(fileName, 'application/x-cbr', context);
- }
+
+ cbxMime.forEach(function(mime, i){
+ fileActions.registerAction({
+ name: 'view-cbr-' + i,
+ displayName: 'View',
+ mime: mime,
+ permissions: OC.PERMISSION_READ,
+ actionHandler: function (fileName, context) {
+ return actionHandler(fileName, 'application/x-cbr', context);
+ }
+ });
+
+ if (oc_appconfig.filesReader.enableCbx === 'true')
+ fileActions.setDefault(mime, 'view-cbr-' + i);
});
+
fileActions.registerAction({
name: 'view-pdf',
displayName: 'View',
@@ -114,8 +133,6 @@
if (oc_appconfig.filesReader.enableEpub === 'true')
fileActions.setDefault('application/epub+zip', 'view-epub');
- if (oc_appconfig.filesReader.enableCbx === 'true')
- fileActions.setDefault('application/x-cbr', 'view-cbr');
if (oc_appconfig.filesReader.enablePdf === 'true')
fileActions.setDefault('application/pdf', 'view-pdf');
}
diff --git a/files_reader/lib/Hooks.php b/files_reader/lib/Hooks.php
index 3d3f1cb..15025e2 100644
--- a/files_reader/lib/Hooks.php
+++ b/files_reader/lib/Hooks.php
@@ -19,7 +19,7 @@ use \OC\User\User as User;
class Hooks {
public static function register() {
- Util::connectHook('js', 'OCA\Files_Reader\Hooks', 'announce_settings');
+ Util::connectHook('\OCP\Config', 'js', 'OCA\Files_Reader\Hooks', 'announce_settings');
\OC::$server->getRootFolder()->listen('\OC\Files', 'preDelete', function (Node $node) {
$fileId = $node->getId();
@@ -38,9 +38,9 @@ class Hooks {
// TODO: rmeove this when Owncloud starts encoding oc_appconfig as JSON just like it already encodes most other properties
$isJson = self::isJson($settings['array']['oc_appconfig']);
$array = ($isJson) ? json_decode($settings['array']['oc_appconfig'], true) : $settings['array']['oc_appconfig'];
- $array['filesReader']['enableEpub'] = \OC::$server->getConfig()->getAppValue('epub_enable', 'true');
- $array['filesReader']['enablePdf'] = \OC::$server->getConfig()->getAppValue('pdf_enable', 'true');
- $array['filesReader']['enableCbx'] = \OC::$server->getConfig()->getAppValue('cbx_enable', 'true');
+ $array['filesReader']['enableEpub'] = Config::get('epub_enable', 'true');
+ $array['filesReader']['enablePdf'] = Config::get('pdf_enable', 'true');
+ $array['filesReader']['enableCbx'] = Config::get('cbx_enable', 'true');
$settings['array']['oc_appconfig'] = ($isJson) ? json_encode($array) : $array;
}
diff --git a/files_reader/lib/config.php b/files_reader/lib/config.php
index 56e5427..210bed5 100644
--- a/files_reader/lib/config.php
+++ b/files_reader/lib/config.php
@@ -25,7 +25,7 @@ class Config
* @return string retrieved value or default
*/
public static function get($key, $default) {
- return \OCP\Config::getUserValue(\OCP\User::getUser(), 'files_reader', $key, $default);
+ return \OC::$server->getConfig()->getUserValue(\OCP\User::getUser(), 'files_reader', $key, $default);
}
/**
@@ -36,7 +36,7 @@ class Config
* @return bool success
*/
public static function set($key, $value) {
- return \OCP\Config::setUserValue(\OCP\User::getUser(), 'files_reader', $key, $value);
+ return \OC::$server->getConfig()->setUserValue(\OCP\User::getUser(), 'files_reader', $key, $value);
}
/**
@@ -47,7 +47,7 @@ class Config
* @return string retrieved value or default
*/
public static function getApp($key, $default) {
- return \OCP\Config::getAppValue('files_reader', $key, $default);
+ return \OC::$server->getConfig()->getAppValue('files_reader', $key, $default);
}
/**
@@ -58,6 +58,6 @@ class Config
* @return bool success
*/
public static function setApp($key, $value) {
- return \OCP\Config::setAppValue('files_reader', $key, $value);
+ return \OC::$server->getConfig()->setAppValue('files_reader', $key, $value);
}
}
diff --git a/files_reader/personal.php b/files_reader/personal.php
index 6a071c5..2b0dd18 100644
--- a/files_reader/personal.php
+++ b/files_reader/personal.php
@@ -15,9 +15,9 @@ use OCP\Util;
#$l = \OC::$server->getL10N('files_reader');
$tmpl = new \OCP\Template('files_reader', 'settings-personal');
-$EpubEnable = \OC::$server->getConfig()->getAppValue('epub_enable', 'true');
-$PdfEnable = \OC::$server->getConfig()->getAppValue('pdf_enable', 'true');
-$CbxEnable = \OC::$server->getConfig()->getAppValue('cbx_enable', 'true');
+$EpubEnable = Config::get('epub_enable', 'true');
+$PdfEnable = Config::get('pdf_enable', 'true');
+$CbxEnable = Config::get('cbx_enable', 'true');
$tmpl->assign('EpubEnable', $EpubEnable);
$tmpl->assign('PdfEnable', $PdfEnable);
$tmpl->assign('CbxEnable', $CbxEnable);
diff --git a/files_reader/templates/cbreader.php b/files_reader/templates/cbreader.php
index 24bac88..6e47a48 100644
--- a/files_reader/templates/cbreader.php
+++ b/files_reader/templates/cbreader.php
@@ -36,9 +36,9 @@
-
-
-
+
+
+
@@ -109,7 +109,9 @@
-
+
+
) ?>)
+
diff --git a/files_reader/templates/epubreader.php b/files_reader/templates/epubreader.php
index 8f2a9dc..da6ca87 100644
--- a/files_reader/templates/epubreader.php
+++ b/files_reader/templates/epubreader.php
@@ -36,7 +36,7 @@
-
+
@@ -155,7 +155,7 @@
-

+
diff --git a/files_reader/templates/pdfreader.php b/files_reader/templates/pdfreader.php
index 7513ce4..a47410e 100644
--- a/files_reader/templates/pdfreader.php
+++ b/files_reader/templates/pdfreader.php
@@ -36,7 +36,7 @@
-
+
@@ -113,7 +113,7 @@
-
+
diff --git a/files_reader/vendor/cbrjs/cbr.js b/files_reader/vendor/cbrjs/cbr.js
index 503f2fa..077369c 100644
--- a/files_reader/vendor/cbrjs/cbr.js
+++ b/files_reader/vendor/cbrjs/cbr.js
@@ -50,7 +50,7 @@ CBRJS.Reader = function(bookPath, _options) {
}
xhr.open('GET',url, true);
-
+
options.start(filename);
xhr.responseType = "arraybuffer";
@@ -70,10 +70,10 @@ CBRJS.Reader = function(bookPath, _options) {
reader.options.session.size = e.total;
};
- xhr.onload = function () {
+ xhr.onload = function () {
if ((this.status === 200) && this.response) {
var done = false;
- var ua = new bitjs.archive[archive_class](this.response, 'vendor/bitjs/');
+ var ua = new bitjs.archive[archive_class](this.response, document.head.dataset.basepath + 'vendor/bitjs/');
ua.addEventListener(bitjs.archive.UnarchiveEvent.Type.START, function (e) {
$progressbar.css('width', '0%');
@@ -120,9 +120,9 @@ CBRJS.Reader = function(bookPath, _options) {
$('.icon-unarchive').removeClass('active');
$('.icon-unarchive').addClass('error');
$('#message').text('Failed to extract images from archive, file corrupted?');
-
+
});
- }
+ }
ua.start();
};
@@ -261,7 +261,7 @@ ComicBook = (function ($) {
thumbnails: true, // true / false (use thumbnails in index)
thumbnailWidth: 200, // width of thumbnail
sidebarWide: false, // use wide sidbar
- currentPage: 0, // current page
+ currentPage: 0, // current page
keyboard: {
32: 'next', // space
34: 'next', // page-down
@@ -276,7 +276,7 @@ ComicBook = (function ($) {
70: 'toggleFullscreen', // f
27: 'closeSidebar' // esc
},
- vendorPath: 'vendor/',
+ vendorPath: document.head.dataset.basepath + 'vendor/',
forward_buffer: 3,
session: {
getCursor: function() {},
@@ -442,7 +442,7 @@ ComicBook = (function ($) {
break;
default:
console.log("unknown enhancement: " + JSON.stringify(prop));
- }
+ }
}
};
@@ -570,7 +570,7 @@ ComicBook = (function ($) {
};
/**
- * Insert thumbnail into TOC
+ * Insert thumbnail into TOC
*/
ComicBook.prototype.tocInsert = function (image, page, replace) {
var placeholder = toc.children[page].firstChild;
@@ -578,7 +578,7 @@ ComicBook = (function ($) {
placeholder.parentNode.replaceChild(
self.getThumb(image),
placeholder
- );
+ );
}
toc.children[page].addEventListener('click', function (e) {
@@ -1407,7 +1407,7 @@ ComicBook = (function ($) {
page = options.currentPage;
}
- document.getElementById('toc').parentNode.scrollTop =
+ document.getElementById('toc').parentNode.scrollTop =
document.getElementById('page-' + String(page + 1)).offsetTop
- Math.floor($('.panels').height() * 1.5);
};
@@ -1474,5 +1474,3 @@ ComicBook = (function ($) {
}
})(window, jQuery);
-
-
diff --git a/files_reader/vendor/cbrjs/css/cbr.css b/files_reader/vendor/cbrjs/css/cbr.css
index ffdbfd1..00d3164 100644
--- a/files_reader/vendor/cbrjs/css/cbr.css
+++ b/files_reader/vendor/cbrjs/css/cbr.css
@@ -116,7 +116,13 @@ body:not(.mobile) .navigate:hover {
#cbr-loading-overlay {
z-index: 100;
- background: #000 url("img/loading.gif") no-repeat center;
+ padding: 0;
+ width: 20px;
+ height: 20px;
+}
+
+#cbr-loading-overlay > img {
+ width: 100%;
}
.overlay {