aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2018-03-03 15:06:22 +0100
committerGravatar GitHub <noreply@github.com> 2018-03-03 15:06:22 +0100
commitb8094f804458e586cf5bbeb8d7b6cf7ee4ed8da9 (patch)
treea658048f8a04e06725de1904d61876051249c2b7 /app
parentb88b7c03a9cd7db56648b83fd4a7a07e8426a5d5 (diff)
Move shares (#1812)
From ./data/ to ./app/ Fix manual updates like https://github.com/FreshRSS/FreshRSS/issues/1803#issuecomment-369371907 Left for later: support a ./data/shares.local.php for user-defined shares.
Diffstat (limited to 'app')
-rw-r--r--app/FreshRSS.php2
-rw-r--r--app/shares.php129
2 files changed, 130 insertions, 1 deletions
diff --git a/app/FreshRSS.php b/app/FreshRSS.php
index f53c85bfb..25fd429a2 100644
--- a/app/FreshRSS.php
+++ b/app/FreshRSS.php
@@ -128,7 +128,7 @@ class FreshRSS extends Minz_FrontController {
}
header("X-Content-Type-Options: nosniff");
- FreshRSS_Share::load(join_path(DATA_PATH, 'shares.php'));
+ FreshRSS_Share::load(join_path(APP_PATH, 'shares.php'));
self::loadStylesAndScripts();
}
}
diff --git a/app/shares.php b/app/shares.php
new file mode 100644
index 000000000..5403fd48c
--- /dev/null
+++ b/app/shares.php
@@ -0,0 +1,129 @@
+<?php
+
+/*
+ * This is a configuration file. You shouldn't modify it unless you know what
+ * you are doing. If you want to add a share type, this is where you need to do
+ * it.
+ *
+ * For each share there is different configuration options. Here is the description
+ * of those options:
+ * - url is a mandatory option. It is a string representing the share URL. It
+ * supports 3 different placeholders for custom data. The ~URL~ placeholder
+ * represents the URL of the system used to share, it is configured by the
+ * user. The ~LINK~ placeholder represents the link of the shared article.
+ * The ~TITLE~ placeholder represents the title of the shared article.
+ * - transform is an array of transformation to apply on links and titles
+ * - help is a URL to a help page
+ * - form is the type of form to display during configuration. It's either
+ * 'simple' or 'advanced'. 'simple' is used when only the name is configurable,
+ * 'advanced' is used when the name and the location are configurable.
+ * - method is the HTTP method (POST or GET) used to share a link.
+ */
+
+return array(
+ 'shaarli' => array(
+ 'url' => '~URL~?post=~LINK~&amp;title=~TITLE~&amp;source=FreshRSS',
+ 'transform' => array('rawurlencode'),
+ 'help' => 'http://sebsauvage.net/wiki/doku.php?id=php:shaarli',
+ 'form' => 'advanced',
+ 'method' => 'GET',
+ ),
+ 'blogotext' => array(
+ 'url' => '~URL~/admin/links.php?url=~LINK~',
+ 'transform' => array(),
+ 'help' => 'http://lehollandaisvolant.net/blogotext/fr/',
+ 'form' => 'advanced',
+ 'method' => 'GET',
+ ),
+ 'wallabag' => array(
+ 'url' => '~URL~?action=add&amp;url=~LINK~',
+ 'transform' => array(
+ 'link' => array('base64_encode'),
+ 'title' => array(),
+ ),
+ 'help' => 'http://www.wallabag.org/',
+ 'form' => 'advanced',
+ 'method' => 'GET',
+ ),
+ 'wallabagv2' => array(
+ 'url' => '~URL~/bookmarklet?url=~LINK~',
+ 'transform' => array(
+ 'link' => array('rawurlencode'),
+ 'title' => array(),
+ ),
+ 'help' => 'http://www.wallabag.org/',
+ 'form' => 'advanced',
+ 'method' => 'GET',
+ ),
+ 'diaspora' => array(
+ 'url' => '~URL~/bookmarklet?url=~LINK~&amp;title=~TITLE~',
+ 'transform' => array('rawurlencode'),
+ 'help' => 'https://diasporafoundation.org/',
+ 'form' => 'advanced',
+ 'method' => 'GET',
+ ),
+ 'movim' => array(
+ 'url' => '~URL~/?share/~LINK~',
+ 'transform' => array('rawurlencode', 'urlencode'),
+ 'help' => 'https://github.com/edhelas/movim',
+ 'form' => 'advanced',
+ 'method' => 'GET',
+ ),
+ 'twitter' => array(
+ 'url' => 'https://twitter.com/share?url=~LINK~&amp;text=~TITLE~',
+ 'transform' => array('rawurlencode'),
+ 'form' => 'simple',
+ 'method' => 'GET',
+ ),
+ 'g+' => array(
+ 'url' => 'https://plus.google.com/share?url=~LINK~',
+ 'transform' => array('rawurlencode'),
+ 'form' => 'simple',
+ 'method' => 'GET',
+ ),
+ 'facebook' => array(
+ 'url' => 'https://www.facebook.com/sharer.php?u=~LINK~&amp;t=~TITLE~',
+ 'transform' => array('rawurlencode'),
+ 'form' => 'simple',
+ 'method' => 'GET',
+ ),
+ 'email' => array(
+ 'url' => 'mailto:?subject=~TITLE~&amp;body=~LINK~',
+ 'transform' => array('rawurlencode'),
+ 'form' => 'simple',
+ 'method' => 'GET',
+ ),
+ 'print' => array(
+ 'url' => '#',
+ 'transform' => array(),
+ 'form' => 'simple',
+ 'method' => 'GET',
+ ),
+ 'jdh' => array(
+ 'url' => 'https://www.journalduhacker.net/stories/new?url=~LINK~&title=~TITLE~',
+ 'transform' => array('rawurlencode'),
+ 'form' => 'simple',
+ 'method' => 'GET',
+ ),
+ 'Known' => array(
+ 'url' => '~URL~/share?share_url=~LINK~&share_title=~TITLE~',
+ 'transform' => array('rawurlencode'),
+ 'help' => 'https://withknown.com/',
+ 'form' => 'advanced',
+ 'method' => 'GET',
+ ),
+ 'gnusocial' => array(
+ 'url' => '~URL~/notice/new?content=~TITLE~%20~LINK~',
+ 'transform' => array('urlencode'),
+ 'help' => 'https://gnu.io/social/',
+ 'form' => 'advanced',
+ 'method' => 'GET',
+ ),
+ 'mastodon' => array(
+ 'url' => '~URL~/api/v1/statuses',
+ 'transform' => array(),
+ 'form' => 'advanced',
+ 'method' => 'POST',
+ 'field' => 'status',
+ ),
+);