Commit Graph

849 Commits (master)

Author SHA1 Message Date
Andrew Dolgov 8764662138 af_redditimgur: also blacklist in-content links 3 years ago
Tony 564a24fd78 Add support for HTTP_REMOTE_USER variable for user authentication 3 years ago
Andrew Dolgov 9e62513095 af_redditimgur: also rewrite in the API handler 3 years ago
Andrew Dolgov f25ea5355c af_redditimgur: add option to rewrite reddit URLs to teddit.net 3 years ago
Andrew Dolgov 50d089ae59 redditimgur: blacklist github because it usually resolves to a huge profile photo of someone 3 years ago
wn 6f31372b37 Address param order deprecation warning for 'af_redditimgur'. 3 years ago
Andrew Dolgov 65254f5db4 - move sphinx plugin to a separate repo
- regenerate config checks without sphinx-related variables
3 years ago
Andrew Dolgov 43bd3394c3 shorten_expanded: remove loading=lazy from images if enabled 3 years ago
Andrew Dolgov 8479421da4 af_readability: allow appending to original summary instead of always
replacing it, some minor code cleanup
4 years ago
JustAMacUser 65b3926ae5 Ensure proxy_all setting is saved in database. 4 years ago
Andrew Dolgov 38a7a1da88 hide uninteresting errors in several DOMDocument->loadHTML() invocations 4 years ago
Andrew Dolgov 215f388992 move timestamp-related stuff to a separate class 4 years ago
Andrew Dolgov 74568df4ff remove a lot of stuff from global context (functions.php), add a few helper classes instead 4 years ago
Andrew Dolgov a4525d31b2 replace FALSE with false so that static analyzer shuts up about it 4 years ago
Andrew Dolgov d8619b9a84 auth_internal: cast OTP code to integer before trying to check it 4 years ago
Andrew Dolgov a817d3794d * use get_random_bytes() for CSRF token
* get_random_bytes: use PHP7 random_bytes() if it is available
* validate CSRF token using hash_equals
4 years ago
Andrew Dolgov 0757ad0406 auth_internal: use type-strict comparison when checking OTP code 4 years ago
Andrew Dolgov 91e1542a82 af_proxy_http: require separate token to access imgproxy 4 years ago
Andrew Dolgov 79f102c25d af_proxy_http: never print received data directly, always redirect to cached_url
cache/getUrl: basename() passed filename just in case
4 years ago
Andrew Dolgov 0758397dd8 af_redditimgur: don't add embedded blank gif image for rewritten videos 4 years ago
Andrew Dolgov c3d14e1fa5 - fix multiple vulnerabilities in af_proxy_http
- fix vulnerability in rewrite_relative_url() which prevented some URLs from being properly absolutized
- fetch_file_contents: validate all URLs before requesting them
- validate URLs: explicitly whitelist http and https scheme, forbid everything else
- DiskCache/cached_url: only serve whitelisted content types (images, video)
- simplify filename/URL handling code, remove and consolidate some less-used functions
4 years ago
Andrew Dolgov c352e872e9 core: pass found enclosures to HOOK_ARTICLE_FILTER
af_redditimgur: remove enclosures if we found something to embed because it's going to be a low-res thumbnail
4 years ago
Nathan Warner f8d96543de Created hotkeys_force_top plugin
Renamed swap_jk to match new naming scheme.
4 years ago
Andrew Dolgov 9ae9302b6b implement keyboard-related changes discussed in https://community.tt-rss.org/t/changing-the-amount-of-scroll-by-arrow-key/3452/7 4 years ago
Andrew Dolgov 5e77d0062b use intersection observer to unpack visible articles, remove Headlines.unpackVisible() 4 years ago
Andrew Dolgov a802649d53 rename cdmScrollToId to cdmMoveToId
prevent smooth scrolling when going directly to an article
4 years ago
Andrew Dolgov 1f2a721905 allow overriding built-in templates via templates.local 4 years ago
Andrew Dolgov 4e74da590e af_readability: allow get full text button to work as a toggle; in cdm, scroll to article after embedding 4 years ago
Andrew Dolgov 96fa6e3002 af_comics: split contents of subscribe/basic_info/fetch hooks into appropriate per-comic filters 4 years ago
Andrew Dolgov ba7f7e72db af_comics: mention that Far Side needs cached media 4 years ago
Andrew Dolgov 61168847ac af_comics: escape all template urls 4 years ago
Andrew Dolgov 3b62150abd use canonical fetch url for Far Side 4 years ago
Andrew Dolgov db8a1f76c7 remove unnecessary debugging from previous 4 years ago
Andrew Dolgov 9b4053b1ea af_comics: add experimental support for The Far Side 4 years ago
Andrew Dolgov b159bbe55d af_readability: sanitize content requested for embedding 4 years ago
Andrew Dolgov 3b635c7557 fix plugins/note javascript part broken by previous changeset 4 years ago
Andrew Dolgov 71ff485fbf af_readability: add article button to embed content of a specific article 4 years ago
Andrew Dolgov 4ab3854aed don't generate default.css, replace with themes/light.css as a default root CSS file 4 years ago
koffieanon 3a3c74dfa4 Also match images with query string (size, tokens, etc). 4 years ago
koffieanon e89dd83f05 Spaces to tabs for consistency. 4 years ago
koffieanon 297a89c2d2 Fix bug processing found due to operator precedence. 4 years ago
Andrew Dolgov 72d0fac80c remove version.php and VERSION global constant, do version-related things in a slightly less ridiculous way 4 years ago
Andrew Dolgov 219840341c Af_Youtube_Embed: whitelist youtube iframes if enabled 5 years ago
Andrew Dolgov ffa3f9309f af_comics: support buni webtoon episodes 5 years ago
Andrew Dolgov f6090655bf 2fa: check TOTP based on previous secret values (oops of the year, 2019) 5 years ago
Andrew Dolgov 812a6c9f16 auth_internal: fix indents 5 years ago
Andrew Dolgov 249130e58d implement app password checking / management UI 5 years ago
Andrew Dolgov 68b0380118 add placeholder authentication via app passwords if service is passed
forbid logins via regular passwords for services
remove AUTH_DISABLE_OTP
5 years ago
Andrew Dolgov 178bcd4349 auth_internal: fix OTP seed checking 5 years ago
Andrew Dolgov ef514bc4bd add notifications for mail and password changes
update and shorten some other message templates
5 years ago
JustAMacUser 8459238f6c af_comics: Use a fixed time of day when generating fake feed for GoComics. Without this the timestamp is always updated to be the time the feed is fetched, which causes the comics to keep moving to the top/bottom of the article list depending on the sort order. (Using 11:00 a.m. UTC as that should keep the date the same across the majority of time zones.)
Try to get the actual title for GoComics comics.

Also a little code clean up.
5 years ago
Aleksandr Beliaev 7a4d5cc724 Fix error "mb_convert_encoding(): Illegal character encoding specified"
modified:   plugins/af_readability/init.php
5 years ago
Andrew Dolgov e887d68f21 af_readability: require php 7.0 5 years ago
Andrew Dolgov 3e4701116d af_readability: add missing file 5 years ago
Andrew Dolgov 10c63ed582 pluginhost: add helper methods to get private/public pluginmethod endpoint URLs 5 years ago
Andrew Dolgov bdf29856fb fix several leftover mentions of old (renamed) class name, duh 5 years ago
Andrew Dolgov de5669f723 af_zz_imgproxy: rename to af_proxy_http, use priority hook loader 5 years ago
Andrew Dolgov c34726b2b2 consistency: use DiskCache->exists() to check for present files 5 years ago
Andrew Dolgov 6914ad1f74 retire MIN_CACHE_FILE_SIZE 5 years ago
Andrew Dolgov d2f1cbfcb1 af_zz_imgproxy: redirect to cached_url (3!!) 5 years ago
Andrew Dolgov c6ae5fbda1 af_zz_imgproxy: redirect to cached_url if cache already exists so that urls are a bit shorter (2) 5 years ago
Andrew Dolgov e7edaca4db af_zz_imgproxy: redirect to cached_url if cache already exists so that urls are a bit shorter 5 years ago
Andrew Dolgov 3c075bfd21 DiskCache: more strict checking for input filenames, getUrl() is no longer static 5 years ago
Andrew Dolgov fdb6066bf6 * HOOK_ENCLOSURE_ENTRY: pass article_id to handler
* DiskCache: multiple fixes; support isWritable() for cache entries, set content-disposition for send()
* public/cached_url: allow selecting files from sub-caches other than images
* plugins/Cache_Starred_Images: rework to use DiskCache, can be enabled per-user, properly handles article enclosures, etc
5 years ago
Andrew Dolgov 7602819b98 add DiskCache.send; switch af_zz_imgproxy to use DiskCache 5 years ago
Andrew Dolgov a60297b920 remove import_export plugin (replaced with ttrss-data-migration) 5 years ago
Andrew Dolgov 088fcf8131 move more globals to more appropriate places
set libxml to always use internal errors
5 years ago
Andrew Dolgov 967cccb7c5 af_readability: relax non-unicode hack to apply to HTML4 meta element markup 5 years ago
Andrew Dolgov ae376bdfbf search_sphinx: convert contructor of the sphinx API library 5 years ago
Andrew Dolgov fda475bd93 af_readability: fix HOOK_GET_FULL_TEXT not being installed because plugin init() is called before load_data() 5 years ago
Andrew Dolgov adc2a51695 update plugin readability-related option names 5 years ago
Andrew Dolgov d0a9aeaf80 move readability library to af_readability/vendor out of global vendor directory
af_redditimgur: use HOOK_GET_FULL_TEXT instead of invoking readability directly
5 years ago
Andrew Dolgov 6955b2e02d plugins: add HOOK_GET_FULL_TEXT which may be used to provide full text extraction to core code and other plugins, instead of trying to invoke af_readability specifically 5 years ago
Andrew Dolgov c7ad4ad2d4 import_export: use default ts_lang if user one is unset 5 years ago
Andrew Dolgov d32e191ad7 import_export: set tsvector_combined using DEFAULT_SEARCH_LANGUAGE on import 5 years ago
Andrew Dolgov d7282ec292 import_export: prevent form closing before doing anything; update markup 5 years ago
Andrew Dolgov 671f4cee65 domdocument: remove old meta charset unicode hacks, replace with shorter xml preamble utf8 hack (on loadhtml where it makes sense)
af_readability: better (?) charset hack for non-unicode pages
5 years ago
Andrew Dolgov 01b2f0a24f support "picture" tags in articles 5 years ago
Michael Kuhn bbb8a2e873 Fix missed hotkeys in googlereaderkeys plugin 5 years ago
Rodney Stromlund 7daf009a7f Add set_basic_feed_info hook to af_comics to fix GoComics title and url. 5 years ago
Michael Kuhn e74f7bde22 Refactor hotkeys to use keypress instead of keydown
keydown returns the "raw" key in event.which. Depending on the keyboard
layout, this may not be what is wanted. For example, on a German
keyboard, Shift+7 has to be pressed to get a slash. However, event.which
will be 55, which corresponds to "7". In the keypress event, however,
event.which will be 47, which corresponds to "/".

Sadly, several important keys (such as escape and the arrow keys) do not
trigger a keypress event. Therefore, they have to be handled using a
keydown event.

This change refactors the hotkey support to make use of keypress events
whenever possible. This will make hotkeys work regardless of the user's
keyboard layout. Escape and arrow keys are still handled via keydown
events.

There should be only one change in behavior: I could not make Ctrl+/
work and therefore rebound the help dialog to "?".
5 years ago
Andrew Dolgov 19f162dbe3 css: insensitive -> text-muted 5 years ago
Andrew Dolgov 684a1368e9 toggle_sidebar: switch icon on click 5 years ago
Andrew Dolgov 2b54413599 af_redditimgur: update prefs markup 5 years ago
Andrew Dolgov fb62f2b970 toggle_sidebar: use hamburger icon 5 years ago
Andrew Dolgov cee76f4d49 bookmarklets: add more info link 5 years ago
Andrew Dolgov cbd119c7a3 pref-prefs: fix markup 5 years ago
Andrew Dolgov 54c1b5c611 fill in some missing doctypes; use short doctype where it wasn't 5 years ago
Andrew Dolgov abfd552962 plugins: update markup 5 years ago
Andrew Dolgov 335147e572 dialogs: use semantic markup instead of dlgsec stuff
continue unifying quoting style for html strings
5 years ago
Andrew Dolgov 55b032a6bd plugins/share: update layout 5 years ago
Andrew Dolgov 4e253add8c UI: add some more info links to relevant wiki pages; minor layout updates 5 years ago
Andrew Dolgov fd8f8c7b3e af_readability: construct readability object inside try-catch block 5 years ago
Andrew Dolgov 1a8770f8f4 add plugins/hotkeys_noscroll 5 years ago
Andrew Dolgov 4d9141d762 simplify dlgSec-related markup 5 years ago
Andrew Dolgov 3b057d5f02 OTP: css fixes 5 years ago
Andrew Dolgov 1d2da64572 af_redditimgur: apparently imgur has link rel='image_src' now, let's use it 5 years ago
Andrew Dolgov a5517fe857 fetch_file_contents: decompress gzipped data
af_readability: remove utf8 preamble hack
5 years ago
Andrew Dolgov 0efb6e1bc2 remove pub_set.png, replace usages with iconfont 6 years ago
Andrew Dolgov e53959322b plugins/embed_original: move to attic repo 6 years ago
Andrew Dolgov 1b4567a973 remove vf_shared pixmap 6 years ago
Andrew Dolgov e54db22998 close_button: use vector icon 6 years ago
Andrew Dolgov 607ede512f center previously centered text on single line dialog panels 6 years ago
Andrew Dolgov 4036b479f9 share plugin: fix unshare() 6 years ago
Andrew Dolgov a400a8ffc1 add PluginHost.HOOK_INIT_COMPLETE (and make no_title_counters use it) 6 years ago
Andrew Dolgov b96beeeda7 bookmarklets: show pref link-buttons properly 6 years ago
Andrew Dolgov bd66a9ef28 render article on the client using headlines data 6 years ago
Andrew Dolgov 7adf937936 shorten_expanded: use dojo button, don't break attachment dropdown, other fixes 6 years ago
Andrew Dolgov 165eea32e8 af_psql_trgm: fix parameter not being quoted properly in showrelated 6 years ago
Andrew Dolgov a68b150601 remove separate classes for various panels, unify under .panel
remove a few other unnecessary css classes/ids
6 years ago
Andrew Dolgov b68ee9adf4 af_comics: add Stonetoss 6 years ago
Andrew Dolgov 4cbc62d2a5 article note format updates 6 years ago
Andrew Dolgov 836a949407 af_psql_trgm: fix showrelated() layout 6 years ago
Andrew Dolgov bc2d40009b plugins/mail, mailto: update icons 6 years ago
Andrew Dolgov 814e49f8f7 add icons to accordion panels in preferences
fix typo in pref-prefs closing panel tag
6 years ago
Andrew Dolgov c700345c96 trgm: use vector icon, replace recently read icon 6 years ago
Andrew Dolgov 4996269d55 remove mark_button (just use hotkeys or main icon, why is this even needed?) 6 years ago
Andrew Dolgov 94bc24ff31 share by url stuff: use link icon instead of share 6 years ago
Andrew Dolgov 37205321d9 remove share.png 6 years ago
Andrew Dolgov 17d9e14dde toggle_sidebar: use icon-font 6 years ago
Andrew Dolgov 9703162f57 plugins: note,shared - move to iconfont 6 years ago
Andrew Dolgov a2e06410c2 shorten_expanded: call unpackVisible() because there might be new stuff from below if current is shortened 6 years ago
Andrew Dolgov 6befff30d7 updates for flat theme (mostly disable old dijit overrides) 6 years ago
Andrew Dolgov 31e79317b3 normalize various font sizes and families between prefs & main UI
change some dialogs layout a bit to maybe become more readable
6 years ago
Andrew Dolgov e76d1fb995 plugins: mail, mailto: remove code from global context 6 years ago
Andrew Dolgov 71fc6d45bd refactor error reporting to AppBase; keep exception_error() for now as a shim 6 years ago
Andrew Dolgov 78cc470193 remove some plugin JS code out of global context 6 years ago
Andrew Dolgov 526389b2d3 update notify_* calls to use Notify 6 years ago
Andrew Dolgov d9c5c93cef move some more stuff out of common.js
rework client-side cookie functions a bit
limit dojo cachebust based on server scripts modification time
remove param_escape()
6 years ago
Andrew Dolgov 35ded4bc84 edit phrasing of some alert()s 6 years ago
Andrew Dolgov 0a18d0b1ed Feeds: shorten some method names
finally rename "view as rss"
6 years ago
Andrew Dolgov 3678315bea Article, Headlines: shorten several method names 6 years ago
Andrew Dolgov 1e2d4410d3 move some more shared stuff to CommonDialogs, Filters, and Utils 6 years ago
Andrew Dolgov 642c37ea61 further effocts to wrap JS stuff into objects 6 years ago
Andrew Dolgov 1d82bd4f19 further objectification 6 years ago
Andrew Dolgov 049a37aa0e WIP reshuffling of JS global context into separate logical objects 6 years ago
Andrew Dolgov a2ef54cd92 toggleMark, togglePub: refactor implementation
shorten marked/published img CSS classes
6 years ago
Andrew Dolgov 3325979bf0 isCdmMode -> isCombinedMode 6 years ago
Andrew Dolgov add558e7e5 rework some styles related to three panel mode 6 years ago
Andrew Dolgov 8359ca6dad combined mode (and more) css class name updates 6 years ago
Andrew Dolgov 2f961ee830 plugins: add some xhrPost refactoring 6 years ago
Andrew Dolgov 67cdf4cf12 remove some unnecessary element IDs
rework plugins/note to use xhrJson()
6 years ago
Andrew Dolgov 9563e3bcd6 remove expandable CDM headlines 6 years ago
Andrew Dolgov da1a3c2cc5 remove ok = confirm() thing 6 years ago
Andrew Dolgov dbb4cdbe36 plugins: run eslint const/let fixes 6 years ago
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
6 years ago
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) 6 years ago
Andrew Dolgov ed1262d55a oops, remove useless db_escape_string() in article class (and nsfw plugin) 6 years ago
Andrew Dolgov 55bf4bc1d3 mailer: split to/from name/addresses 6 years ago
Andrew Dolgov 57932e1837 remove PHPMailer and related directives from config.php-dist; add pluggable Mailer class 6 years ago
Andrew Dolgov 3a0292303e php: remove trailing whitespaces 6 years ago
Andrew Dolgov df0115fc7a shorten_expanded: also hide embedded attachments behind wrapper 6 years ago
Andrew Dolgov 1cf69d435d fix af_zz_vidmute for new chrome breaking muting via setAttribute 6 years ago
Andrew Dolgov 4bb651a656 af_redditimgur: check gfycat content type before embedding, add generic
catchall embedding for og:video metadata
6 years ago
Andrew Dolgov f43ce66e65 af_redditimgur: simplify handling of gfycat URLs 6 years ago
Andrew Dolgov de1b9acba1 af_comics: simplify srcset attribute handling for gocomics pseudo-feeds 6 years ago
Andrew Dolgov 83da40251f plugins: move af_lang_detect to tt-rss-attic repository 6 years ago
tschuettler 31b40448fd Update af_lang_detect plugin with changes from upstream
Reapplied downstream changes for phpmd ruleset
6 years ago
Andrew Dolgov c925f4e3fd use catchall exception handler for readability 6 years ago
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.
6 years ago
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
6 years ago
Andrew Dolgov acf155cf8f remove old-style readability loading 6 years ago
Andrew Dolgov add9b37ab5 auth_internal: load Base32 using proper namespace 6 years ago
Andrew Dolgov b22766fcdd Af_RedditImgur: update to use readability-php 6 years ago
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
6 years ago
Andrew Dolgov 636164301f import_export: limit and offset don't play nice with generic PDO placeholders 6 years ago
Andrew Dolgov a369a6d946 import_export: update to use PDO 6 years ago
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
6 years ago
Andrew Dolgov b037ffd628 af_readability: specify http accept header 6 years ago
Andrew Dolgov 82152bdc34 Revert "plugins/import_export: use PDO"
This reverts commit 785ffca622.
6 years ago
Andrew Dolgov b14f6d58b4 implement hard limits on downloaded data size for general fetching and cache plugins: MAX_DOWNLOAD_FILE_SIZE & MAX_CACHE_FILE_SIZE 6 years ago
Luc Didry 785ffca622
plugins/import_export: use PDO 6 years ago
JustAMacUser aedcbfd9c5 af_comics: Go Comics now uses HTTPS. 6 years ago
Andrew Dolgov e0dff9134b af_comics: nedroid broke their rss feed, might as well plug them into generic comicpress filter 6 years ago
Andrew Dolgov 7e6bb21ff5 auto_assign_labels: pass delimiter to preg_quote() to escape slashes properly 6 years ago
JustAMacUser e26cb06179 af_readability: Use new global fetch_effective_url for canonical URL. 6 years ago
JustAMacUser 3f5f5bc73f af_comics: Fix typo -- call to undefined method. 6 years ago
Dave Z d92fcaa9c8 af_comics: Workaround for GoComics' lazy loading images in srcset. 6 years ago
Dave Z fc756975ab af_comics: Allow subscribing to GoComics URLs via page (only this time, *actually allow* it). 6 years ago
Andrew Dolgov 2c51facf61 Revert "import_export: do not use DOMDocument->loadXML in static context"
This reverts commit 1ddf3a28e5.
6 years ago
Andrew Dolgov 1ddf3a28e5 import_export: do not use DOMDocument->loadXML in static context 6 years ago
Andrew Dolgov 365f5c8b53 import_export: use legacy true/false values 6 years ago
Andrew Dolgov e038374608 gocomics: remove width attribute to fix improper scaling of images 6 years ago
Dave Z 12bfce5e66 Fix missing parenthesis. 6 years ago
Dave Z 33c850f5ab Fix PDO query in mail plugin. 6 years ago
Andrew Dolgov f830f853a9 Merge branch 'master' of git.tt-rss.org:git/tt-rss into pdo-experimental 7 years ago
JustAMacUser 3ee48ac830 Make af_readability use resolved URL when rewriting relative URLs in the article. 7 years ago
Andrew Dolgov 31f7966567 use button-style links for bookmarklets 7 years ago
Andrew Dolgov 6fb5ce5e35 add some primary dialog actions; update css 7 years ago
cac2s c3637c4d9d set charset to "utf-8" 7 years ago
Andrew Dolgov 09bc54c690 further stylesheet simplification related fixes 7 years ago
Andrew Dolgov 96930889dd plugins/cache_starred_images: use PDO 7 years ago
Andrew Dolgov fad986ff5d plugins/embed_original: use PDO 7 years ago
Andrew Dolgov 11d1a8a693 plugins/af_redditimgur: use PDO 7 years ago
Andrew Dolgov 2eda9d9be4 plugins/vf_shared: use PDO 7 years ago
Andrew Dolgov d8a924d930 plugins/auto_assign_labels: use PDO 7 years ago
Andrew Dolgov 0f4487d3d6 plugins/af_readability: use PDO 7 years ago
Andrew Dolgov ef2438a503 plugins/note: use PDO 7 years ago
Andrew Dolgov 2179332acd plugins/mail: use PDO 7 years ago
Andrew Dolgov 10bf7aa1e7 af_zz_imgproxy: use type hint 7 years ago