diff --git a/files_opds/ajax/admin.php b/files_opds/ajax/admin.php index 75f99d7..7a48fa7 100644 --- a/files_opds/ajax/admin.php +++ b/files_opds/ajax/admin.php @@ -12,8 +12,8 @@ namespace OCA\Files_Opds; -\OCP\JSON::callCheck(); -\OCP\JSON::checkLoggedIn(); +\OC_JSON::callCheck(); +\OC_JSON::checkLoggedIn(); $defaults = new \OC_Defaults(); $l = \OC::$server->getL10N('files_opds'); @@ -53,11 +53,10 @@ if (isset($_POST['opdsCoverX'])) { Config::setPreview('OC\Preview\MSOffice2007',$opdsPreviewMsOffice); } -\OCP\JSON::success( +\OC_JSON::success( array( 'data' => array('message'=> $l->t('Settings updated successfully.')) ) ); exit(); - diff --git a/files_opds/ajax/clear_bookshelf.php b/files_opds/ajax/clear_bookshelf.php index 0ba1604..727a76a 100644 --- a/files_opds/ajax/clear_bookshelf.php +++ b/files_opds/ajax/clear_bookshelf.php @@ -14,8 +14,8 @@ namespace OCA\Files_Opds; $l = \OC::$server->getL10N('files_opds'); -\OCP\JSON::checkLoggedIn(); -\OCP\JSON::callCheck(); +\OC_JSON::checkLoggedIn(); +\OC_JSON::callCheck(); Bookshelf::clear(); -\OCP\JSON::success(array( "data" => array( "message" => $l->t("Bookshelf cleared")))); +\OC_JSON::success(array( "data" => array( "message" => $l->t("Bookshelf cleared")))); diff --git a/files_opds/ajax/personal.php b/files_opds/ajax/personal.php index 2d019b8..6d86ea7 100644 --- a/files_opds/ajax/personal.php +++ b/files_opds/ajax/personal.php @@ -12,8 +12,8 @@ namespace OCA\Files_Opds; -\OCP\JSON::callCheck(); -\OCP\JSON::checkLoggedIn(); +\OC_JSON::callCheck(); +\OC_JSON::checkLoggedIn(); $l = \OC::$server->getL10N('files_opds'); @@ -21,25 +21,27 @@ $opdsEnable = isset($_POST['opdsEnable']) ? $_POST['opdsEnable'] : 'false'; $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()); +$feedTitle = isset($_POST['feedTitle']) ? $_POST['feedTitle'] : $l->t("%s's Library", \OC_User::getDisplayName()); +$opdsoldMime = isset($_POST['opdsoldMime']) ? $_POST['opdsoldMime'] : ''; if (!strlen($rootPath) || - \OC\Files\Filesystem::isValidPath($rootPath) === false || + \OC\Files\Filesystem::isValidPath($rootPath) === false || \OC\Files\Filesystem::file_exists($rootPath) === false ) { - \OCP\JSON::error( + \OC_JSON::error( array( 'data' => array('message'=> $l->t('Directory does not exist!')) ) ); } else { Config::set('root_path', $rootPath); - Config::set('enable', $opdsEnable); - Config::set('file_types', $fileTypes); - Config::set('skip_list', $skipList); - Config::set('feed_title', $feedTitle); + Config::set('enable', $opdsEnable); + Config::set('file_types', $fileTypes); + Config::set('skip_list', $skipList); + Config::set('feed_title', $feedTitle); + Config::set('old_mime', $opdsoldMime); Config::set('id', Util::genUuid()); - \OCP\JSON::success( + \OC_JSON::success( array( 'data' => array('message'=> $l->t('Settings updated successfully.')) ) @@ -47,4 +49,3 @@ if (!strlen($rootPath) || } exit(); - diff --git a/files_opds/ajax/schedule_rescan.php b/files_opds/ajax/schedule_rescan.php index 0f266c3..5d91c3e 100644 --- a/files_opds/ajax/schedule_rescan.php +++ b/files_opds/ajax/schedule_rescan.php @@ -14,8 +14,8 @@ namespace OCA\Files_Opds; $l = \OC::$server->getL10N('files_opds'); -\OCP\JSON::checkLoggedIn(); -\OCP\JSON::callCheck(); +\OC_JSON::checkLoggedIn(); +\OC_JSON::callCheck(); Meta::rescan(); -\OCP\JSON::success(array( "data" => array( "message" => $l->t("Rescan scheduled")))); +\OC_JSON::success(array( "data" => array( "message" => $l->t("Rescan scheduled")))); diff --git a/files_opds/appinfo/info.xml b/files_opds/appinfo/info.xml index 699df24..e4e3cd8 100644 --- a/files_opds/appinfo/info.xml +++ b/files_opds/appinfo/info.xml @@ -37,7 +37,7 @@ See [README] for more information on (mis)features of this app. sqlite mysql - + OCA\Files_Opds\Settings\Admin diff --git a/files_opds/js/personal.js b/files_opds/js/personal.js index 73c0992..db68273 100644 --- a/files_opds/js/personal.js +++ b/files_opds/js/personal.js @@ -39,8 +39,10 @@ $(document).ready(function(){ var opdsSettings = { save : function() { var opdsEnable = document.getElementById('opds-enable').checked ? 'true' : 'false'; + var opdsoldMime = document.getElementById('opds-oldmime').checked ? 'true' : 'false'; var data = { opdsEnable : opdsEnable, + opdsoldMime : opdsoldMime, rootPath : $('#opds-root-path').val(), fileTypes : $('#opds-file-types').val(), skipList : $('#opds-skip-list').val(), @@ -61,5 +63,6 @@ $(document).ready(function(){ } }); $('#opds-enable').on("change", opdsSettings.save); + $('#opds-oldmime').on("change", opdsSettings.save); }); diff --git a/files_opds/lib/config.php b/files_opds/lib/config.php index 6e84a54..a468767 100644 --- a/files_opds/lib/config.php +++ b/files_opds/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_opds', $key, $default); + return \OC::$server->getConfig()->getUserValue(\OC::$server->getUserSession()->getUser()->getUID(), 'files_opds', $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_opds', $key, $value); + return \OC::$server->getConfig()->setUserValue(\OC::$server->getUserSession()->getUser()->getUID(), 'files_opds', $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_opds', $key, $default); + return \OC::$server->getConfig()->getAppValue('files_opds', $key, $default); } /** @@ -58,17 +58,17 @@ class Config * @return bool success */ public static function setApp($key, $value) { - return \OCP\Config::setAppValue('files_opds', $key, $value); + return \OC::$server->getConfig()->setAppValue('files_opds', $key, $value); } - + /** * @brief get preview status - * + * * @param string format * @return bool (true = enabled, false = disabled) */ public static function getPreview($format) { - $enablePreviewProviders = \OCP\Config::getSystemValue('enabledPreviewProviders', null); + $enablePreviewProviders = \OC::$server->getConfig()->getSystemValue('enabledPreviewProviders', null); if (!($enablePreviewProviders === null)) { return in_array($format, $enablePreviewProviders); } @@ -83,7 +83,7 @@ class Config * @return bool */ public static function setPreview($format, $enable = 'false') { - $enablePreviewProviders = \OCP\Config::getSystemValue('enabledPreviewProviders', null); + $enablePreviewProviders = \OC::$server->getConfig()->getSystemValue('enabledPreviewProviders', null); if ($enable == 'true') { if ($enablePreviewProviders === null) { // set up default providers @@ -103,7 +103,7 @@ class Config } } - if (!(\OCP\Config::setSystemValue('enabledPreviewProviders', $enablePreviewProviders))) { + if (!(\OC::$server->getConfig()->setSystemValue('enabledPreviewProviders', $enablePreviewProviders))) { logWarn("Failed to enable " . $format . " preview provider (config.php readonly?)"); return true; } diff --git a/files_opds/lib/feed.php b/files_opds/lib/feed.php index 493764c..3cf127a 100644 --- a/files_opds/lib/feed.php +++ b/files_opds/lib/feed.php @@ -24,7 +24,7 @@ class Feed * @return string feed id */ public static function getFeedId() { - return Config::get('id', ''); + return Config::get('id', ''); } /** @@ -66,8 +66,8 @@ class Feed $tmpl->assign('id', $id); $tmpl->assign('type', $type); $tmpl->assign('dir', $dir); - $tmpl->assign('user', \OCP\User::getDisplayName()); - $tmpl->assign('feed_title', Config::get('feed_title',\OCP\User::getDisplayName() . "'s Library")); + $tmpl->assign('user', \OC_User::getDisplayName()); + $tmpl->assign('feed_title', Config::get('feed_title',\OC_User::getDisplayName() . "'s Library")); $tmpl->assign('feed_subtitle', Config::getApp('feed_subtitle', $defaults->getName() . " OPDS catalog")); $tmpl->assign('feed_updated', time()); $tmpl->printPage(); diff --git a/files_opds/lib/meta.php b/files_opds/lib/meta.php index a3c12cb..bb4aaa6 100644 --- a/files_opds/lib/meta.php +++ b/files_opds/lib/meta.php @@ -64,7 +64,7 @@ class Meta protected static function load($id) { $sql = 'SELECT * FROM `*PREFIX*opds_metadata` WHERE id = ?'; $args = array($id); - $query = \OCP\DB::prepare($sql); + $query = \OC_DB::prepare($sql); $result = $query->execute($args); return ($row = $result->fetchRow()) ? $row : false; @@ -79,7 +79,7 @@ class Meta protected static function save($meta) { $sql = "SELECT `id` FROM *PREFIX*opds_metadata WHERE `id`=?"; $args = array($meta['id']); - $query = \OCP\DB::prepare($sql); + $query = \OC_DB::prepare($sql); $result = $query->execute($args); $data = $result->fetchRow(); if (isset($data['id'])) { @@ -118,7 +118,7 @@ class Meta $meta['rescan'] ); } - $query = \OCP\DB::prepare($sql); + $query = \OC_DB::prepare($sql); return $query->execute($args); } @@ -150,7 +150,7 @@ class Meta public static function remove($id) { $sql = "DELETE FROM *PREFIX*opds_metadata WHERE `id`=?"; $args = array($id); - $query = \OCP\DB::prepare($sql); + $query = \OC_DB::prepare($sql); return $query->execute($args); } @@ -162,7 +162,7 @@ class Meta public static function rescan() { $sql = "UPDATE *PREFIX*opds_metadata SET `rescan`=?"; $args = array(date("Y-m-d H:i:s")); - $query = \OCP\DB::prepare($sql); + $query = \OC_DB::prepare($sql); $result = $query->execute($args); } diff --git a/files_opds/lib/util.php b/files_opds/lib/util.php index b33cafe..c771c1a 100644 --- a/files_opds/lib/util.php +++ b/files_opds/lib/util.php @@ -113,7 +113,7 @@ class Util */ public static function genUuid() { $defaults = new \OC_Defaults(); - $hash = md5(\OCP\User::getDisplayName() . $defaults->getBaseUrl()); + $hash = md5(\OC_User::getDisplayName() . $defaults->getBaseUrl()); $hash = substr($hash, 0, 8 ) .'-'. substr($hash, 8, 4) .'-3'. substr($hash, 13, 3) .'-9'. diff --git a/files_opds/personal.php b/files_opds/personal.php index 5fac311..5a36565 100644 --- a/files_opds/personal.php +++ b/files_opds/personal.php @@ -18,14 +18,17 @@ $l = \OC::$server->getL10N('files_opds'); $tmpl = new \OCP\Template('files_opds', 'personal'); $opdsEnable = Config::get('enable', false); +$opdsoldMime = Config::get('old_mime', false); $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('feedTitle', Config::get('feed_title', $l->t("%s's Library", \OC_User::getDisplayName()))); $tmpl->assign('bookshelf-count', Bookshelf::count()); $tmpl->assign('feedUrl', Util::linkToAbsolute('','index.php') . '/apps/files_opds/'); +$tmpl->assign('opdsoldMime-checked', ($opdsoldMime === 'true') ? 'checked="checked"' : ''); +$tmpl->assign('opdsoldMime-value', ($opdsoldMime === 'true') ? '1' : '0'); return $tmpl->fetchPage(); diff --git a/files_opds/templates/feed.php b/files_opds/templates/feed.php index 1704d39..3eaf941 100644 --- a/files_opds/templates/feed.php +++ b/files_opds/templates/feed.php @@ -48,7 +48,9 @@ switch ($_['type']) { case 'bookshelf': foreach ($_['bookshelf'] as $file) { - print_unescaped($this->inc('part.feed.acquisition', [ 'file' => $file ])); + foreach( $file as $key => $value ) + $newfile["file_".$key] = $value; + print_unescaped($this->inc('part.feed.acquisition', $newfile )); } break; @@ -60,10 +62,13 @@ switch ($_['type']) { case 'directory': default: foreach ($_['files'] as $file) { + foreach( $file as $key => $value ) + $newfile["file_".$key] = $value; + if ($file['type'] == 'dir') { - print_unescaped($this->inc('part.feed.navigation', [ 'file' => $file ])); + print_unescaped($this->inc('part.feed.navigation', $newfile )); } else { - print_unescaped($this->inc('part.feed.acquisition', [ 'file' => $file ])); + print_unescaped($this->inc('part.feed.acquisition', $newfile )); } } break; diff --git a/files_opds/templates/part.feed.acquisition.php b/files_opds/templates/part.feed.acquisition.php index ab7aae0..23f82dc 100644 --- a/files_opds/templates/part.feed.acquisition.php +++ b/files_opds/templates/part.feed.acquisition.php @@ -1,38 +1,47 @@ - - - - id: - - + + + + + id: + + - - urn:isbn: + + urn:isbn: - - + + - - + + - - + - + - + - - - + + - + diff --git a/files_opds/templates/part.feed.navigation.php b/files_opds/templates/part.feed.navigation.php index 70568b2..09cd880 100644 --- a/files_opds/templates/part.feed.navigation.php +++ b/files_opds/templates/part.feed.navigation.php @@ -1,12 +1,12 @@ - - - id: + + + id: + href="?id="/> + href="?id="/> diff --git a/files_opds/templates/personal.php b/files_opds/templates/personal.php index ac1823d..f3f705a 100644 --- a/files_opds/templates/personal.php +++ b/files_opds/templates/personal.php @@ -23,7 +23,8 @@ style('files_opds', 'settings'); type="checkbox" class="checkbox"> - t('enable OPDS catalog')) ?> + t('enable OPDS catalog')) ?> + @@ -43,6 +44,10 @@ style('files_opds', 'settings'); t('Skip these filenames:')) ?> " value="" /> + + t('Use alternative Mimetypes for Comicbook:')) ?> + type="checkbox" title="For example use application/x-cbr instead of application/comicbook+rar"/> +