Commit Graph

658 Commits

Author SHA1 Message Date
Andrew Dolgov 67cdf4cf12 remove some unnecessary element IDs
rework plugins/note to use xhrJson()
2018-11-30 14:39:06 +03:00
Andrew Dolgov 9563e3bcd6 remove expandable CDM headlines 2018-11-30 13:51:54 +03:00
Andrew Dolgov da1a3c2cc5 remove ok = confirm() thing 2018-11-30 13:05:59 +03:00
Andrew Dolgov dbb4cdbe36 plugins: run eslint const/let fixes 2018-11-30 08:39:45 +03:00
Andrew Dolgov c10a43069e debug logging system rework:
* support various logging levels per-message
 * remove hacks like debug_suppress, DAEMON_EXTENDED_DEBUG, etc
 * _debug() is kept as a compatibility shim for plugins
2018-11-30 08:34:29 +03:00
Andrew Dolgov 758752684c cache_starred_articles: limit maximum amount of download attempts per-article, consider cache operation a success even if all images were too small (prevents repeated requests) 2018-11-30 07:20:13 +03:00
Andrew Dolgov ed1262d55a oops, remove useless db_escape_string() in article class (and nsfw plugin) 2018-11-29 23:04:12 +03:00
Andrew Dolgov 55bf4bc1d3 mailer: split to/from name/addresses 2018-11-22 16:36:10 +03:00
Andrew Dolgov 57932e1837 remove PHPMailer and related directives from config.php-dist; add pluggable Mailer class 2018-11-22 14:45:14 +03:00
Andrew Dolgov 3a0292303e php: remove trailing whitespaces 2018-11-03 15:08:43 +03:00
Andrew Dolgov df0115fc7a shorten_expanded: also hide embedded attachments behind wrapper 2018-09-21 08:14:55 +03:00
Andrew Dolgov 1cf69d435d fix af_zz_vidmute for new chrome breaking muting via setAttribute 2018-09-11 11:46:10 +03:00
Andrew Dolgov 4bb651a656 af_redditimgur: check gfycat content type before embedding, add generic
catchall embedding for og:video metadata
2018-09-10 16:09:38 +03:00
Andrew Dolgov f43ce66e65 af_redditimgur: simplify handling of gfycat URLs 2018-09-09 12:45:02 +03:00
Andrew Dolgov de1b9acba1 af_comics: simplify srcset attribute handling for gocomics pseudo-feeds 2018-08-31 08:33:36 +03:00
Andrew Dolgov 83da40251f plugins: move af_lang_detect to tt-rss-attic repository 2018-08-12 18:15:04 +03:00
tschuettler 31b40448fd Update af_lang_detect plugin with changes from upstream
Reapplied downstream changes for phpmd ruleset
2018-08-02 18:00:50 +02:00
Andrew Dolgov c925f4e3fd use catchall exception handler for readability 2018-07-31 18:31:01 +03:00
Self-Perfection 1cb3084d53 Replace tumblr videos with HD versions
Alternative approach might be extracting replacement URL from "hdUrl"
field of custom property "data-crt-options", but stripping last segment
of video URL is way easier and seems equally robust.
2018-07-14 19:16:40 +03:00
Andrew Dolgov 6d95e53524 af_readability: check if sanitized content has anything before replacing
original excerpt
af_readability, af_redditimgur: check php version before using Readability
2018-06-21 08:12:11 +03:00
Andrew Dolgov acf155cf8f remove old-style readability loading 2018-06-20 22:17:10 +03:00
Andrew Dolgov add9b37ab5 auth_internal: load Base32 using proper namespace 2018-06-20 22:15:10 +03:00
Andrew Dolgov b22766fcdd Af_RedditImgur: update to use readability-php 2018-06-20 15:56:08 +03:00
Andrew Dolgov 2aaefbfa54 update autoloader to consider namespaces for third party libraries: placed and loaded from vendor/namespace/classpath.php
update readability to a newer implementation based on Readability.js (https://github.com/andreskrey/readability.php)
add vendor/Psr/Log interface required for the above
2018-06-20 14:58:09 +03:00
Andrew Dolgov 636164301f import_export: limit and offset don't play nice with generic PDO placeholders 2018-05-28 16:49:39 +03:00
Andrew Dolgov a369a6d946 import_export: update to use PDO 2018-05-28 16:43:53 +03:00
Andrew Dolgov b70c3daffe af_redditimgur updates:
1. remove special handling for imgur albums/pages because its full on cancerous json garbage now with no scrapeable layout
2. skip all urls leading to reddit.com while trying to embed content
3. implement generic last resort embedding based on meta og:image element
2018-05-26 10:25:39 +03:00
Andrew Dolgov b037ffd628 af_readability: specify http accept header 2018-05-25 14:35:33 +03:00
Andrew Dolgov 82152bdc34 Revert "plugins/import_export: use PDO"
This reverts commit 785ffca622.
2018-05-24 12:31:30 +03:00
Andrew Dolgov b14f6d58b4 implement hard limits on downloaded data size for general fetching and cache plugins: MAX_DOWNLOAD_FILE_SIZE & MAX_CACHE_FILE_SIZE 2018-05-20 11:08:33 +03:00
Luc Didry 785ffca622
plugins/import_export: use PDO 2018-05-16 16:45:25 +02:00
JustAMacUser aedcbfd9c5 af_comics: Go Comics now uses HTTPS. 2018-05-12 13:31:52 -04:00
Andrew Dolgov e0dff9134b af_comics: nedroid broke their rss feed, might as well plug them into generic comicpress filter 2018-04-26 11:46:56 +03:00
Andrew Dolgov 7e6bb21ff5 auto_assign_labels: pass delimiter to preg_quote() to escape slashes properly 2018-02-23 13:31:08 +03:00
JustAMacUser e26cb06179 af_readability: Use new global fetch_effective_url for canonical URL. 2018-02-11 21:02:17 +00:00
JustAMacUser 3f5f5bc73f af_comics: Fix typo -- call to undefined method. 2018-02-11 07:01:29 +00:00
Dave Z d92fcaa9c8 af_comics: Workaround for GoComics' lazy loading images in srcset. 2018-02-07 16:57:32 +00:00
Dave Z fc756975ab af_comics: Allow subscribing to GoComics URLs via page (only this time, *actually allow* it). 2018-02-07 06:52:36 +00:00
Andrew Dolgov 2c51facf61 Revert "import_export: do not use DOMDocument->loadXML in static context"
This reverts commit 1ddf3a28e5.
2018-01-30 14:41:27 +03:00
Andrew Dolgov 1ddf3a28e5 import_export: do not use DOMDocument->loadXML in static context 2018-01-30 13:17:05 +03:00
Andrew Dolgov 365f5c8b53 import_export: use legacy true/false values 2018-01-30 11:45:15 +03:00
Andrew Dolgov e038374608 gocomics: remove width attribute to fix improper scaling of images 2018-01-27 09:50:49 +03:00
Dave Z 12bfce5e66 Fix missing parenthesis. 2018-01-01 18:59:28 -05:00
Dave Z 33c850f5ab Fix PDO query in mail plugin. 2018-01-01 13:33:58 -05:00
Andrew Dolgov f830f853a9 Merge branch 'master' of git.tt-rss.org:git/tt-rss into pdo-experimental 2017-12-13 08:21:50 +03:00
JustAMacUser 3ee48ac830 Make af_readability use resolved URL when rewriting relative URLs in the article. 2017-12-13 00:17:43 -05:00
Andrew Dolgov 31f7966567 use button-style links for bookmarklets 2017-12-11 19:04:06 +03:00
Andrew Dolgov 6fb5ce5e35 add some primary dialog actions; update css 2017-12-11 18:36:36 +03:00
cac2s c3637c4d9d set charset to "utf-8" 2017-12-07 08:34:17 +00:00
Andrew Dolgov 09bc54c690 further stylesheet simplification related fixes 2017-12-03 13:25:34 +03:00
Andrew Dolgov 96930889dd plugins/cache_starred_images: use PDO 2017-12-03 11:03:09 +03:00
Andrew Dolgov fad986ff5d plugins/embed_original: use PDO 2017-12-03 10:58:13 +03:00
Andrew Dolgov 11d1a8a693 plugins/af_redditimgur: use PDO 2017-12-03 10:55:41 +03:00
Andrew Dolgov 2eda9d9be4 plugins/vf_shared: use PDO 2017-12-03 10:50:40 +03:00
Andrew Dolgov d8a924d930 plugins/auto_assign_labels: use PDO 2017-12-03 10:46:00 +03:00
Andrew Dolgov 0f4487d3d6 plugins/af_readability: use PDO 2017-12-03 10:44:43 +03:00
Andrew Dolgov ef2438a503 plugins/note: use PDO 2017-12-03 10:43:19 +03:00
Andrew Dolgov 2179332acd plugins/mail: use PDO 2017-12-03 10:38:17 +03:00
Andrew Dolgov 10bf7aa1e7 af_zz_imgproxy: use type hint 2017-12-03 10:33:06 +03:00
Andrew Dolgov 6e4731d9f9 plugins/af_psql_trgm: use PDO 2017-12-03 10:26:38 +03:00
Andrew Dolgov d8bf94c2f2 plugins/mailto: PDO 2017-12-03 10:16:32 +03:00
Andrew Dolgov b6f3562d1e plugin base class: init pdo object
plugins/share: use PDO
2017-12-03 09:43:18 +03:00
Andrew Dolgov b431d52520 auth_remote: use PDO 2017-12-03 09:21:08 +03:00
Andrew Dolgov 7d960ce7e9 auth_internal: use PDO + other fixes 2017-12-03 00:18:08 +03:00
Andrew Dolgov da9ea57d1c checkbox to sql bool related changes, some more boolean fixes 2017-12-02 14:07:48 +03:00
JustAMacUser d1d05f7a12 Updated af_comics GoComics handling to support comics with numbers and use the main web URL as a feed URL (legacy FeedBurner URL support still exists). 2017-11-16 12:14:20 -05:00
Andrew Dolgov 8b73bd28d8 remove apache-specific x-sendfile stuff
implement a hook (HOOK_SEND_LOCAL_FILE) which plugins may use to send files
via httpd-specific implementation to increase performance typically on larger files
2017-10-08 17:14:56 +03:00
wn_ b4b5236ec4 af_redditimgur: use common header retrieval function 2017-09-17 13:56:57 -05:00
wn_ 8352d7c6cb af_redditimgur: Rework retrieval of v.redd.it fallback URL.
Use the v.redd.it redirects to identify the original Reddit post,
whose JSON should have the fallback_url we're looking for.
2017-09-17 13:41:08 -05:00
wn_ 81d83a68cd af_redditimgur: Use v.redd.it fallback URL when possible. 2017-09-17 01:18:05 -05:00
Andrew Dolgov 06a19166bd af_redditimgur: add basic support for v.redd.it videos 2017-09-16 10:08:30 +03:00
wn_ f3774b9d65 Use 'saveHTML' when generating HTML from a DOMDocument.
This primarily occurs when modifying article content.  If 'saveXML' is
used following 'loadHTML' there is the possibility of strangeness, such
as a self-closing anchor tag.

Note that the DOMDocument used in 'classes/feeditem/atom.php' came from
'loadXML', but we use 'saveHTML' since we're returning HTML content.
2017-09-09 13:51:59 -05:00
Andrew Dolgov b2d42e960b replace some usages of SELF_URL_PATH with get_self_url_prefix() 2017-07-06 23:01:44 +03:00
Andrew Dolgov b0113adac4 af_comics: add .gitignore 2017-06-05 13:10:02 +03:00
Andrew Dolgov 6f398dcfc6 af_comics updates:
1. move preferences to Feeds tab
2. update CAD comic with support for sillies
3. add support for loading updated/third-party filters from filters.local (would override bundled filters)
2017-06-05 12:53:06 +03:00
Andrew Dolgov 1d61994776 fix dilbert plugin not working because of changed GUIDs or w/e 2017-06-05 10:28:59 +03:00
aeritir ea8d0fd571 af_comics_dilbert: More details (title, tags, transcript) 2017-06-04 19:55:04 +02:00
Andrew Dolgov 6fd0399694 tunables:
* add CACHE_MAX_DAYS as a tunable generic expiry interval for various cached files
* add some comments to tunables in functions.php
* rename _MIN_CACHE_FILE_SIZE to MIN_CACHE_FILE_SIZE
* respect MIN_CACHE_FILE_SIZE setting in a few more places where content is cached
2017-05-29 23:14:42 +03:00
Andrew Dolgov 7611f0c052 af_zz_imgproxy: add optional no-cache mode 2017-05-18 12:56:45 +03:00
Andrew Dolgov 485902c305 move af_zz_imgsetsizes to attic repo 2017-05-16 11:42:24 +03:00
Andrew Dolgov dde683c106 move instances plugin to attic repo 2017-05-16 11:40:09 +03:00
Andrew Dolgov c114a2596f move add_feed_url() to pref_feeds 2017-05-11 09:07:49 +03:00
Andrew Dolgov e6c886bf66 wrap rssfuncs into rssutils class 2017-05-05 18:10:07 +03:00
Andrew Dolgov 7c9b5a3fe4 move label stuff to Labels class
fix some unresolved functions
2017-05-04 15:57:40 +03:00
Andrew Dolgov aeb1abedb2 move a bunch of functions into Feeds/Article namespaces
+       static function catchupArticlesById($ids, $cmode, $owner_uid = false) {
+       static function getLastArticleId() {
+       static function queryFeedHeadlines($params) {
+       static function getParentCategories($cat, $owner_uid) {
+       static function getChildCategories($cat, $owner_uid) {

move the rest of functions2.php back to functions.php as it is of more manageable size, remove the former
2017-05-04 15:13:02 +03:00
Andrew Dolgov 86a8351ca2 move the following to Feeds:
+       static function catchup_feed($feed, $cat_view, $owner_uid = false, $mode = 'all', $search = false) {
+       static function getFeedArticles($feed, $is_cat = false, $unread_only = false,
+       static function subscribe_to_feed($url, $cat_id = 0,
+       static function getFeedIcon($id) {
+       static function getFeedTitle($id, $cat = false) {
+       static function getCategoryUnread($cat, $owner_uid = false) {
+       static function getCategoryChildrenUnread($cat, $owner_uid = false) {
2017-05-04 14:50:56 +03:00
Andrew Dolgov 21ce7d9ec0 update phpmd ruleset to use (subset) of cleancode
fix various minor issues reported by static analysis
remove redundant php closing tag from several more files
2017-04-26 20:57:36 +03:00
wn_ c7360f4a54 Respect 'proxy_all' during optional SSL whitelist rewrite 2017-04-23 15:13:07 -05:00
wn_ f2fbb4ee7e Compare end of domains when checking known SSL whitelist.
For example: "imgur.com.mysite.com" should not match the "imgur.com" whitelist entry.
2017-04-23 15:13:07 -05:00
Andrew Dolgov 78f1116d38 af_zz_imgproxy: add gfycat to ssl whitelist 2017-04-22 15:26:33 +03:00
Andrew Dolgov ecab435420 af_zz_imgproxy: implement a whitelist of known sites that have optional SSL 2017-04-20 09:09:00 +03:00
Andrew Dolgov b8f23d6848 Merge branch 'fix_af_comic_tfd_filter' into 'master'
Fix the TFD filter and add Married to the sea

A while ago TFD changed the html for the comics page and broke the filter.  
Here is a patch to show the comics in the feed again, as well as add Married to the Sea (sister site)

See merge request !50
2017-04-10 19:46:16 +03:00
Andrew Dolgov 0eed023e7d auth_remote: check for PHP_AUTH_USER too 2017-04-09 14:15:46 +03:00
Bill Bagdon 32024bdf21 Fix the TFD filter and add Married to the sea 2017-04-08 12:59:03 -04:00
Andrew Dolgov dc2c4b13d4 when choosing enclosures to embed or rewrite (af_zz_imgproxy) only use content type instead of "filename"-based hacks 2017-03-23 15:22:00 +03:00
Andrew Dolgov 41bead9baa remove local file extensions and generalize some method names for cached media
file extensions may still be present in urls, but are ignored by the backend

MIGRATION (if you have any cached data worth keeping, not required):
in cache/images run "rename 's/\..*$//' *" i.e. strip file extensions
2017-03-23 14:55:40 +03:00
Andrew Dolgov a3b5f3817e af_zz_imgproxy: remove filter hook, not needed 2017-02-14 19:46:37 +03:00
Andrew Dolgov c55fb22bcd af_zz_imgproxy: rewrite to absolute url; add on-parse article filter hook to handle redirect situation in case frontend has open_basedir (disabled currently) 2017-02-14 18:48:40 +03:00
Andrew Dolgov 61570c474b add af_zz_vidmute 2017-02-13 19:21:38 +03:00
Andrew Dolgov 093d463320 af_zz_imgproxy: truncate url in error png 2017-02-13 15:49:41 +03:00
Andrew Dolgov bf6398650a af_zz_imgproxy: show GD-based (if possible) error message on proxy failure 2017-02-13 15:25:52 +03:00
Andrew Dolgov ab39e213b3 af_zz_imgproxy: disable api render hook: pointless, because api clients won't have an authenticated cookie-based session 2017-02-13 08:46:36 +03:00
Andrew Dolgov ff4f2b1e0c af_zz_imgproxy: fix typo 2017-02-13 08:08:19 +03:00
Andrew Dolgov 046a0cc7c8 fix previous, again 2017-02-12 20:23:52 +03:00
Andrew Dolgov bc83dcb381 af_zz_imgproxy: limit enclosure rewriting to images 2017-02-12 17:32:43 +03:00
Andrew Dolgov 676c7303ca add HOOK_ENCLOSURE_ENTRY for af_zz_imgproxy (2) 2017-02-12 17:02:07 +03:00
Andrew Dolgov 58210301e0 add HOOK_ENCLOSURE_ENTRY for af_zz_imgproxy 2017-02-12 16:01:28 +03:00
Jérémy DECOOL ba2853caac Prevent target='_blank' vulnerability on dynamic link 2017-02-12 11:01:36 +01:00
Andrew Dolgov 2187322cae af_zz_imgproxy: redirect to caller url unless called in user context 2017-02-10 22:02:30 +03:00
Andrew Dolgov 4daaf23491 allow user plugins to expose public methods out in a limited fashion 2017-02-10 16:04:28 +03:00
Andrew Dolgov dc8bd8a640 add some print_checkbox/print_button calls; rename some plugin preference pane titles 2017-02-10 14:57:25 +03:00
Andrew Dolgov 51198e7e40 af_zz_imgproxy: urlencode() url parameter, DUH 2017-02-10 14:41:11 +03:00
Andrew Dolgov 328118d12e use print_hidden() for hidden dojo form fields 2017-02-10 14:36:21 +03:00
Andrew Dolgov 8cf37284e7 af_zz_imgproxy: add optional setting to proxy all remote images
functions: add some form helper methods
2017-02-10 14:17:18 +03:00
Andrew Dolgov 38b3998bbc af_zz_imgproxy: use inline disposition, misc updates 2017-02-10 12:37:21 +03:00
Andrew Dolgov c93d43c617 update af_zz_imgproxy to plug into built-in image caching 2017-02-10 12:12:09 +03:00
Andrew Dolgov c4ebf01e69 add af_zz_imgproxy (initial) 2017-02-10 10:30:48 +03:00
Andrew Dolgov 5edd605ae1 image cache: do not try to cache data: schema urls; add caching of html5 video content (similar to cache_starred_images plugin) 2017-02-04 11:50:01 +03:00
Andrew Dolgov 60e97d9e63 af_redditimgur: inline streamable.com videos 2017-01-29 14:36:37 +03:00
Andrew Dolgov f45a1152bb af_readability: force utf8 preamble on html document load. no idea why but it seems to work better even for not-unicode sites. 2017-01-28 14:24:48 +03:00
JustAMacUser 051737e931 Support hyphens in GoComics URLs. 2017-01-24 15:06:46 -05:00
JustAMacUser a25c3c2998 Added feed URL instructions for GoComics. 2017-01-22 13:52:25 -05:00
JustAMacUser 5800d3d505 Update af_comics to handle new GoComics site. 2017-01-22 02:14:02 -05:00
Andrew Dolgov 6293d3717c add toggle_sidebar plugin, remove obsolete toggle button
add PluginHost::HOOK_MAIN_TOOLBAR_BUTTON
2017-01-07 15:29:17 +03:00
Andrew Dolgov 8de58e1798 mail plugin: i guess rows= on dijit text areas doesn't work now 2017-01-04 10:37:44 +03:00
Andrew Dolgov e8a94ec7e2 af_psql_trgm: do not try to render preference pane if enabled on mysql 2016-08-25 09:47:02 +03:00
Andrew Dolgov 1a322ff3df import_export: better error message if upload failed 2016-08-19 18:14:22 +03:00
Andrew Dolgov f6d2787a8e plugins: use require() to hook into dojo 2016-08-10 12:22:55 +03:00
Andrew Dolgov ee5170424e dojo: main UI: load stuff asynchronously 2016-08-10 10:01:05 +03:00
Andrew Dolgov 4800746386 tweet embed: force utf-8 2016-08-02 18:08:00 +03:00
Andrew Dolgov 46506d3fd6 af_redditimgur: rework gfycat pages 2016-08-02 17:01:53 +03:00
Andrew Dolgov 8c395462be af_redditimgur: support .mp4 links 2016-08-02 16:45:06 +03:00
Andrew Dolgov e487e92d70 readability: increase maximum source document size, reorganize the reddit plugin code a bit 2016-08-02 12:25:54 +03:00
Andrew Dolgov 49048482d8 af_redditimgur: relax poster image url condition for imgur a bit 2016-08-02 07:56:25 +03:00
Andrew Dolgov 43db5b99eb af_redditimgur: only check embed url variants unless match is found 2016-08-01 21:07:18 +03:00
Andrew Dolgov 8788698b05 basic tweet embedding using oembed 2016-08-01 21:03:36 +03:00
Andrew Dolgov 90e45935bb af_redditimgur: try to guess images to embed using content-type 2016-08-01 16:20:14 +03:00
Andrew Dolgov d419aed543 trgm plugin: increase check distance to 3 days 2016-08-01 08:26:11 +03:00
Andrew Dolgov a6fde6c99f af_redditimgur: support video elements in imgur albums 2016-07-26 16:29:17 +03:00
Andrew Dolgov 76ba1df76e af_redditimgur: use browser UA for readability requests 2016-07-26 15:46:54 +03:00
Andrew Dolgov eb95d1bddf af_redditimgur: handle i.reddituploads.com as pictures 2016-07-07 09:04:38 +03:00
Andrew Dolgov 582ff3cf6e af_redditimgur: make sure content_link is defined even if content dupcheck is disabled 2016-07-05 11:01:36 +03:00
Andrew Dolgov 8b2a52c635 af_redditimgur: try to handle mobile imgur albums 2016-03-22 09:20:36 +03:00
Andrew Dolgov 0a36196494 af_redditimgur: relax youtube matching a bit 2016-03-20 12:05:23 +03:00
Andrew Dolgov c80175bdd5 fix previous wrt single-image imgur pages 2016-03-20 12:03:39 +03:00
Andrew Dolgov ec482d2840 af_redditimgur: fix handling of imgur albums, implement debugging (method=testurl) 2016-03-20 11:30:56 +03:00
Andrew Dolgov 891b77f90e af_redditimgur: add option for previous 2016-01-31 14:14:31 +03:00
Andrew Dolgov 902b1ac7b5 af_redditimgur: add (disabled) wip content dupe checker 2016-01-31 14:01:18 +03:00
Andrew Dolgov 666cd33360 enable support for readability (if af_readability is enabled) in shareanything bookmarklet 2016-01-29 15:38:05 +03:00
Andrew Dolgov 4501d5ef45 remove reddit textnode hack since the feed is broken in a different way now 2016-01-27 08:52:45 +03:00