Andrew Dolgov
8af94f1292
pluginhost: use PDO
2017-12-02 11:25:43 +03:00
Andrew Dolgov
0500e14cc2
update_rss_feed: transaction lock article processing
2017-12-02 11:16:33 +03:00
Andrew Dolgov
0567016b40
rssutils: PDO
2017-12-02 09:56:34 +03:00
Andrew Dolgov
afcb105f4e
rssutils: start PDO switch
2017-12-02 08:38:57 +03:00
Andrew Dolgov
1d92297a96
dbupdater: use PDO
2017-12-02 01:28:30 +03:00
Andrew Dolgov
c949a9282e
OPML: use PDO; minor fixes
2017-12-02 01:08:30 +03:00
Andrew Dolgov
4102eb843f
sql logger: pdo
2017-12-02 00:13:28 +03:00
Andrew Dolgov
c1c08aed39
labels: PDO
2017-12-02 00:06:17 +03:00
Andrew Dolgov
fbe7cb0a48
rpc: switch to PDO
2017-12-01 23:49:14 +03:00
Andrew Dolgov
9652fa6b66
API: small fix
2017-12-01 22:49:12 +03:00
Andrew Dolgov
3467e1fd7c
api: switch to PDO
2017-12-01 22:46:22 +03:00
Andrew Dolgov
dd90eefae1
PDO: set unicode for mysql and other connection params
2017-12-01 22:14:54 +03:00
Andrew Dolgov
aee3f0e6d9
fix typo
2017-12-01 22:07:39 +03:00
Andrew Dolgov
7fc303e6ab
query feed headlines: fix limit/offset
2017-12-01 21:07:55 +03:00
Andrew Dolgov
cb13089af1
public: use PDO headlines result (2)
2017-12-01 20:57:55 +03:00
Andrew Dolgov
dc393a580b
public: use PDO headlines result
2017-12-01 20:57:05 +03:00
Andrew Dolgov
3623ebb1a1
feeds: handle escaping
2017-12-01 20:52:30 +03:00
Andrew Dolgov
c9b6ca8b70
feeds: remove escaping
2017-12-01 20:26:51 +03:00
Andrew Dolgov
b5791f11c5
queryfeedheadlines: PDOize (1)
2017-12-01 20:25:13 +03:00
Andrew Dolgov
29f1908e03
feeds: right before queryfeedheadlines()
2017-12-01 20:15:25 +03:00
Andrew Dolgov
cc9450c309
ccache, misc: fixes
...
feeds: start PDO transition
2017-12-01 19:42:02 +03:00
Andrew Dolgov
1271407eea
public: partial conversion to PDO, misc fixes
2017-12-01 18:57:34 +03:00
Andrew Dolgov
fbde19580c
db_prefs: PDO
2017-12-01 18:40:48 +03:00
Andrew Dolgov
abf94f00b4
digest: use PDO
2017-12-01 18:31:23 +03:00
Andrew Dolgov
9ead64f6d8
dlg: PDO
2017-12-01 18:16:58 +03:00
Andrew Dolgov
933ff559e6
ccache: PDO
2017-12-01 18:03:33 +03:00
Andrew Dolgov
a25ac0d7c8
counters: PDO
2017-12-01 17:47:29 +03:00
Andrew Dolgov
c9d5c26041
auth/base: PDO
...
functions: fix small pdo-related bug
2017-12-01 17:40:53 +03:00
Andrew Dolgov
2c57df75ff
article: remove db_escape..()
2017-12-01 17:35:22 +03:00
Andrew Dolgov
d0e73ed8ae
article: switch to PDO
2017-12-01 17:33:59 +03:00
Andrew Dolgov
2e46b434da
pdo: set warnings
2017-12-01 16:56:15 +03:00
Andrew Dolgov
c39ee27235
article: start pdo
2017-12-01 15:31:16 +03:00
Andrew Dolgov
bfc54b0369
Merge branch 'pdo-experimental' of git.fakecake.org:tt-rss into pdo-experimental
2017-12-01 10:17:36 +03:00
Andrew Dolgov
d9e60c0f68
Merge branch 'master' of git.fakecake.org:tt-rss into pdo-experimental
2017-12-01 10:17:18 +03:00
Andrew Dolgov
e50c8eaa4e
enforce unconditional requests every 6 hours even if server claims data is not modified
2017-11-30 13:12:28 +03:00
Andrew Dolgov
8adb3ec472
add some WIP pdo stuff
2017-11-30 12:28:07 +03:00
Andrew Dolgov
ca82bb03c8
rm db_stmt
2017-11-30 11:53:21 +03:00
Andrew Dolgov
99bda9cc12
add some starting pdo glue
2017-11-30 10:47:42 +03:00
Andrew Dolgov
9dd336a2c3
generate base css files using lessc
2017-11-29 18:55:12 +03:00
dim0x69
5395526444
add HOOK_UNSUBSCRIBE_FEED
2017-11-27 11:46:46 +01:00
Andrew Dolgov
2352c320c2
fix possible sql injection in public/forgotpass
2017-11-20 08:48:18 +03:00
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
91f49ba17d
api, setArticleLabel: allow JSON booleans
2017-10-15 16:47:44 +03:00
fox
d320b55af9
Merge branch 'sort_title_date' of ggrandou/tt-rss into master
2017-10-13 05:53:03 +00:00
Gilles Grandou
f9ad33c2d8
allows favicons to be in Windows PC BMP format
2017-10-09 22:58:00 +02:00
Gilles Grandou
81d96c0dee
makes 'order by title' to sort by title and by ascending date
...
* this allows to chronologically browse all articles with the
same title.
2017-10-09 22:50:03 +02: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
fox
b1d1bc901f
Merge branch 'checkbox-feed' of dxbi/tt-rss into master
2017-10-06 06:47:54 +00:00
Felix Eckhofer
cc50affb62
Add checkbox for authentication in edit feed dialog
...
This makes the UI more consistent with the "add feed" dialog and
prevents overzealous password-managers from leaking the login password.
2017-10-06 08:37:37 +02:00
Andrew Dolgov
51b521c326
fix batch feed editor using wrong SQL syntax when saving feed password
...
remove uses of auth_pass_encrypted in several other places
2017-10-06 09:22:04 +03:00
wn_
3476690cbf
Only require an array of basic info from 'HOOK_FEED_BASIC_INFO'.
...
Removes the need for the plugin to provide feed content.
Gives plugins a chance to provide 'title' and 'site_url' basic info.
Falls back to attempting retrieval+parsing of the fetch URL if needed.
2017-09-26 20:42:33 -05:00
wn_
bec5ba93e2
Add 'HOOK_FEED_BASIC_INFO' to enable plugins to provide basic feed info.
...
It's expected the plugin will return content parsable by FeedParser, which
will act as an interface to the basic feed info. In the case of a plugin
that also uses 'HOOK_FETCH_FEED', both might return the same content.
The hook signature was made somewhat similar to 'HOOK_FETCH_FEED'.
2017-09-24 19:37:49 -05: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
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
edefcec19d
filters/edit: properly parse feed-specific legacy format filter rules
2017-08-14 22:29:50 +03:00
Andrew Dolgov
ab8daa0389
use mysqli_set_charset() to set MYSQL_CHARSET
2017-08-09 08:05:52 +03:00
Andrew Dolgov
20d2195f13
rssutils: include comment count when calculating article hash
2017-08-06 20:20:39 +03:00
Andrew Dolgov
51f13e7736
get_all_labels: order by caption
2017-07-30 15:25:49 +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
be61f1c45c
filters dialog: do not break markup on long feed names
2017-07-09 16:39:25 +03: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
667d32fd26
remove obsolete forum plugin links
...
mention how to enable system plugins in the UI
2017-07-04 16:28:45 +03:00
Andrew Dolgov
7b994e4bec
filters: when adding rule select all feeds by default
2017-07-02 22:55:36 +03:00
Andrew Dolgov
57a1143c9d
dbupdater: fail if version file missing
2017-07-02 20:53:07 +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
e0f51d786f
Merge branch 'master' of git.fakecake.org:tt-rss
2017-07-02 20:27:31 +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
c053b97697
pref/feeds: start user category ordering from 1
...
api, getFeeds: send subcategory order_id
2017-06-26 16:29:57 +03:00
Andrew Dolgov
e130b283a7
db prefs: ignore cache when preference requested for specified UID (in case cached value of a different profile is stored)
...
prefs: show (and set) enabled plugins for default profile only
2017-06-24 14:29:07 +03:00
Andrew Dolgov
93af11cb7a
update_daemon_common: do not escape feed_url twice, remove some comments and stuff
2017-06-13 20:09:33 +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
Andrew Dolgov
e50a647916
add HOOK_FORMAT_ARTICLE & HOOK_FORMAT_ARTICLE_CDM
...
Feeds::format_headlines_list: add some comments for cdm article closing tags
2017-05-26 23:22:00 +03:00
Andrew Dolgov
9e381bc202
classes/Plugin: remove dbh & host fields; set init() and about() as abstract methods.
2017-05-23 21:16:30 +03:00
Andrew Dolgov
5b6ea1ef91
remove pubsubhubbub: dead
2017-05-16 10:41:20 +03:00
Andrew Dolgov
8f0a59f34a
share function: remove tt-rss prefix from page title
2017-05-11 09:56:51 +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
40f4a7aa6b
feeditem_common: add get_element()
2017-05-05 09:21:10 +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
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
3517d363d3
add api test for labels, api: fix setArticleLabel assign not handled correctly
2017-04-27 09:04:23 +03:00
Andrew Dolgov
891df34637
add some basic API unit tests
2017-04-27 00:24:17 +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
3c11159776
return result codes if DB connection or --debug-feed fails
2017-04-25 13:39:01 +03:00
Andrew Dolgov
337535416f
filter by search results while marking feed as read
2017-03-31 11:21:35 +03:00
Andrew Dolgov
9c3c0ace6b
rename cache images option label (rip translations)
2017-03-23 15:16:31 +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
63f0ed3d9c
cdmClicked: do not use event.target.parents to figure out if clicked on a heading
2017-03-06 12:19:13 +03:00
Andrew Dolgov
270c0a00e5
improve JS error logging with additional stuff
2017-03-05 10:50:15 +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
Andrew Dolgov
b835a52814
rework the way headlines menus identify calling row
2017-02-17 09:01:45 +03:00
Andrew Dolgov
5161460048
bind headlines menu to a selector to avoid remaking it unnecessarily
2017-02-13 23:36:58 +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
4daaf23491
allow user plugins to expose public methods out in a limited fashion
2017-02-10 16:04:28 +03:00
Andrew Dolgov
328118d12e
use print_hidden() for hidden dojo form fields
2017-02-10 14:36:21 +03:00
Andrew Dolgov
38b3998bbc
af_zz_imgproxy: use inline disposition, misc updates
2017-02-10 12:37:21 +03:00
Andrew Dolgov
9c7ebaa08c
cached_image: remove unnecessary basename()
2017-02-04 12:02:17 +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
22387de225
preferences: set themes dropdown to default if selected theme is missing
2017-01-26 22:37:22 +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
cb3f877303
reference pubsubhubbub classes using their namespace
2017-01-23 08:20:46 +03:00
Andrew Dolgov
ad326dbf78
unpackVisibleHeadlines: do not iterate over all RROWs all the time
2017-01-22 20:57:16 +03:00
Andrew Dolgov
967f0619c7
force ngettext() count argument type to string
2017-01-22 10:18:43 +03:00
Andrew Dolgov
84012df5cd
prefs: auto expand feed tree
2017-01-21 22:33:23 +03:00
Andrew Dolgov
6b06a609af
headlines toolbar: move selection links into the dropdown
2017-01-07 17:03:58 +03: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
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
Andrew Dolgov
8b8568e9a3
edit tags dialog: fix height
2017-01-04 10:40:09 +03:00
Andrew Dolgov
eee818c46a
ttrssmailer: include phpmailer's smtp class
2017-01-04 10:33:24 +03:00
Andrew Dolgov
e4071d2544
feedparser: fix syntax error
2016-11-11 19:47:09 +03:00
Andrew Dolgov
4a5490dc58
feedparser: fix normalize_encoding() not working properly for some encodings
2016-11-11 14:08:40 +03:00
Andrew Dolgov
cde8272205
parser: only try to convert encoding if mbstring actually supports it
2016-09-05 15:02:31 +03: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
Andrew Dolgov
e54eb40a8c
remove support for legacy mysql driver
2016-08-21 14:03:35 +03:00
Andrew Dolgov
a005ebb693
remove classes/db/api.php (shouldn't be there)
2016-08-19 18:33:48 +03:00
Heiko Adams
2842cf6e45
Merge branch 'master' into german-translation
2016-08-19 17:25:05 +02:00
Andrew Dolgov
a84fb943b4
pre-users: disallow renaming admin user
2016-08-17 17:54:27 +03:00
Andrew Dolgov
1818614949
api: fix article guid not being passed to render article hook
2016-07-20 15:38:42 +03:00
Andrew Dolgov
cfc2fe50cb
fix sql error when subscribing to a feed using feed archive
2016-07-05 11:48:36 +03:00
Heiko Adams
94e3a9ab44
Merge with master
2016-05-18 14:44:39 +02:00
Andrew Dolgov
c9a5903bcc
disable autocomplete in subscription dialog
2016-05-18 14:48:51 +03:00
Andrew Dolgov
ec21abb85d
update autocomplete to "new-password"
2016-05-18 12:43:56 +03:00
Andrew Dolgov
fa0e0ef315
set feed editor password fields to autocomplete=off
2016-05-18 12:31:25 +03:00
Andrew Dolgov
aa4ab8e0bc
remove .htaccess files
2016-05-13 09:10:54 +03:00
Andrew Dolgov
2f1a29d9c8
generate_syndicated_feed: sanitize content excerpt
2016-04-29 22:00:02 +03:00
Andrew Dolgov
977cea1438
actually check for failures properly in the dbupdater
2016-04-26 20:04:24 +03:00
Andrew Dolgov
79c891a8b7
set smallish timeout on update check, exclude update checking on initial load
2016-03-30 13:32:49 +03:00
Andrew Dolgov
b6b5554db4
normalize some html5 custom attributes
2016-03-22 23:43:32 +03:00
Andrew Dolgov
2d052e42b5
getLoadedArticleIds: consider visible rows only
...
catchupFeedInGroup: hide articles when catching up, with caveats
2016-03-22 23:22:28 +03:00
Andrew Dolgov
9232283815
pass feed information to hook_article_export_feed
2016-03-01 14:42:15 +03:00
Andrew Dolgov
399678a14e
add PluginHost.HOOK_ARTICLE_EXPORT_FEED
2016-03-01 14:39:36 +03:00
Andrew Dolgov
4f100ece19
pref_filters: sort rules by reg_exp when displaying index
2016-02-19 18:52:54 +03:00
Andrew Dolgov
cc43e19b44
error handler: do not log last query, truncate error message to a smaller length
2016-02-17 16:42:13 +03:00
Andrew Dolgov
3261dbfa21
generate_syndicated_feed: pass article id to sanitize()
2016-02-11 20:12:01 +03:00
Andrew Dolgov
d9de136c39
inline feed update: set feed as needing update if open_basedir is set + plugins need curl
2016-01-30 13:40:56 +03:00