From 30ccabed34a8c6d1939bbf5120dd6a3e34eac23e Mon Sep 17 00:00:00 2001 From: frankdelange Date: Fri, 9 Jan 2015 21:09:18 +0100 Subject: [PATCH] files_opds: add skip list to personal settings, bump version to 0.6.0, new dist file --- README.md | 2 +- dist/files_opds-0.6.0.tar.gz | Bin 0 -> 47336 bytes files_opds/ajax/personal.php | 4 +++- files_opds/appinfo/info.xml | 2 +- files_opds/js/personal.js | 5 +++-- files_opds/personal.php | 1 + files_opds/templates/personal.php | 4 ++++ 7 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 dist/files_opds-0.6.0.tar.gz diff --git a/README.md b/README.md index fdc75a4..0d1d22b 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ The OPDS root feed links to a hierarchical navigation feed mirroring the directo The feed is in compliance with the OPDS 1.1 specification according to the online OPDS validator (http://opds-validator.appspot.com/). -In the personal settings page there are options to enable/disable the feed (it is disabled by default), set the feed title, set the feed root directory (the default is /Library), enter a list of extensions to which the feed should be limited (by default this field is empty so it publishes all files descending from the feed root) and clear the personal bookshelf. +In the personal settings page there are options to enable/disable the feed (it is disabled by default), set the feed title, set the feed root directory (the default is /Library), enter a comma-delimited list of extensions to which the feed should be limited (by default this field is empty so it publishes all files descending from the feed root), enter a comma-delimited list of filenames to skip (default is 'metadata.opf,cover.jpg') and clear the personal bookshelf. The admin settings page contains options to set the feed subtitle, change file preview preferences (which should probably be in core or in a separate app as this changes a system-wide setting ('enabledPreviewProviders')) and change the cover image and thumbnail dimensions. diff --git a/dist/files_opds-0.6.0.tar.gz b/dist/files_opds-0.6.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..9403abf6417f1df9ea31c72a04dec6b4ca7e5980 GIT binary patch literal 47336 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 literal 0 HcmV?d00001 diff --git a/files_opds/ajax/personal.php b/files_opds/ajax/personal.php index 64fc9b5..821643c 100644 --- a/files_opds/ajax/personal.php +++ b/files_opds/ajax/personal.php @@ -18,8 +18,9 @@ namespace OCA\Files_Opds; $l = new \OC_L10N('files_opds'); $opdsEnable = isset($_POST['opdsEnable']) ? $_POST['opdsEnable'] : 'false'; -$rootPath = isset($_POST['rootPath']) ? $_POST['rootPath'] : null; +$rootPath = isset($_POST['rootPath']) ? $_POST['rootPath'] : '/Library'; $fileTypes = isset($_POST['fileTypes']) ? $_POST['fileTypes'] : ''; +$skipList = isset($_POST['skipList']) ? $_POST['skipList'] : 'metadata.opf,cover.jpg'; $feedTitle = isset($_POST['feedTitle']) ? $_POST['feedTitle'] : $l->t("%s's Library", \OCP\User::getDisplayName()); if (!is_null($rootPath)){ @@ -39,6 +40,7 @@ if (!is_null($rootPath)){ } Config::set('enable', $opdsEnable); Config::set('file_types', $fileTypes); + Config::set('skip_list', $skipList); Config::set('feed_title', $feedTitle); Config::set('id', Util::genUuid()); exit(); diff --git a/files_opds/appinfo/info.xml b/files_opds/appinfo/info.xml index a6c3a67..c1dbc41 100644 --- a/files_opds/appinfo/info.xml +++ b/files_opds/appinfo/info.xml @@ -4,7 +4,7 @@ OPDS catalog Personal OPDS catalog AGPL - 0.5.9 + 0.6.0 Frank de Lange 7.0 true diff --git a/files_opds/js/personal.js b/files_opds/js/personal.js index 297b452..a897f4c 100644 --- a/files_opds/js/personal.js +++ b/files_opds/js/personal.js @@ -25,6 +25,7 @@ $(document).ready(function(){ opdsEnable : opdsEnable, rootPath : $('#opds-root-path').val(), fileTypes : $('#opds-file-types').val(), + skipList : $('#opds-skip-list').val(), feedTitle : $('#opds-feed-title').val() }; OC.msg.startSaving('#opds-personal .msg'); @@ -34,8 +35,8 @@ $(document).ready(function(){ OC.msg.finishedSaving('#opds-personal .msg', data); } }; - $('#opds-root-path,#opds-file-types,#opds-feed-title').blur(opdsSettings.save); - $('#opds-root-path,#opds-file-types,#opds-feed-title').keypress(function( event ) { + $('#opds-root-path,#opds-file-types,#opds-feed-title,#opds-skip-list').blur(opdsSettings.save); + $('#opds-root-path,#opds-file-types,#opds-feed-title,#opds-skip-list').keypress(function( event ) { if (event.which == 13) { event.preventDefault(); opdsSettings.save(); diff --git a/files_opds/personal.php b/files_opds/personal.php index 87adecc..3647c52 100644 --- a/files_opds/personal.php +++ b/files_opds/personal.php @@ -20,6 +20,7 @@ $tmpl->assign('opdsEnable-checked', ($opdsEnable === 'true') ? 'checked="checked $tmpl->assign('opdsEnable-value', ($opdsEnable === 'true') ? '1' : '0'); $tmpl->assign('rootPath', Config::get('root_path', '/Library')); $tmpl->assign('fileTypes', Config::get('file_types', '')); +$tmpl->assign('skipList', Config::get('skip_list', 'metadata.opf,cover.jpg')); $tmpl->assign('feedTitle', Config::get('feed_title', $l->t("%s's Library", \OCP\User::getDisplayName()))); $tmpl->assign('bookshelf-count', Bookshelf::count()); $tmpl->assign('feedUrl', \OC_Helper::linkToAbsolute('','index.php') . '/apps/files_opds/'); diff --git a/files_opds/templates/personal.php b/files_opds/templates/personal.php index 2d0252d..75ea30c 100644 --- a/files_opds/templates/personal.php +++ b/files_opds/templates/personal.php @@ -32,6 +32,10 @@ " value="" /> + + + " value="" /> +