1
0
Fork 0
mirror of https://github.com/Yetangitu/owncloud-apps.git synced 2025-10-02 14:49:17 +02:00
nextcloud-apps/files_opds/lib/config.php
frankdelange 007b7c7791 - add rudimentary epub parser for metadata extraction
- add cover images
 - add configurable preview settings (should probably be in core or in a separate app)
 - add some metadata to feed template (file size, type and filename)
2014-12-12 19:24:36 +01:00

111 lines
2.9 KiB
PHP

<?php
/**
* ownCloud - Files_Opds App
*
* @author Frank de Lange
* @copyright 2014 Frank de Lange
*
* This file is licensed under the Affero General Public License version 3 or
* later.
*/
namespace OCA\Files_Opds;
/**
* Config class for publishing as OPDS
*/
class Config
{
/**
* @brief get user config value
*
* @param string $key value to retrieve
* @param string $default default value to use
* @return string retrieved value or default
*/
public static function get($key, $default) {
return \OCP\Config::getUserValue(\OCP\User::getUser(), 'files_opds', $key, $default);
}
/**
* @brief set user config value
*
* @param string $key key for value to change
* @param string $value value to use
* @return bool success
*/
public static function set($key, $value) {
return \OCP\Config::setUserValue(\OCP\User::getUser(), 'files_opds', $key, $value);
}
/**
* @brief get app config value
*
* @param string $key value to retrieve
* @param string $default default value to use
* @return string retrieved value or default
*/
public static function getApp($key, $default) {
return \OCP\Config::getAppValue('files_opds', $key, $default);
}
/**
* @brief set app config value
*
* @param string $key key for value to change
* @param string $value value to use
* @return bool success
*/
public static function setApp($key, $value) {
return \OCP\Config::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);
if (!($enablePreviewProviders === null)) {
return in_array($format, $enablePreviewProviders);
}
return false;
}
/**
* @brief enable/disable preview for selected format
*
* @param string format
* @param bool enable (true = enable, false = disable, default = false)
* @return bool
*/
public static function setPreview($format, $enable = 'false') {
$enablePreviewProviders = \OCP\Config::getSystemValue('enabledPreviewProviders', null);
if ($enable == 'true') {
if ($enablePreviewProviders === null) {
// set up default providers
$enablePreviewProviders = array();
array_push($enablePreviewProviders,
'OC\Preview\Image',
'OC\Preview\MP3',
'OC\Preview\TXT',
'OC\Preview\MarkDown');
}
if (!(in_array($format,$enablePreviewProviders))) {
array_push($enablePreviewProviders, $format);
}
} else {
if (!($enablePreviewProviders == null)) {
$enablePreviewProviders = array_diff($enablePreviewProviders, array($format));
}
}
if (!(\OCP\Config::setSystemValue('enabledPreviewProviders', $enablePreviewProviders))) {
logWarn("Failed to enable " . $format . " preview provider (config.php readonly?)");
return true;
}
}
}