summaryrefslogtreecommitdiff
path: root/app/Models/Configuration.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Models/Configuration.php')
-rw-r--r--app/Models/Configuration.php39
1 files changed, 37 insertions, 2 deletions
diff --git a/app/Models/Configuration.php b/app/Models/Configuration.php
index 4c804a9fb..95f819779 100644
--- a/app/Models/Configuration.php
+++ b/app/Models/Configuration.php
@@ -45,6 +45,8 @@ class FreshRSS_Configuration {
'load_more' => 'm',
'auto_share' => 's',
'focus_search' => 'a',
+ 'user_filter' => 'u',
+ 'help' => 'f1',
),
'topline_read' => true,
'topline_favorite' => true,
@@ -58,6 +60,7 @@ class FreshRSS_Configuration {
'bottomline_link' => true,
'sharing' => array(),
'queries' => array(),
+ 'html5_notif_timeout' => 0,
);
private $available_languages = array(
@@ -120,6 +123,16 @@ class FreshRSS_Configuration {
return $this->available_languages;
}
+ public function remove_query_by_get($get) {
+ $final_queries = array();
+ foreach ($this->queries as $key => $query) {
+ if (empty($query['get']) || $query['get'] !== $get) {
+ $final_queries[$key] = $query;
+ }
+ }
+ $this->_queries($final_queries);
+ }
+
public function _language($value) {
if (!isset($this->available_languages[$value])) {
$value = 'en';
@@ -138,7 +151,18 @@ class FreshRSS_Configuration {
}
}
public function _default_view ($value) {
- $this->data['default_view'] = $value === FreshRSS_Entry::STATE_ALL ? FreshRSS_Entry::STATE_ALL : FreshRSS_Entry::STATE_NOT_READ;
+ switch ($value) {
+ case FreshRSS_Entry::STATE_ALL:
+ // left blank on purpose
+ case FreshRSS_Entry::STATE_NOT_READ:
+ // left blank on purpose
+ case FreshRSS_Entry::STATE_STRICT + FreshRSS_Entry::STATE_NOT_READ:
+ $this->data['default_view'] = $value;
+ break;
+ default:
+ $this->data['default_view'] = FreshRSS_Entry::STATE_ALL;
+ break;
+ }
}
public function _display_posts ($value) {
$this->data['display_posts'] = ((bool)$value) && $value !== 'no';
@@ -209,6 +233,7 @@ class FreshRSS_Configuration {
}
public function _sharing ($values) {
$this->data['sharing'] = array();
+ $unique = array();
foreach ($values as $value) {
if (!is_array($value)) {
continue;
@@ -234,7 +259,11 @@ class FreshRSS_Configuration {
$value['name'] = $value['type'];
}
- $this->data['sharing'][] = $value;
+ $json_value = json_encode($value);
+ if (!in_array($json_value, $unique)) {
+ $unique[] = $json_value;
+ $this->data['sharing'][] = $value;
+ }
}
}
public function _queries ($values) {
@@ -261,6 +290,12 @@ class FreshRSS_Configuration {
$this->data['content_width'] = 'thin';
}
}
+
+ public function _html5_notif_timeout ($value) {
+ $value = intval($value);
+ $this->data['html5_notif_timeout'] = $value >= 0 ? $value : 0;
+ }
+
public function _token($value) {
$this->data['token'] = $value;
}