aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2018-06-09 15:58:18 +0200
committerGravatar GitHub <noreply@github.com> 2018-06-09 15:58:18 +0200
commit6a56894e940db0b1f7ee6788fbc38f26c80d004d (patch)
treea0ef3d306ee3f0aa02a7addbb743af9863565691 /app
parent32676d59a386fe067ae0beac0287c700274f3d57 (diff)
New extension event + Tumblr GDPR (#1924)
* New extension event + Tumblr GDPR https://github.com/FreshRSS/FreshRSS/issues/1894 simplepie_before_init event * Refactor extension enabling + Tumblr GDPR enabled by default Add possibility for extensions to be enabled by default, and disabled back by users. * Minor whitespace
Diffstat (limited to 'app')
-rw-r--r--app/Controllers/extensionController.php8
-rw-r--r--app/Models/Feed.php1
2 files changed, 7 insertions, 2 deletions
diff --git a/app/Controllers/extensionController.php b/app/Controllers/extensionController.php
index 311fd2e96..806e5a696 100644
--- a/app/Controllers/extensionController.php
+++ b/app/Controllers/extensionController.php
@@ -140,7 +140,7 @@ class FreshRSS_extension_Controller extends Minz_ActionController {
if ($res === true) {
$ext_list = $conf->extensions_enabled;
- array_push_unique($ext_list, $ext_name);
+ $ext_list[$ext_name] = true;
$conf->extensions_enabled = $ext_list;
$conf->save();
@@ -196,7 +196,11 @@ class FreshRSS_extension_Controller extends Minz_ActionController {
if ($res === true) {
$ext_list = $conf->extensions_enabled;
- array_remove($ext_list, $ext_name);
+ $legacyKey = array_search($ext_name, $ext_list, true);
+ if ($legacyKey !== false) { //Legacy format FreshRSS < 1.11.1
+ unset($ext_list[$legacyKey]);
+ }
+ $ext_list[$ext_name] = false;
$conf->extensions_enabled = $ext_list;
$conf->save();
diff --git a/app/Models/Feed.php b/app/Models/Feed.php
index 07a7a5459..cc2196dac 100644
--- a/app/Models/Feed.php
+++ b/app/Models/Feed.php
@@ -286,6 +286,7 @@ class FreshRSS_Feed extends Minz_Model {
if (!$loadDetails) { //Only activates auto-discovery when adding a new feed
$feed->set_autodiscovery_level(SIMPLEPIE_LOCATOR_NONE);
}
+ Minz_ExtensionManager::callHook('simplepie_before_init', $feed, $this);
$mtime = $feed->init();
if ((!$mtime) || $feed->error()) {