Andrew Dolgov
9d930af9e1
fetch_file_contents: improve error handling
...
1. if request fails get error string from http response status line
2. do not override http error with possible CURL/php specific last error
3. fix silent php error generated while processing response headers to get last modified value
2017-10-30 13:13:10 +03:00
Andrew Dolgov
8716ec20d6
add sanity check for mime_content_type()
2017-10-29 10:17:43 +03: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_
701c5a7ee4
get_favicon_url: only check base elements with href attribute
2017-10-01 15:47:31 -05:00
wn_
241f69e4db
Handle potentially-relative base element when getting favicon.
...
The base element's "href" attribute is not required to be absolute,
so rewrite relative to the site URL if it is relative.
See:
* https://www.w3.org/TR/html51/document-metadata.html#the-base-element
* https://html.spec.whatwg.org/multipage/semantics.html#the-base-element
2017-10-01 14:25:12 -05:00
Andrew Dolgov
153cb6d305
add support for http 304 not modified (no timestamp calculation bullshit like last time)
2017-08-17 14:40:21 +03:00
Andrew Dolgov
5e78b0c253
do not base headlines label context submenu on feed tree labels category
2017-07-30 11:55:30 +03:00
Andrew Dolgov
1b5b1e5fec
sessions: use is_server_https() for secure cookie setting
2017-07-17 07:33:43 +03:00
Natan Frei
e234ac8dcb
$_SERVER['HTTPS'] can be exists and 'off' for non-https connectios
2017-07-17 00:44:48 +03:00
Andrew Dolgov
09628e1b1a
rework previous 32 bit session stuff
2017-07-13 14:40:30 +03:00
Andrew Dolgov
e6d77d2b29
Merge branch 'master' of git.fakecake.org:tt-rss
2017-07-13 08:57:31 +03:00
Andrew Dolgov
b465c28ee0
sessions: clip max expiry value to a 32bit integer
2017-07-13 08:57:07 +03:00
Andrew Dolgov
9f7bd151c6
hopefully unify handling of server HTTPS variables where needed, use scheme based on SELF_URL_PATH otherwise
2017-07-10 16:20:40 +03:00
Cédric Barboiron
643ebe4229
sanity: check X-Forwarded-Proto for self_url
2017-07-10 14:04:50 +02: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
948471a44b
self url path checking: accept value without an ending slash
2017-07-06 22:51:56 +03:00
Andrew Dolgov
2953687b72
sanity: it's probably a good idea to check whether we're running under httpd before enforcing SELF_URL_PATH checks
2017-07-05 22:46:05 +03:00
Andrew Dolgov
1f91695895
previous: spaces -> tabs
2017-07-05 22:07:41 +03:00
Andrew Dolgov
7506b61af2
sanity: check whether SELF_URL_PATH conforms to data returned by httpd
2017-07-05 22:00:31 +03:00
Andrew Dolgov
d76d5e86d2
controls: disable print_feed_select (unused)
2017-07-02 22:57:06 +03:00
Andrew Dolgov
10a1f28f7c
schema: updates for new filter format (bump version to 131)
2017-07-02 20:59:24 +03:00
Andrew Dolgov
02f3992a5a
Revert "Revert "filters: support matching on multiple feeds/categories""
...
This reverts commit f5d174bda9
.
2017-07-02 20:37:52 +03:00
Andrew Dolgov
f5d174bda9
Revert "filters: support matching on multiple feeds/categories"
...
This reverts commit 0bf7e007bb
.
2017-07-02 20:37:01 +03:00
Andrew Dolgov
0bf7e007bb
filters: support matching on multiple feeds/categories
...
opml: update filter export/import for new format
2017-07-02 20:27:21 +03: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
wn_
9b8bec700a
Replace '__autoload' (deprecated in PHP 7.2) with 'spl_autoload_register'.
...
http://php.net/manual/en/function.autoload.php
http://php.net/spl_autoload_register
https://wiki.php.net/rfc/deprecations_php_7_2
2017-05-27 10:52:16 -05:00
Andrew Dolgov
5b6ea1ef91
remove pubsubhubbub: dead
2017-05-16 10:41:20 +03:00
Andrew Dolgov
c114a2596f
move add_feed_url() to pref_feeds
2017-05-11 09:07:49 +03:00
Andrew Dolgov
4fd0790804
fix DAEMON_SLEEP_INTERVAL not being defined when used
...
enforce minimum 60 sec spawn/sleep interval in update processes
2017-05-06 10:54:14 +03:00
Andrew Dolgov
e6c886bf66
wrap rssfuncs into rssutils class
2017-05-05 18:10:07 +03:00
Andrew Dolgov
65af3b2cbb
move counter stuff to a separate class
2017-05-05 11:54:31 +03:00
Andrew Dolgov
e35ba0e212
add sanity check for SELF_URL_PATH going to http url if server is accessed over https
2017-05-05 10:16:54 +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
c2f0f24e4c
move digest stuff to Digest class
2017-05-04 15:41:38 +03:00
Andrew Dolgov
0086a89740
move some label stuff to labels.php
...
move getfeedcategory() to Feeds
2017-05-04 15:36:36 +03:00
Andrew Dolgov
904aff7667
abs_to_rel_path: removed
2017-05-04 15:28:21 +03:00
Andrew Dolgov
4a0da0e5bf
move get_article_labels to Article
2017-05-04 15:26:21 +03:00
Andrew Dolgov
2ed0d6c433
move counter cache to a separate class
...
fix references to get_article_tags
2017-05-04 15:22:57 +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
a230bf88a9
move to Article:
...
+ static function purge_orphans($do_output = false) {
move to Feeds
+ static function getGlobalUnread($user_id = false) {
+ static function getCategoryTitle($cat_id) {
+ static function getLabelUnread($label_id, $owner_uid = false) {
2017-05-04 15:00:21 +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
7e5f8d9fb3
move the following to Article:
...
+ static function format_article_enclosures($id, $always_display_enclosures,
+ static function format_article($id, $mark_as_read = true, $zoom_mode = false, $owner_uid = false) {
+ static function get_article_tags($id, $owner_uid = 0, $tag_cache = false) {
+ static function format_tags_string($tags) {
+ static function format_article_labels($labels) {
+ static function format_article_note($id, $note, $allow_edit = true) {
+ static function get_article_enclosures($id) {
2017-05-04 14:38:45 +03:00
Andrew Dolgov
4122da0290
move getArticleFeed to Article
...
move print_label_select to controls
2017-05-04 14:26:44 +03:00
Andrew Dolgov
e60d5b0a84
move opml-specific get_feed_category to opml.php
2017-05-04 14:24:30 +03:00
Andrew Dolgov
9549e33c2c
move some common control-generating functions to controls.php
2017-05-04 14:22:23 +03:00
Andrew Dolgov
07d3431e28
update_rss_feed: minor code cleanup
2017-04-27 13:08:43 +03:00
Andrew Dolgov
ea79a0e033
remove some redundant php closing tags
2017-04-26 20:24:18 +03:00
Andrew Dolgov
7b55001eee
fix various issues reported by static analysis
...
update gitlab-ci config
2017-04-26 15:29:22 +03:00
Andrew Dolgov
467bc4fe03
bump version_static to 17.4
2017-04-23 00:48:51 +03:00
Andrew Dolgov
337535416f
filter by search results while marking feed as read
2017-03-31 11:21:35 +03:00
Andrew Dolgov
86e534290e
enclosures: rewrite relative urls on import, duh
2017-03-27 19:20:46 +03:00
Andrew Dolgov
9594ea6875
add cosmetic suffixes back for cached url links
2017-03-23 18:26:43 +03: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
388d4dfa88
enable caching of media in article enclosures
2017-03-23 15:19:25 +03:00
Andrew Dolgov
48eefd8c5c
allow caching of audio files
2017-03-23 15:03:22 +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
8519c68d93
rewrite relative urls for html5 audio source elements
2017-03-06 09:20:58 +03:00
Andrew Dolgov
1bfe1d7b31
simplify error handling
...
* less convoluted exception dialogs
* use window.onerror for the majority of exception catching/reporting
* remove most of now useless try/catch blocks
* report stacktrace instead of manually specified error locations
2017-03-04 14:34:44 +03:00
Luc Didry
453787526a
Improve update_feedbrowser_cache SQL query
2017-02-16 12:05:32 +01:00
Andrew Dolgov
4a23031fcd
rewrite_relative_url: cleanup resulting url path while rewriting
2017-02-13 15:25:21 +03:00
Andrew Dolgov
454292b295
format_article_enclosures: allow embedding .jpeg files
2017-02-12 20:24:29 +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
fafd32e2dc
use get_self_url_prefix() when rewriting cached images
2017-02-10 15:14:47 +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
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
7818bfde0b
sanitize: properly handle cached content in archived articles
2017-02-10 12:11:09 +03:00
Andrew Dolgov
70c0a8c2e0
pass several image files used in notify messages to frontend as base64 to prevent broken error messages in case network connection is down. also, update some close buttons to show correct cursor.
2017-02-09 23:19:26 +03:00
Andrew Dolgov
829d478f1b
add some protection against opener attacks if external site is opened via window.open()
2017-02-08 15:07:05 +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
0442cbb6c1
image cache: send files as content-disposition: attachment; add .png suffix to image urls
2017-02-04 11:32:24 +03:00
Andrew Dolgov
24c7e4132d
subscribe dialog: do not report errors via alert()
...
fetch_file_contents: reset all globals on start, return error message body when not using curl
subscribe_to_feed: report if cloudflare is in the error message
2017-01-28 12:45:49 +03:00
Andrew Dolgov
181c8285dd
add compact theme with smaller font
2017-01-26 22:41:18 +03:00
Andrew Dolgov
e432b8fbe2
implement cache-busting for default theme.css
...
night theme: small fixes
2017-01-25 12:17:41 +03:00
Andrew Dolgov
553ec3c351
pass article guid to hook_render_article
2017-01-25 08:50:42 +03:00
Shane Synan
311cdb27f4
sanitize: allow dfn tag
...
Add <dfn> tag to allowed tags list. <dfn> represents the defining
instance of a term in HTML.
2017-01-24 18:39:17 -06:00
Andrew Dolgov
3b001e4330
support rel=noopener for links
2017-01-24 18:45:25 +03:00
Andrew Dolgov
e934d63e0c
fetch_file_contents: rework the way shim works to prevent intermittent warnings
2017-01-24 15:11:13 +03:00
Andrew Dolgov
67268b0017
sanitize: allow acronym tag
2017-01-24 11:36:43 +03:00
Andrew Dolgov
cb3f877303
reference pubsubhubbub classes using their namespace
2017-01-23 08:20:46 +03:00
Andrew Dolgov
70c5b2bfcc
feed tree: only run animation for appearing unread counters to prevent clashes with aux counter updating and animations ending up in wrong state
2017-01-22 20:20:35 +03:00
Andrew Dolgov
a86255572a
bump VERSION_STATIC due to Dojo changes
2017-01-22 13:55:36 +03:00
Andrew Dolgov
fa287f6b11
Merge branch 'af-comics-gocomics-feed' into 'master'
...
Update af_comics plugin to support GoComics.
Updates the af_comics plugin to support new GoComics site, which dropped native RSS feeds.
See merge request !42
2017-01-22 11:03:45 +03:00
Andrew Dolgov
967f0619c7
force ngettext() count argument type to string
2017-01-22 10:18:43 +03:00
JustAMacUser
fabfb9fc2a
Added support to fetch_file_contents() to explicitly set CURLOPT_FOLLOWLOCATION.
2017-01-22 02:12:09 -05:00
Anders Kaseorg
becd215a75
lib: Upgrade php-subscriber from ??? to 1213f89 (2016-11-15)
...
https://github.com/pubsubhubbub/php-subscriber
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2017-01-21 15:01:14 -05:00
Anders Kaseorg
5ddc3e274d
lib: Upgrade php-publisher from ??? to a5d6a0e (2016-11-15)
...
https://github.com/pubsubhubbub/php-publisher
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2017-01-21 15:01:14 -05:00
Andrew Dolgov
c606bd5741
tweak the enclosure dropdown display a little bit for less-readable urls
2017-01-17 14:04:00 +03:00
Andrew Dolgov
f6bcb5c606
Merge branch 'subscribe-idn-feed' into 'master'
...
Subscribe to feed with Internationalized Domain Name
Currently you cannot subscribe to feeds on hosts with internationalized domain names (IDNA) within tt-rss. You need to manually convert them to punycode to subscribe to them.
This patch adds code to detect IDNA and convert them to punycode in fix_url() if possible on the system. This requires PHP IDN functions (e.g. on Debian Jessie this needs php5-intl to be installed), so a notice is added to the installer sanity check.
See merge request !37
2017-01-16 11:36:00 +03:00
Andrew Dolgov
17a8e61d2a
deprecate encrypted feed passwords because mcrypt is getting removed from php 7.1
...
1. transparent decryption for existing installs stays for the time being
2. new passwords are not going to be encrypted even if FEED_CRYPT_KEY is defined
3. added update.php --decrypt-feeds to bulk decrypt existing encrypted passwords
4. updated install to not auto-generate crypt key
5. added warning to config.php-dist
2017-01-07 14:25:46 +03:00
Bernhard Thaler
62958fe9dc
convert to punycode for feed on idn hostname
2017-01-02 22:50:26 +01:00
Andrew Dolgov
3d5d289077
set_basic_feed_info: fix typo
2016-11-30 14:09:57 +03:00
Andrew Dolgov
bfe1eb4e52
rssfuncs: fix warning when trying to update nonexisting feed
2016-11-30 14:03:21 +03:00
Andrew Dolgov
12ff230bc2
maybe we shouldn't escape entry_author twice
2016-11-25 14:04:41 +03:00
Andrew Dolgov
3bba9c396f
fetch_file_contents: set timeout when not using CURL
2016-10-24 16:12:18 +03:00
Andrew Dolgov
e3dceca66b
get_article_filters: add unicode modifier to preg_match()
2016-10-19 21:40:58 +03:00
Andrew Dolgov
6687cb9927
shared posts: remove link to feed in externally shared articles to prevent leaking potentially private feed urls
2016-09-21 09:39:31 +03:00
John Brayton
401eb0f694
Specify feed_id as an int rather than a string.
2016-08-28 20:08:37 -04:00
John Brayton
f1b3b3f330
Add feed_id to subscribeToFeed response when the code is 1 or 0.
...
Set the API_LEVEL to 14.
2016-08-27 10:29:25 -04:00