aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.eslintrc.json5
-rw-r--r--app/Models/Share.php14
-rw-r--r--app/i18n/cz/gen.php13
-rw-r--r--app/i18n/de/gen.php9
-rw-r--r--app/i18n/en-us/gen.php9
-rw-r--r--app/i18n/en/gen.php9
-rwxr-xr-xapp/i18n/es/gen.php9
-rw-r--r--app/i18n/fr/gen.php9
-rw-r--r--app/i18n/he/gen.php9
-rw-r--r--app/i18n/it/gen.php9
-rw-r--r--app/i18n/ja/gen.php9
-rw-r--r--app/i18n/ko/gen.php9
-rw-r--r--app/i18n/nl/gen.php9
-rw-r--r--app/i18n/oc/gen.php9
-rw-r--r--app/i18n/pl/gen.php9
-rw-r--r--app/i18n/pt-br/gen.php9
-rw-r--r--app/i18n/ru/gen.php9
-rw-r--r--app/i18n/sk/gen.php9
-rw-r--r--app/i18n/tr/gen.php9
-rw-r--r--app/i18n/zh-cn/gen.php9
-rw-r--r--app/shares.php9
-rw-r--r--app/views/helpers/index/normal/entry_bottom.phtml9
-rw-r--r--p/scripts/main.js25
-rw-r--r--p/themes/base-theme/template.css1
-rw-r--r--p/themes/base-theme/template.rtl.css1
25 files changed, 146 insertions, 84 deletions
diff --git a/.eslintrc.json b/.eslintrc.json
index a528c8f59..449161cd6 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -8,7 +8,10 @@
],
"rules": {
"camelcase": "off",
- "comma-dangle": ["warn", "always-multiline"],
+ "comma-dangle": ["warn", {
+ "arrays": "always-multiline",
+ "objects": "always-multiline"
+ }],
"eqeqeq": "off",
"indent": ["warn", "tab", { "SwitchCase": 1 }],
"linebreak-style": ["error", "unix"],
diff --git a/app/Models/Share.php b/app/Models/Share.php
index a36226f69..375b17f01 100644
--- a/app/Models/Share.php
+++ b/app/Models/Share.php
@@ -20,13 +20,14 @@ class FreshRSS_Share {
return;
}
+ $HTMLtag = isset($share_options['HTMLtag']) ? $share_options['HTMLtag'] : 'link';
$isDeprecated = isset($share_options['deprecated']) ? $share_options['deprecated'] : false;
$help_url = isset($share_options['help']) ? $share_options['help'] : '';
$field = isset($share_options['field']) ? $share_options['field'] : null;
self::$list_sharing[$type] = new FreshRSS_Share(
$type, $share_options['url'], $share_options['transform'],
$share_options['form'], $help_url, $share_options['method'],
- $field, $isDeprecated
+ $field, $HTMLtag, $isDeprecated
);
}
@@ -87,6 +88,7 @@ class FreshRSS_Share {
private $isDeprecated = false;
private $method = 'GET';
private $field;
+ private $HTMLtag = 'link';
/**
* Create a FreshRSS_Share object.
@@ -99,11 +101,12 @@ class FreshRSS_Share {
* @param string $help_url is an optional url to give help on this option.
* @param string $method defines the sharing method (GET or POST)
*/
- private function __construct($type, $url_transform, $transform, $form_type, $help_url, $method, $field, $isDeprecated = false) {
+ private function __construct($type, $url_transform, $transform, $form_type, $help_url, $method, $field, $HTMLtag, $isDeprecated = false) {
$this->type = $type;
$this->name = _t('gen.share.' . $type);
$this->url_transform = $url_transform;
$this->help_url = $help_url;
+ $this->HTMLtag = $HTMLtag;
$this->isDeprecated = $isDeprecated;
if (!is_array($transform)) {
@@ -182,6 +185,13 @@ class FreshRSS_Share {
}
/**
+ * Return the type of HTML tag of the share option.
+ */
+ public function HTMLtag() {
+ return $this->HTMLtag;
+ }
+
+ /**
* Return the current name of the share option.
*/
public function name($real = false) {
diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php
index 5a4a83d81..2a986b86d 100644
--- a/app/i18n/cz/gen.php
+++ b/app/i18n/cz/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => 'Tisknout',
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => 'Twitter', // IGNORE
- 'wallabag' => 'Wallabag v1',
- 'wallabagv2' => 'Wallabag v2',
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'wallabag' => 'wallabag v1', // IGNORE
+ 'wallabagv2' => 'wallabag v2', // IGNORE
+ 'web-sharing-api' => 'System sharing', // TODO
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => 'Upozornění!',
diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php
index 5aaef1e96..c1b93978d 100644
--- a/app/i18n/de/gen.php
+++ b/app/i18n/de/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => 'Drucken',
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => 'Twitter', // IGNORE
'wallabag' => 'wallabag v1', // IGNORE
'wallabagv2' => 'wallabag v2', // IGNORE
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'Teilen (Systemstandard)',
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => 'Achtung!',
diff --git a/app/i18n/en-us/gen.php b/app/i18n/en-us/gen.php
index a4af57eea..52e0f9bf5 100644
--- a/app/i18n/en-us/gen.php
+++ b/app/i18n/en-us/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => 'Print', // IGNORE
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => 'Twitter', // IGNORE
'wallabag' => 'wallabag v1', // IGNORE
'wallabagv2' => 'wallabag v2', // IGNORE
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'System sharing', // TODO
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => 'Warning!', // IGNORE
diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php
index fadd7c909..ce3a72bc4 100644
--- a/app/i18n/en/gen.php
+++ b/app/i18n/en/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon',
'movim' => 'Movim',
'pinboard' => 'Pinboard',
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest',
'pocket' => 'Pocket',
'print' => 'Print',
'raindrop' => 'Raindrop.io',
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit',
'shaarli' => 'Shaarli',
'twitter' => 'Twitter',
'wallabag' => 'wallabag v1',
'wallabagv2' => 'wallabag v2',
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'System sharing',
+ 'whatsapp' => 'Whatsapp',
+ 'xing' => 'Xing',
),
'short' => array(
'attention' => 'Warning!',
diff --git a/app/i18n/es/gen.php b/app/i18n/es/gen.php
index 122fe135f..eb0c96df3 100755
--- a/app/i18n/es/gen.php
+++ b/app/i18n/es/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => 'Imprimir',
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => 'Twitter', // IGNORE
'wallabag' => 'wallabag v1', // IGNORE
'wallabagv2' => 'wallabag v2', // IGNORE
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'System sharing', // TODO
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => '¡Aviso!',
diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php
index e43a06d12..b42539047 100644
--- a/app/i18n/fr/gen.php
+++ b/app/i18n/fr/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => 'Imprimer',
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => 'Twitter', // IGNORE
'wallabag' => 'wallabag v1', // IGNORE
'wallabagv2' => 'wallabag v2', // IGNORE
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'Partage standard',
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => 'Attention !',
diff --git a/app/i18n/he/gen.php b/app/i18n/he/gen.php
index 93641e93c..0d0bcfec1 100644
--- a/app/i18n/he/gen.php
+++ b/app/i18n/he/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => 'הדפסה',
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => 'Twitter', // IGNORE
'wallabag' => 'wallabag v1', // IGNORE
'wallabagv2' => 'wallabag v2', // IGNORE
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'System sharing', // TODO
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => 'זהירות!',
diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php
index 3426d264d..7708a9202 100644
--- a/app/i18n/it/gen.php
+++ b/app/i18n/it/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => 'Stampa',
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => 'Twitter', // IGNORE
'wallabag' => 'wallabag v1', // IGNORE
'wallabagv2' => 'wallabag v2', // IGNORE
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'System sharing', // TODO
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => 'Attenzione!',
diff --git a/app/i18n/ja/gen.php b/app/i18n/ja/gen.php
index 923be75bc..a1bc830b6 100644
--- a/app/i18n/ja/gen.php
+++ b/app/i18n/ja/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => '印刷',
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => 'Twitter', // IGNORE
'wallabag' => 'wallabag v1', // IGNORE
'wallabagv2' => 'wallabag v2', // IGNORE
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'System sharing', // TODO
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => '警告!',
diff --git a/app/i18n/ko/gen.php b/app/i18n/ko/gen.php
index a53a496da..eabf43bc9 100644
--- a/app/i18n/ko/gen.php
+++ b/app/i18n/ko/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => '인쇄',
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => 'Twitter', // IGNORE
'wallabag' => 'wallabag v1', // IGNORE
'wallabagv2' => 'wallabag v2', // IGNORE
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'System sharing', // TODO
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => '경고!',
diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php
index 4d6d3b441..41024f7e0 100644
--- a/app/i18n/nl/gen.php
+++ b/app/i18n/nl/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => 'Print', // IGNORE
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => 'Twitter', // IGNORE
'wallabag' => 'wallabag v1', // IGNORE
'wallabagv2' => 'wallabag v2', // IGNORE
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'System sharing', // TODO
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => 'Attentie!',
diff --git a/app/i18n/oc/gen.php b/app/i18n/oc/gen.php
index 9250d0105..7028b9fa6 100644
--- a/app/i18n/oc/gen.php
+++ b/app/i18n/oc/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => 'Imprimir',
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => 'Twitter', // IGNORE
'wallabag' => 'wallabag v1', // IGNORE
'wallabagv2' => 'wallabag v2', // IGNORE
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'System sharing', // TODO
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => 'Atencion !',
diff --git a/app/i18n/pl/gen.php b/app/i18n/pl/gen.php
index 38b48b47c..e771917d7 100644
--- a/app/i18n/pl/gen.php
+++ b/app/i18n/pl/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => 'Wydruk',
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => 'Twitter', // IGNORE
'wallabag' => 'wallabag v1', // IGNORE
'wallabagv2' => 'wallabag v2', // IGNORE
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'System sharing', // TODO
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => 'Uwaga!',
diff --git a/app/i18n/pt-br/gen.php b/app/i18n/pt-br/gen.php
index 54953d063..bbe4e2dda 100644
--- a/app/i18n/pt-br/gen.php
+++ b/app/i18n/pt-br/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => 'Imprimir',
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => 'Twitter', // IGNORE
'wallabag' => 'wallabag v1', // IGNORE
'wallabagv2' => 'wallabag v2', // IGNORE
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'System sharing', // TODO
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => 'Atenção!',
diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php
index 525a572eb..46fb88372 100644
--- a/app/i18n/ru/gen.php
+++ b/app/i18n/ru/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => 'Распечатать',
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => 'Twitter', // IGNORE
'wallabag' => 'wallabag v1', // IGNORE
'wallabagv2' => 'wallabag v2', // IGNORE
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'System sharing', // TODO
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => 'Предупреждение!',
diff --git a/app/i18n/sk/gen.php b/app/i18n/sk/gen.php
index f45340918..11a2a4c33 100644
--- a/app/i18n/sk/gen.php
+++ b/app/i18n/sk/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => 'Print', // IGNORE
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => 'Twitter', // IGNORE
'wallabag' => 'wallabag v1', // IGNORE
'wallabagv2' => 'wallabag v2', // IGNORE
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'System sharing', // TODO
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => 'Upozornenie!',
diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php
index d70ac2bb7..121469f55 100644
--- a/app/i18n/tr/gen.php
+++ b/app/i18n/tr/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => 'Print', // IGNORE
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => 'Twitter', // IGNORE
'wallabag' => 'wallabag v1', // IGNORE
'wallabagv2' => 'wallabag v2', // IGNORE
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'System sharing', // TODO
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => 'Tehlike!',
diff --git a/app/i18n/zh-cn/gen.php b/app/i18n/zh-cn/gen.php
index 313dfd188..aab05b965 100644
--- a/app/i18n/zh-cn/gen.php
+++ b/app/i18n/zh-cn/gen.php
@@ -198,17 +198,18 @@ return array(
'mastodon' => 'Mastodon', // IGNORE
'movim' => 'Movim', // IGNORE
'pinboard' => 'Pinboard', // IGNORE
- 'pinterest' => 'Pinterest', // TODO
+ 'pinterest' => 'Pinterest', // IGNORE
'pocket' => 'Pocket', // IGNORE
'print' => '打印',
'raindrop' => 'Raindrop.io', // IGNORE
- 'reddit' => 'Reddit', // TODO
+ 'reddit' => 'Reddit', // IGNORE
'shaarli' => 'Shaarli', // IGNORE
'twitter' => '推特', // IGNORE
'wallabag' => 'Wallabag v1', // IGNORE
'wallabagv2' => 'Wallabag v2', // IGNORE
- 'whatsapp' => 'Whatsapp', // TODO
- 'xing' => 'Xing', // TODO
+ 'web-sharing-api' => 'System sharing', // TODO
+ 'whatsapp' => 'Whatsapp', // IGNORE
+ 'xing' => 'Xing', // IGNORE
),
'short' => array(
'attention' => '警告!',
diff --git a/app/shares.php b/app/shares.php
index 16b2787bf..8e0134663 100644
--- a/app/shares.php
+++ b/app/shares.php
@@ -35,6 +35,7 @@ return array(
'method' => 'GET',
),
'clipboard' => array(
+ 'HTMLtag' => 'button',
'url' => '~LINK~',
'transform' => array(),
'form' => 'simple',
@@ -127,6 +128,7 @@ return array(
'method' => 'GET',
),
'print' => array(
+ 'HTMLtag' => 'button',
'url' => '#',
'transform' => array(),
'form' => 'simple',
@@ -172,6 +174,13 @@ return array(
'form' => 'advanced',
'method' => 'GET',
),
+ 'web-sharing-api' => array(
+ 'HTMLtag' => 'button',
+ 'url' => '~LINK~',
+ 'transform' => array(),
+ 'form' => 'simple',
+ 'method' => 'GET',
+ ),
'whatsapp' => array(
'url' => 'https://wa.me/?text=~TITLE~ | ~LINK~',
'transform' => array('rawurlencode'),
diff --git a/app/views/helpers/index/normal/entry_bottom.phtml b/app/views/helpers/index/normal/entry_bottom.phtml
index 9be6b99f7..220fc5f62 100644
--- a/app/views/helpers/index/normal/entry_bottom.phtml
+++ b/app/views/helpers/index/normal/entry_bottom.phtml
@@ -96,9 +96,14 @@
$share_options['title'] = $title;
$share->update($share_options);
?><li class="item share<?= $cssClass ?>">
- <?php if ('GET' === $share->method()) {?>
+ <?php if ('GET' === $share->method()) {
+ if ($share->HTMLtag() !== 'button') {?>
<a target="_blank" rel="noreferrer" href="<?= $share->url() ?>" data-type="<?= $share->type() ?>"><?= $share->name() ?></a>
- <?php } else {?>
+ <?php } else { ?>
+ <button type="button" class="as-link" data-url="<?= $share->url() ?>" data-type="<?= $share->type() ?>" data-title="<?= htmlspecialchars($title) ?>"><?= $share->name() ?></button>
+ <?php
+ }
+ } else {?>
<a href="POST"><?= $share->name() ?></a>
<form method="POST" action="<?= $share->url() ?>" disabled="disabled">
<input type="hidden" value="<?= $link ?>" name="<?= $share->field() ?>"/>
diff --git a/p/scripts/main.js b/p/scripts/main.js
index c9627b606..be1f7c924 100644
--- a/p/scripts/main.js
+++ b/p/scripts/main.js
@@ -1018,7 +1018,7 @@ function init_stream(stream) {
return true;
}
- el = ev.target.closest('.item.share > a[data-type="print"]');
+ el = ev.target.closest('.item.share > button[data-type="print"]');
if (el) { // Print
const tmp_window = window.open();
for (let i = 0; i < document.styleSheets.length; i++) {
@@ -1032,9 +1032,19 @@ function init_stream(stream) {
return false;
}
- el = ev.target.closest('.item.share > a[data-type="clipboard"]');
+ el = ev.target.closest('.item.share > button[data-type="clipboard"]');
if (el && navigator.clipboard) { // Clipboard
- navigator.clipboard.writeText(el.href);
+ navigator.clipboard.writeText(el.dataset.url);
+ return false;
+ }
+
+ el = ev.target.closest('.item.share > button[data-type="web-sharing-api"]');
+ if (el && navigator.share) { // https://developer.mozilla.org/en-US/docs/Web/API/Navigator/share
+ const shareData = {
+ url: el.dataset.url,
+ title: decodeURI(el.dataset.title),
+ };
+ navigator.share(shareData);
return false;
}
@@ -1068,6 +1078,15 @@ function init_stream(stream) {
}
};
+ if (!navigator.share) {
+ // https://developer.mozilla.org/en-US/docs/Web/API/Navigator/share
+ // do not show the menu entry if browser does not support navigator.share
+ document.styleSheets[0].insertRule(
+ 'button.as-link[data-type="web-sharing-api"] {display: none !important;}',
+ document.styleSheets[0].cssRules.length
+ );
+ }
+
stream.onmouseup = function (ev) { // Mouseup enables us to catch middle click, and control+click in IE/Edge
if (ev.altKey || ev.metaKey || ev.shiftKey) {
return;
diff --git a/p/themes/base-theme/template.css b/p/themes/base-theme/template.css
index d4a052860..8b35175e4 100644
--- a/p/themes/base-theme/template.css
+++ b/p/themes/base-theme/template.css
@@ -1077,7 +1077,6 @@ a.website:hover .favicon {
overflow: hidden;
}
-.flux .item.share > a,
.item.query > a {
display: list-item;
list-style-position: inside;
diff --git a/p/themes/base-theme/template.rtl.css b/p/themes/base-theme/template.rtl.css
index eff8ad044..e79bbadfb 100644
--- a/p/themes/base-theme/template.rtl.css
+++ b/p/themes/base-theme/template.rtl.css
@@ -1077,7 +1077,6 @@ a.website:hover .favicon {
overflow: hidden;
}
-.flux .item.share > a,
.item.query > a {
display: list-item;
list-style-position: inside;