aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2020-03-22 16:59:39 +0100
committerGravatar GitHub <noreply@github.com> 2020-03-22 16:59:39 +0100
commitdaa4922d908fb9ad5d973c597d0c60f769236c3e (patch)
tree3f2fc0a112cd3d4eb9024d9591feca59be5063fb
parentcd49e9819bea35a4db05e3e76910b739898c2219 (diff)
Add core extension for Google Groups (#2838)
* Add core extension for Google Groups #Fix https://github.com/FreshRSS/FreshRSS/issues/2835 Add ability to discover RSS feeds for Google Groups Based on https://github.com/FreshRSS/FreshRSS/pull/2837 * Allow HTTP in addition of HTTPS
-rw-r--r--config.default.php5
-rw-r--r--force-https.default.txt1
-rw-r--r--lib/core-extensions/Google-Groups/README.md3
-rw-r--r--lib/core-extensions/Google-Groups/extension.php10
-rw-r--r--lib/core-extensions/Google-Groups/metadata.json8
5 files changed, 25 insertions, 2 deletions
diff --git a/config.default.php b/config.default.php
index 71f8d477c..49869f7ac 100644
--- a/config.default.php
+++ b/config.default.php
@@ -175,9 +175,10 @@ return array(
),
# List of enabled FreshRSS extensions.
- 'extensions_enabled' => array(
+ 'extensions_enabled' => [
+ 'Google-Groups' => true,
'Tumblr-GDPR' => true,
- ),
+ ],
# Disable self-update,
'disable_update' => false,
diff --git a/force-https.default.txt b/force-https.default.txt
index cae2d4ef2..6a1f32f36 100644
--- a/force-https.default.txt
+++ b/force-https.default.txt
@@ -8,6 +8,7 @@ fsfe.org
github.com
gitlab.com
gnu.org
+google.com
gravatar.com
gstatic.com
kernel.org
diff --git a/lib/core-extensions/Google-Groups/README.md b/lib/core-extensions/Google-Groups/README.md
new file mode 100644
index 000000000..21b901ded
--- /dev/null
+++ b/lib/core-extensions/Google-Groups/README.md
@@ -0,0 +1,3 @@
+# Google Groups
+
+Needed for discovering RSS feeds from [Google Groups](https://groups.google.com).
diff --git a/lib/core-extensions/Google-Groups/extension.php b/lib/core-extensions/Google-Groups/extension.php
new file mode 100644
index 000000000..656bf9b8f
--- /dev/null
+++ b/lib/core-extensions/Google-Groups/extension.php
@@ -0,0 +1,10 @@
+<?php
+class GoogleGroupsExtension extends Minz_Extension {
+ public function init() {
+ $this->registerHook('check_url_before_add', array('GoogleGroupsExtension', 'findFeed'));
+ }
+
+ public static function findFeed($url) {
+ return preg_replace('%^(https?://groups.google.com/forum)/#!forum/(.+)$%i', '$1/feed/$2/msgs/rss.xml', $url);
+ }
+}
diff --git a/lib/core-extensions/Google-Groups/metadata.json b/lib/core-extensions/Google-Groups/metadata.json
new file mode 100644
index 000000000..afaa18392
--- /dev/null
+++ b/lib/core-extensions/Google-Groups/metadata.json
@@ -0,0 +1,8 @@
+{
+ "name": "Google-Groups",
+ "author": "Alkarex",
+ "description": "To discover RSS feeds for Google Groups",
+ "version": 1.0,
+ "entrypoint": "GoogleGroups",
+ "type": "system"
+}