aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-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
3 files changed, 21 insertions, 0 deletions
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"
+}