From 0c066cb4285feb54cd9947c01dd759afdc0f37fb Mon Sep 17 00:00:00 2001 From: perrinjerome Date: Thu, 1 Mar 2018 04:08:32 +0900 Subject: Feed parsing: use author email when there's no author name (#1801) This is especially useful because when author is given as `Author Name` ( as in this example https://cyber.harvard.edu/rss/rss.html#ltauthorgtSubelementOfLtitemgt ), SimplePie will expose *Author Name* as `email`. --- app/Models/Feed.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app') diff --git a/app/Models/Feed.php b/app/Models/Feed.php index 13ab13df9..196d94931 100644 --- a/app/Models/Feed.php +++ b/app/Models/Feed.php @@ -355,7 +355,7 @@ class FreshRSS_Feed extends Minz_Model { $this->id(), $item->get_id(false, false), $title === null ? '' : $title, - $author === null ? '' : html_only_entity_decode(strip_tags($author->name)), + $author === null ? '' : html_only_entity_decode(strip_tags($author->name == null ? $author->email : $author->name)), $content === null ? '' : $content, $link === null ? '' : $link, $date ? $date : time() -- cgit v1.2.3 From 5872a11eb75958f12fd37c144a26c12c693d8a4a Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Thu, 1 Mar 2018 19:25:40 +0100 Subject: cleanOldEntries call autoUpdateDb (#1804) * cleanOldEntries call autoUpdateDb https://github.com/FreshRSS/FreshRSS/issues/1803 * Fix feedDAO autoUpdateDb * Move cleanOldEntries to EntryDAO Only the entry table is concerned --- app/Controllers/entryController.php | 3 ++- app/Controllers/feedController.php | 2 +- app/Models/EntryDAO.php | 27 +++++++++++++++++++++++++++ app/Models/FeedDAO.php | 24 ------------------------ 4 files changed, 30 insertions(+), 26 deletions(-) (limited to 'app') diff --git a/app/Controllers/entryController.php b/app/Controllers/entryController.php index 9c6b248a9..28f0cb745 100755 --- a/app/Controllers/entryController.php +++ b/app/Controllers/entryController.php @@ -169,6 +169,7 @@ class FreshRSS_entry_Controller extends Minz_ActionController { $nb_month_old = max(FreshRSS_Context::$user_conf->old_entries, 1); $date_min = time() - (3600 * 24 * 30 * $nb_month_old); + $entryDAO = FreshRSS_Factory::createEntryDao(); $feedDAO = FreshRSS_Factory::createFeedDao(); $feeds = $feedDAO->listFeeds(); $nb_total = 0; @@ -182,7 +183,7 @@ class FreshRSS_entry_Controller extends Minz_ActionController { } if ($feed_history >= 0) { - $nb = $feedDAO->cleanOldEntries($feed->id(), $date_min, $feed_history); + $nb = $entryDAO->cleanOldEntries($feed->id(), $date_min, $feed_history); if ($nb > 0) { $nb_total += $nb; Minz_Log::debug($nb . ' old entries cleaned in feed [' . $feed->url() . ']'); diff --git a/app/Controllers/feedController.php b/app/Controllers/feedController.php index 7f66b10db..af732951f 100755 --- a/app/Controllers/feedController.php +++ b/app/Controllers/feedController.php @@ -408,7 +408,7 @@ class FreshRSS_feed_Controller extends Minz_ActionController { $entryDAO->beginTransaction(); } - $nb = $feedDAO->cleanOldEntries($feed->id(), + $nb = $entryDAO->cleanOldEntries($feed->id(), $date_min, max($feed_history, count($entries) + 10)); if ($nb > 0) { diff --git a/app/Models/EntryDAO.php b/app/Models/EntryDAO.php index 70135e7a0..8cdebedc5 100644 --- a/app/Models/EntryDAO.php +++ b/app/Models/EntryDAO.php @@ -560,6 +560,33 @@ class FreshRSS_EntryDAO extends Minz_ModelPdo implements FreshRSS_Searchable { return $affected; } + public function cleanOldEntries($id_feed, $date_min, $keep = 15) { //Remember to call updateCachedValue($id_feed) or updateCachedValues() just after + $sql = 'DELETE FROM `' . $this->prefix . 'entry` ' + . 'WHERE id_feed=:id_feed AND id<=:id_max ' + . 'AND is_favorite=0 ' //Do not remove favourites + . 'AND `lastSeen` < (SELECT maxLastSeen FROM (SELECT (MAX(e3.`lastSeen`)-99) AS maxLastSeen FROM `' . $this->prefix . 'entry` e3 WHERE e3.id_feed=:id_feed) recent) ' //Do not remove the most newly seen articles, plus a few seconds of tolerance + . 'AND id NOT IN (SELECT id FROM (SELECT e2.id FROM `' . $this->prefix . 'entry` e2 WHERE e2.id_feed=:id_feed ORDER BY id DESC LIMIT :keep) keep)'; //Double select: MySQL doesn't support 'LIMIT & IN/ALL/ANY/SOME subquery' + $stm = $this->bd->prepare($sql); + + if ($stm) { + $id_max = intval($date_min) . '000000'; + $stm->bindParam(':id_feed', $id_feed, PDO::PARAM_INT); + $stm->bindParam(':id_max', $id_max, PDO::PARAM_STR); + $stm->bindParam(':keep', $keep, PDO::PARAM_INT); + } + + if ($stm && $stm->execute()) { + return $stm->rowCount(); + } else { + $info = $stm == null ? array(0 => '', 1 => '', 2 => 'syntax error') : $stm->errorInfo(); + if ($this->autoUpdateDb($info)) { + return $this->cleanOldEntries($id_feed, $date_min, $keep); + } + Minz_Log::error('SQL error cleanOldEntries: ' . $info[2]); + return false; + } + } + public function searchByGuid($id_feed, $guid) { // un guid est unique pour un flux donné $sql = 'SELECT id, guid, title, author, ' diff --git a/app/Models/FeedDAO.php b/app/Models/FeedDAO.php index 011b3d112..0c25ab0ba 100644 --- a/app/Models/FeedDAO.php +++ b/app/Models/FeedDAO.php @@ -353,30 +353,6 @@ class FreshRSS_FeedDAO extends Minz_ModelPdo implements FreshRSS_Searchable { return $affected; } - public function cleanOldEntries($id, $date_min, $keep = 15) { //Remember to call updateCachedValue($id) or updateCachedValues() just after - $sql = 'DELETE FROM `' . $this->prefix . 'entry` ' - . 'WHERE id_feed=:id_feed AND id<=:id_max ' - . 'AND is_favorite=0 ' //Do not remove favourites - . 'AND `lastSeen` < (SELECT maxLastSeen FROM (SELECT (MAX(e3.`lastSeen`)-99) AS maxLastSeen FROM `' . $this->prefix . 'entry` e3 WHERE e3.id_feed=:id_feed) recent) ' //Do not remove the most newly seen articles, plus a few seconds of tolerance - . 'AND id NOT IN (SELECT id FROM (SELECT e2.id FROM `' . $this->prefix . 'entry` e2 WHERE e2.id_feed=:id_feed ORDER BY id DESC LIMIT :keep) keep)'; //Double select: MySQL doesn't support 'LIMIT & IN/ALL/ANY/SOME subquery' - $stm = $this->bd->prepare($sql); - - if ($stm) { - $id_max = intval($date_min) . '000000'; - $stm->bindParam(':id_feed', $id, PDO::PARAM_INT); - $stm->bindParam(':id_max', $id_max, PDO::PARAM_STR); - $stm->bindParam(':keep', $keep, PDO::PARAM_INT); - } - - if ($stm && $stm->execute()) { - return $stm->rowCount(); - } else { - $info = $stm == null ? array(2 => 'syntax error') : $stm->errorInfo(); - Minz_Log::error('SQL error cleanOldEntries: ' . $info[2]); - return false; - } - } - public static function daoToFeed($listDAO, $catID = null) { $list = array(); -- cgit v1.2.3 From 56304d4a7c54c5a9b632076d3000a5201cff669b Mon Sep 17 00:00:00 2001 From: Alexis Degrugillier Date: Fri, 2 Mar 2018 10:05:19 +0100 Subject: Add tooltips on share configuration buttons (#1805) Add a tooltip on the add and remove buttons in the share configuration page. --- app/i18n/cz/conf.php | 2 ++ app/i18n/de/conf.php | 2 ++ app/i18n/en/conf.php | 2 ++ app/i18n/es/conf.php | 2 ++ app/i18n/fr/conf.php | 2 ++ app/i18n/he/conf.php | 2 ++ app/i18n/it/conf.php | 2 ++ app/i18n/kr/conf.php | 2 ++ app/i18n/nl/conf.php | 2 ++ app/i18n/pt-br/conf.php | 2 ++ app/i18n/ru/conf.php | 2 ++ app/i18n/tr/conf.php | 2 ++ app/i18n/zh-cn/conf.php | 2 ++ app/views/configure/sharing.phtml | 6 +++--- 14 files changed, 29 insertions(+), 3 deletions(-) (limited to 'app') diff --git a/app/i18n/cz/conf.php b/app/i18n/cz/conf.php index 649724e80..a7bcf6c08 100644 --- a/app/i18n/cz/conf.php +++ b/app/i18n/cz/conf.php @@ -126,6 +126,7 @@ return array( ), 'sharing' => array( '_' => 'Sdílení', + 'add' => 'Add a sharing method', // TODO 'blogotext' => 'Blogotext', 'diaspora' => 'Diaspora*', 'email' => 'Email', @@ -133,6 +134,7 @@ return array( 'g+' => 'Google+', 'more_information' => 'Více informací', 'print' => 'Tisk', + 'remove' => 'Remove sharing method', // TODO 'shaarli' => 'Shaarli', 'share_name' => 'Jméno pro zobrazení', 'share_url' => 'Jakou URL použít pro sdílení', diff --git a/app/i18n/de/conf.php b/app/i18n/de/conf.php index 9f1edffb9..6b0d7c7f9 100644 --- a/app/i18n/de/conf.php +++ b/app/i18n/de/conf.php @@ -126,6 +126,7 @@ return array( ), 'sharing' => array( '_' => 'Teilen', + 'add' => 'Add a sharing method', // TODO 'blogotext' => 'Blogotext', 'diaspora' => 'Diaspora*', 'email' => 'E-Mail', @@ -133,6 +134,7 @@ return array( 'g+' => 'Google+', 'more_information' => 'Weitere Informationen', 'print' => 'Drucken', + 'remove' => 'Remove sharing method', // TODO 'shaarli' => 'Shaarli', 'share_name' => 'Anzuzeigender Teilen-Name', 'share_url' => 'Zu verwendende Teilen-URL', diff --git a/app/i18n/en/conf.php b/app/i18n/en/conf.php index 60231b825..a1c3fc949 100644 --- a/app/i18n/en/conf.php +++ b/app/i18n/en/conf.php @@ -126,6 +126,7 @@ return array( ), 'sharing' => array( '_' => 'Sharing', + 'add' => 'Add a sharing method', 'blogotext' => 'Blogotext', 'diaspora' => 'Diaspora*', 'email' => 'Email', @@ -133,6 +134,7 @@ return array( 'g+' => 'Google+', 'more_information' => 'More information', 'print' => 'Print', + 'remove' => 'Remove sharing method', 'shaarli' => 'Shaarli', 'share_name' => 'Share name to display', 'share_url' => 'Share URL to use', diff --git a/app/i18n/es/conf.php b/app/i18n/es/conf.php index 65858fefe..464bebc4f 100755 --- a/app/i18n/es/conf.php +++ b/app/i18n/es/conf.php @@ -126,6 +126,7 @@ return array( ), 'sharing' => array( '_' => 'Compartir', + 'add' => 'Add a sharing method', // TODO 'blogotext' => 'Blogotext', 'diaspora' => 'Diaspora*', 'email' => 'Email', @@ -133,6 +134,7 @@ return array( 'g+' => 'Google+', 'more_information' => 'Más información', 'print' => 'Print', + 'remove' => 'Remove sharing method', // TODO 'shaarli' => 'Shaarli', 'share_name' => 'Compartir nombre a mostrar', 'share_url' => 'Compatir URL a usar', diff --git a/app/i18n/fr/conf.php b/app/i18n/fr/conf.php index b4c39e1ca..402a97b1c 100644 --- a/app/i18n/fr/conf.php +++ b/app/i18n/fr/conf.php @@ -126,6 +126,7 @@ return array( ), 'sharing' => array( '_' => 'Partage', + 'add' => 'Ajouter une méthode de partage', 'blogotext' => 'Blogotext', 'diaspora' => 'Diaspora*', 'email' => 'Courriel', @@ -133,6 +134,7 @@ return array( 'g+' => 'Google+', 'more_information' => 'Plus d’informations', 'print' => 'Print', + 'remove' => 'Supprimer la méthode de partage', 'shaarli' => 'Shaarli', 'share_name' => 'Nom du partage à afficher', 'share_url' => 'URL du partage à utiliser', diff --git a/app/i18n/he/conf.php b/app/i18n/he/conf.php index 50d1936a8..3d0534fdc 100644 --- a/app/i18n/he/conf.php +++ b/app/i18n/he/conf.php @@ -123,6 +123,7 @@ return array( ), 'sharing' => array( '_' => 'שיתוף', + 'add' => 'Add a sharing method', // TODO 'blogotext' => 'Blogotext', 'diaspora' => 'Diaspora*', 'email' => 'דואר אלקטרוני', @@ -130,6 +131,7 @@ return array( 'g+' => 'Google+', 'more_information' => 'מידע נוסף', 'print' => 'הדפסה', + 'remove' => 'Remove sharing method', // TODO 'shaarli' => 'Shaarli', 'share_name' => 'שיתוף שם לתצוגה', 'share_url' => 'לשימוש שתפו URL', diff --git a/app/i18n/it/conf.php b/app/i18n/it/conf.php index 9e20236f1..5ab343c4d 100644 --- a/app/i18n/it/conf.php +++ b/app/i18n/it/conf.php @@ -126,6 +126,7 @@ return array( ), 'sharing' => array( '_' => 'Condivisione', + 'add' => 'Add a sharing method', // TODO 'blogotext' => 'Blogotext', 'diaspora' => 'Diaspora*', 'email' => 'Email', @@ -133,6 +134,7 @@ return array( 'g+' => 'Google+', 'more_information' => 'Ulteriori informazioni', 'print' => 'Stampa', + 'remove' => 'Remove sharing method', // TODO 'shaarli' => 'Shaarli', 'share_name' => 'Nome condivisione', 'share_url' => 'URL condivisione', diff --git a/app/i18n/kr/conf.php b/app/i18n/kr/conf.php index 31b042f57..c9e91a804 100644 --- a/app/i18n/kr/conf.php +++ b/app/i18n/kr/conf.php @@ -126,6 +126,7 @@ return array( ), 'sharing' => array( '_' => '공유', + 'add' => 'Add a sharing method', // TODO 'blogotext' => 'Blogotext', 'diaspora' => 'Diaspora*', 'email' => '메일', @@ -133,6 +134,7 @@ return array( 'g+' => 'Google+', 'more_information' => '자세한 정보', 'print' => '인쇄', + 'remove' => 'Remove sharing method', // TODO 'shaarli' => 'Shaarli', 'share_name' => '표시할 이름', 'share_url' => '사용할 공유 URL', diff --git a/app/i18n/nl/conf.php b/app/i18n/nl/conf.php index 360e1c5e7..847c735d1 100644 --- a/app/i18n/nl/conf.php +++ b/app/i18n/nl/conf.php @@ -126,6 +126,7 @@ return array( ), 'sharing' => array( '_' => 'Delen', + 'add' => 'Add a sharing method', // TODO 'blogotext' => 'Blogotext', 'diaspora' => 'Diaspora*', 'email' => 'Email', @@ -133,6 +134,7 @@ return array( 'g+' => 'Google+', 'more_information' => 'Meer informatie', 'print' => 'Afdrukken', + 'remove' => 'Remove sharing method', // TODO 'shaarli' => 'Shaarli', 'share_name' => 'Gedeelde naam om weer te geven', 'share_url' => 'Deel URL voor gebruik', diff --git a/app/i18n/pt-br/conf.php b/app/i18n/pt-br/conf.php index 71b6afb20..864c80e61 100644 --- a/app/i18n/pt-br/conf.php +++ b/app/i18n/pt-br/conf.php @@ -126,6 +126,7 @@ return array( ), 'sharing' => array( '_' => 'Compartilhando', + 'add' => 'Add a sharing method', // TODO 'blogotext' => 'Blogotext', 'diaspora' => 'Diaspora*', 'email' => 'Email', @@ -133,6 +134,7 @@ return array( 'g+' => 'Google+', 'more_information' => 'Mais informação', 'print' => 'Imprimir', + 'remove' => 'Remove sharing method', // TODO 'shaarli' => 'Shaarli', 'share_name' => 'Nome de visualização para compartilhar', 'share_url' => 'URL utilizada para compartilhar', diff --git a/app/i18n/ru/conf.php b/app/i18n/ru/conf.php index 15109dd15..1b5cd8085 100644 --- a/app/i18n/ru/conf.php +++ b/app/i18n/ru/conf.php @@ -126,6 +126,7 @@ return array( ), 'sharing' => array( '_' => 'Sharing', + 'add' => 'Add a sharing method', // TODO 'blogotext' => 'Blogotext', 'diaspora' => 'Diaspora*', 'email' => 'Email', @@ -133,6 +134,7 @@ return array( 'g+' => 'Google+', 'more_information' => 'More information', 'print' => 'Print', + 'remove' => 'Remove sharing method', // TODO 'shaarli' => 'Shaarli', 'share_name' => 'Share name to display', 'share_url' => 'Share URL to use', diff --git a/app/i18n/tr/conf.php b/app/i18n/tr/conf.php index 596adaf9a..0671da79e 100644 --- a/app/i18n/tr/conf.php +++ b/app/i18n/tr/conf.php @@ -126,6 +126,7 @@ return array( ), 'sharing' => array( '_' => 'Paylaşım', + 'add' => 'Add a sharing method', // TODO 'blogotext' => 'Blogotext', 'diaspora' => 'Diaspora*', 'email' => 'Email', @@ -133,6 +134,7 @@ return array( 'g+' => 'Google+', 'more_information' => 'Daha fazla bilgi', 'print' => 'Yazdır', + 'remove' => 'Remove sharing method', // TODO 'shaarli' => 'Shaarli', 'share_name' => 'Paylaşım ismi', 'share_url' => 'Paylaşım URL si', diff --git a/app/i18n/zh-cn/conf.php b/app/i18n/zh-cn/conf.php index 2e068be42..c57738c5b 100644 --- a/app/i18n/zh-cn/conf.php +++ b/app/i18n/zh-cn/conf.php @@ -126,6 +126,7 @@ return array( ), 'sharing' => array( '_' => '分享', + 'add' => 'Add a sharing method', // TODO 'blogotext' => 'Blogotext', 'diaspora' => 'Diaspora*', 'email' => 'Email', @@ -133,6 +134,7 @@ return array( 'g+' => 'Google+', 'more_information' => '更多信息', 'print' => '打印', + 'remove' => 'Remove sharing method', // TODO 'shaarli' => 'Shaarli', 'share_name' => '名称', 'share_url' => '地址', diff --git a/app/views/configure/sharing.phtml b/app/views/configure/sharing.phtml index b0e6618fa..026659007 100644 --- a/app/views/configure/sharing.phtml +++ b/app/views/configure/sharing.phtml @@ -14,7 +14,7 @@
-
+ '> @@ -39,7 +39,7 @@ - + formType() === 'advanced') { ?> @@ -57,7 +57,7 @@ - + -- cgit v1.2.3 From e22d4dfdd3e708f4558735e3dc2864361e2cacc2 Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sat, 3 Mar 2018 10:33:40 +0100 Subject: Fix bug when using double authentication (#1809) https://github.com/FreshRSS/FreshRSS/issues/1807 --- app/Models/Auth.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'app') diff --git a/app/Models/Auth.php b/app/Models/Auth.php index 32b673b6d..8c711308c 100644 --- a/app/Models/Auth.php +++ b/app/Models/Auth.php @@ -63,7 +63,6 @@ class FreshRSS_Auth { $login_ok = $current_user != ''; if ($login_ok) { Minz_Session::_param('currentUser', $current_user); - Minz_Session::_param('REMOTE_USER', $current_user); } return $login_ok; case 'none': @@ -102,6 +101,7 @@ class FreshRSS_Auth { } Minz_Session::_param('loginOk', self::$login_ok); + Minz_Session::_param('REMOTE_USER', httpAuthUser()); } /** @@ -133,6 +133,7 @@ class FreshRSS_Auth { self::$login_ok = false; Minz_Session::_param('loginOk'); Minz_Session::_param('csrf'); + Minz_Session::_param('REMOTE_USER'); $system_conf = Minz_Configuration::get('system'); $username = ''; -- cgit v1.2.3 From b8094f804458e586cf5bbeb8d7b6cf7ee4ed8da9 Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sat, 3 Mar 2018 15:06:22 +0100 Subject: 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. --- app/FreshRSS.php | 2 +- app/shares.php | 129 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ data/shares.php | 129 ------------------------------------------------------- 3 files changed, 130 insertions(+), 130 deletions(-) create mode 100644 app/shares.php delete mode 100644 data/shares.php (limited to 'app') 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 @@ + array( + 'url' => '~URL~?post=~LINK~&title=~TITLE~&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&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~&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~&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~&t=~TITLE~', + 'transform' => array('rawurlencode'), + 'form' => 'simple', + 'method' => 'GET', + ), + 'email' => array( + 'url' => 'mailto:?subject=~TITLE~&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', + ), +); diff --git a/data/shares.php b/data/shares.php deleted file mode 100644 index 5403fd48c..000000000 --- a/data/shares.php +++ /dev/null @@ -1,129 +0,0 @@ - array( - 'url' => '~URL~?post=~LINK~&title=~TITLE~&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&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~&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~&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~&t=~TITLE~', - 'transform' => array('rawurlencode'), - 'form' => 'simple', - 'method' => 'GET', - ), - 'email' => array( - 'url' => 'mailto:?subject=~TITLE~&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', - ), -); -- cgit v1.2.3