Commit Graph

1636 Commits

Author SHA1 Message Date
Andrew Dolgov b9869dbc01 prefs: remove some more stuff from global context (user management, etc) 2018-12-02 16:17:36 +03:00
Andrew Dolgov 58e54282d3 prefs: move more global functions into matching classes 2018-12-02 15:30:07 +03:00
Andrew Dolgov f26d404890 prefs: move other tree-related functions to respective trees 2018-12-02 12:03:28 +03:00
Andrew Dolgov 60cd467694 embed some pref-feed helper functions into the tree 2018-12-02 11:50:53 +03:00
Andrew Dolgov 2e985d1733 move some label helper functions to prefLabelTree 2018-12-02 11:34:57 +03:00
Andrew Dolgov e23b6e397d prefs: store active tab for reload, remove most old table row functions 2018-12-02 11:25:32 +03:00
Andrew Dolgov 874560db54 remove obsolete row selection functions
move getUrlParam() to Utils
2018-12-02 10:33:58 +03:00
Andrew Dolgov 2f85b50e36 remove toggleSelectListRow2() 2018-12-02 10:16:25 +03:00
Andrew Dolgov 0a18d0b1ed Feeds: shorten some method names
finally rename "view as rss"
2018-12-02 08:57:22 +03:00
Andrew Dolgov 6e625555c9 Headlines: shorten selectArticles 2018-12-02 08:34:08 +03:00
Andrew Dolgov 3678315bea Article, Headlines: shorten several method names 2018-12-02 08:32:13 +03:00
Andrew Dolgov 1e2d4410d3 move some more shared stuff to CommonDialogs, Filters, and Utils 2018-12-01 22:39:29 +03:00
Andrew Dolgov cc26be0793 migrate tt-rss.js contents to App 2018-12-01 21:51:00 +03:00
Andrew Dolgov ab0fadf60d fix vfeed group title CSS in not combined mode 2018-12-01 21:08:15 +03:00
Andrew Dolgov 642c37ea61 further effocts to wrap JS stuff into objects 2018-12-01 21:01:53 +03:00
Andrew Dolgov 4bed9be57d js-ification: start on some common dialogs 2018-12-01 18:25:32 +03:00
Andrew Dolgov 97df81d8d9 even more objectification of JS 2018-12-01 17:54:16 +03:00
Andrew Dolgov d86ddbc635 further objectification of JS code 2018-12-01 17:21:26 +03:00
Andrew Dolgov 049a37aa0e WIP reshuffling of JS global context into separate logical objects 2018-12-01 17:05:35 +03:00
Andrew Dolgov 195180b64d minor refactoring: normalize some function names; cleanup; etc 2018-12-01 11:18:35 +03:00
Andrew Dolgov 8d190d539b CLI tools: fix --quiet not working if --log is unset 2018-12-01 10:05:26 +03:00
Andrew Dolgov a2ef54cd92 toggleMark, togglePub: refactor implementation
shorten marked/published img CSS classes
2018-12-01 08:20:09 +03:00
Andrew Dolgov 5aa9c60494 bring back (debloated) version of unexpanded combined mode 2018-12-01 01:03:01 +03:00
Andrew Dolgov 2e01a1d41d css updates; night theme fixes for changed CSS classes 2018-11-30 17:42:38 +03:00
Andrew Dolgov 07fd4f8d9d minor css fixes (mostly for zoom mode) 2018-11-30 17:22:30 +03:00
Andrew Dolgov add558e7e5 rework some styles related to three panel mode 2018-11-30 15:54:38 +03:00
Andrew Dolgov 8359ca6dad combined mode (and more) css class name updates 2018-11-30 15:48:17 +03:00
Andrew Dolgov 5f211e37a4 remove FTITLE- id 2018-11-30 14:53:58 +03:00
Andrew Dolgov 67cdf4cf12 remove some unnecessary element IDs
rework plugins/note to use xhrJson()
2018-11-30 14:39:06 +03:00
Andrew Dolgov b9585004e6 packed headlines: no point in using JSON here 2018-11-30 13:56:33 +03:00
Andrew Dolgov 7673331850 headlines: remove collapseBtn 2018-11-30 13:53:58 +03:00
Andrew Dolgov 9563e3bcd6 remove expandable CDM headlines 2018-11-30 13:51:54 +03:00
Andrew Dolgov c8c9a26f30 move to simpler CDM handling of encoded content (instead of CENCW... etc) 2018-11-30 13:26:41 +03:00
Andrew Dolgov ef129fed2a some more xhrPost refactoring (batchEditSave WIP) 2018-11-30 10:48:50 +03:00
Andrew Dolgov fc0a3050eb use xhrPost is even more places! 2018-11-30 09:23:51 +03:00
Andrew Dolgov 3ad9944d5e fix missing sprintf() argument 2018-11-30 09:19:00 +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 ed1262d55a oops, remove useless db_escape_string() in article class (and nsfw plugin) 2018-11-29 23:04:12 +03:00
Andrew Dolgov 4508e3103d some more eslint-related stuff 2018-11-29 21:03:55 +03:00
Andrew Dolgov 79c5035920 reset password: use updated mailer parameters properly 2018-11-26 12:44:36 +03:00
Andrew Dolgov 2d54eb1a87 remove cache/simplepie 2018-11-23 12:31:47 +03:00
Andrew Dolgov e08990f753 mailer: fix indents 2018-11-22 16:55:37 +03:00
Andrew Dolgov ac5e55c2bd mailer: return 0 if plugin requested to stop (-1) 2018-11-22 16:39:10 +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 253dbd4856 generate_syndicated_feed: add support for virtual feeds provided by plugins 2018-11-07 14:21:39 +03:00
Andrew Dolgov 22366ccc5b db_prefs: fix cache never being used on read(); remove unnecessary
sprintf()s to integer
2018-11-03 21:52:38 +03:00
Andrew Dolgov 3a0292303e php: remove trailing whitespaces 2018-11-03 15:08:43 +03:00
Andrew Dolgov 2c940c4861 better handle PDOExceptions during open transaction in feed update 2018-11-03 15:00:58 +03:00
Andrew Dolgov 5f66f872b6 fix session write handler always assuming that database entry exists and failing silently if it doesn't; remove session cookie-related hacks 2018-10-16 14:07:42 +03:00
Andrew Dolgov f8fc1ac543 login: check for stale session in login handler, instead of authenticate_user() 2018-10-16 11:39:12 +03:00
Andrew Dolgov f730d7bb0a another attempt to enforce session ID regeneration on login 2018-10-16 09:11:32 +03:00
Andrew Dolgov 65e98f4086 force regenerate session id on successful login, remove previous blank SID check 2018-10-15 15:47:50 +03:00
Andrew Dolgov bb84330234 Logger_SQL: use separate PDO connection 2018-09-10 21:49:31 +03:00
Andrew Dolgov 80fd79ca30 Logger->log() allow passing context (defaults to '') 2018-09-10 21:32:10 +03:00
Andrew Dolgov 4f17c3f977 Logger: add implementation for logger->log(message) 2018-09-10 21:26:28 +03:00
Andrew Dolgov 665495b94b cache_media: only touch() local file if it's writable 2018-09-10 16:17:12 +03:00
Andrew Dolgov d4fef36237 rewrite per-feed/global strip images to strip media 2018-09-07 10:24:46 +03:00
Andrew Dolgov 62d0060aa1 update_daemon_common: do not abort entire batch if PDOException happens when processing individual feeds 2018-09-03 13:03:35 +03:00
Andrew Dolgov 01d22e255f PDO: switch error reporting to exceptions 2018-09-03 12:30:26 +03:00
Andrew Dolgov 2ab49fec9a API: getHeadlines: return feed_id for Archived entries as 0 instead of null to be consistent with requested feed_id 2018-08-29 15:13:07 +03:00
Andrew Dolgov a291a0c00f API: oops, forgot that headlines could be requested for a tag 2018-08-29 12:55:03 +03:00
Andrew Dolgov 70e180e887 API: getHeadlines: check for feed_id correctly 2018-08-29 12:53:33 +03:00
Andrew Dolgov 54727f9534 parser: move media:element handling to feeditem_common; use media:content @media attribute to generate placeholder content-type if not specified 2018-08-21 07:01:26 +03:00
fox 8ab77d19ef Merge branch 'pullreq-enclosure-content-type' of tkappe/tt-rss into master 2018-08-21 03:47:39 +00:00
Andrew Dolgov 2aef804f4b split transparent rewriting of locally cached media URLs to execute after both sanitize() and HOOK_RENDER_ARTICLE to allow plugins work on original source URLs consistently 2018-08-20 12:12:32 +03:00
Tobias Kappé ac8a0e7dc6 Differentiate enclosures based on content type.
Some RSS feeds contain multiple enclosures with the same URL. When the first of
these is not recognized as an image, later entries are not added to the
database as rows in ttrss_enclosures. This change differentiates enclosures
based on their content type, so an entry can have multiple enclosure types with
the same URL (but possibly a different content type).
2018-08-18 17:17:30 +01:00
Andrew Dolgov 04ad631a08 Merge branch 'master' of git.fakecake.org:tt-rss 2018-08-17 10:11:53 +03:00
Andrew Dolgov 88adf3da1b send_local_file: add application/octet-stream hack
cached_url: return original requested filename to save as
2018-08-16 12:16:51 +03:00
Andrew Dolgov 163b50b15f cache_media: only show downloading debug message when actually downloading 2018-08-16 11:56:51 +03:00
Andrew Dolgov 611aeb7197 add debug stdout logger 2018-08-15 15:08:31 +03:00
Andrew Dolgov 069aea5989 remove FEED_CRYPT_KEY and everything related to it
always assume auth_pass_encrypted is false
2018-08-13 15:59:24 +03:00
Andrew Dolgov eb43d9f4a8 fix previous to not crash if document first child is not a DOMElement or whatever 2018-08-12 19:27:04 +03:00
Tobias Kappé a377d5c981 Determine language for atom entry without a loop. 2018-08-12 16:17:13 +01:00
Tobias Kappé 3bbaf902ab Sanitize language obtained for an entry. 2018-08-12 16:12:34 +01:00
Tobias Kappé 22a866edb5 Store language of entries as indicated by the feed. 2018-08-12 15:27:26 +01:00
Andrew Dolgov 32c0c07cc1 pluginhost: implement basic autoloader for classes bundled with plugins (uses vendor/ layout) 2018-08-07 14:36:45 +03:00
BtbN 2b8afd4942 Only strip utf8mb4 if mysql_charset != utf8mb4
If a user has fixed their database properly utf8mb4 works just fine allowing emoji and other 4 byte unicode characters to work.
2018-08-04 13:07:32 +00:00
Andrew Dolgov 6e6c3a878d update_rss_feed: limit maximum length of tsvector data because of pgsql limitations 2018-07-10 14:08:55 +03:00
Andrew Dolgov 310c18e6bb move OTPHP to vendor/; additionally move Base32 class to OTPHP namespace 2018-06-20 18:27:34 +03:00
Andrew Dolgov f5302247c6 share: add support for og:image, etc. metadata for shared articles 2018-05-29 22:04:02 +03:00
MatthieuS 5d95676ecc Call the subscription hook from the plugins even if fetch_file_contents returned no data
This allows a plug-in to override the fetch when the core fetch method fails for some feeds (eg. Tumblr feeds when requested from an EU IP).
2018-05-23 09:00:04 +00:00
Andrew Dolgov 66fe33e769 bump date_updated when updated article data is saved to exclude it from purging (because it is still present in the originating feed) 2018-05-20 10:41:08 +03:00
Andrew Dolgov 963c22646b pass tsvector data as a named parameter on article update, remove escaping hacks 2018-04-03 13:57:27 +03:00
Andrew Dolgov 4fa64e8446 filter dialog: remove placeholder 2018-03-21 14:02:06 +03:00
Andrew Dolgov e794e434da filter dialog: add tooltip re: filter syntax 2018-03-21 13:38:36 +03:00
tsia 551f3c2c85 fixed "reset to defaults" in preferences 2018-03-15 16:26:50 +00:00
Andrew Dolgov 0a8cdd4b9c remove firefox feed subscribe integration code (obsolete) 2018-03-14 18:15:21 +03:00
Andrew Dolgov c9a5e5aa28 feed editor: expose site_url for editing 2018-03-01 15:43:40 +03:00
Andrew Dolgov f1415df47c prefs: expand feed tree if displaying search results 2018-02-26 11:58:53 +03:00
Andrew Dolgov 5edf4b73a4 add a workaround to support numeric tags 2018-02-11 10:24:24 +03:00
Andrew Dolgov f6269d1bc4 add special class for feeds with disabled updates 2018-02-08 13:54:06 +03:00
Andrew Dolgov a340b29ba9 pref-feeds: disable tree autoexpand 2018-02-04 09:36:56 +03:00
Andrew Dolgov 67bf38afda savefeedorder, savefilterorder: do not use clean() on json payload 2018-02-04 09:33:28 +03:00
Andrew Dolgov 7f4a404566 include: convert some spaces to tabs 2018-01-30 10:44:31 +03:00
Andrew Dolgov 102a01354b strip utf8mb4 characters in enclosures on mysql 2018-01-29 23:24:11 +03:00
jsoares 26ad257de5 Fixed time stamping of new unmarked/unpublished articles 2018-01-22 22:41:24 +00:00
Colin Vidal c217de557f rpc: addfeed: gets login and pass only if need_auth is checked.
Because of browser form auto-completion, the hidden field login and
password can be automatically filled when adding a feed. It would
enable feed authentication even if the user doesn't click on need_auth
button.
2018-01-14 20:55:39 +01:00
Andrew Dolgov c30f5e1811 subscribe_to_feed: force-cast login and password to string 2018-01-05 06:50:37 +03:00
immanuelfodor 09be7cdd73 binding statement named param instead of positional replacement 2018-01-02 06:30:22 +00:00
Andrew Dolgov 8dedacf497 remove synchronous feed refreshing on ForceUpdate 2017-12-31 07:37:49 +03:00
Tianon Gravi bbc4d4bf34 treat OPML-imported feeds without a title the same as a batch import 2017-12-29 15:33:01 -08:00
Francesco Turco 1a7277570b fix two-factor authenticaton 2017-12-22 12:29:25 +01:00
Andrew Dolgov d4c05d0be2 update_rss_feed: don't try to use quoted NOW() in query 2017-12-18 18:27:23 +03:00
Andrew Dolgov 6fb5f17be6 pluginhost: always return an array in get_all() 2017-12-17 19:06:18 +03:00
Andrew Dolgov bed2d6e054 force-cast some variables used in queries to integer
do not display SQL query in headlines debug mode
2017-12-17 16:24:13 +03:00
Andrew Dolgov d0cce0c7a4 isdefaultpassword: use method_exists() to check for check_password 2017-12-15 12:15:15 +03:00
Andrew Dolgov 0f05147531 properly highlight search keywords containing forward slash 2017-12-15 08:33:59 +03:00
simonp 5f19596651 Fix typo from previous pull request 2017-12-14 18:43:42 +01:00
Benjamin Collet 44c6a04b61 Check if the auth module supports check_password() method before using it 2017-12-14 18:02:37 +01:00
Andrew Dolgov 9390ddeae2 fix single user mode login failing because of isdefaultpassword() 2017-12-14 19:27:55 +03:00
Andrew Dolgov 1bf468ba1a pref-prefs: set button classes 2017-12-11 18:50:00 +03:00
Andrew Dolgov 121ac0481f filter rule/action dialogs: set default action 2017-12-11 18:46:27 +03:00
Andrew Dolgov ef1feb3610 subscribe dialog: add primary action 2017-12-11 18:43:53 +03:00
Andrew Dolgov 05e81655c3 user editor: add primary action 2017-12-11 18:41:32 +03:00
Andrew Dolgov 6fb5ce5e35 add some primary dialog actions; update css 2017-12-11 18:36:36 +03:00
Andrew Dolgov 5f7be9957f filter,label dlg: use default action 2017-12-11 18:23:30 +03:00
Andrew Dolgov 320a3ba529 search form: set default action 2017-12-11 18:14:45 +03:00
Andrew Dolgov f70d456a5b Merge branch 'master' of git.tt-rss.org:git/tt-rss into pdo-experimental 2017-12-11 12:54:30 +03:00
fox c463a95dca Merge branch 'master' of dim0x69/tt-rss into master 2017-12-11 09:47:04 +00:00
dim0x69 e58a14de72 Check return value from Plugins 2017-12-11 09:41:45 +00:00
fox 9306918767 Merge branch 'pda-rss-now' of richm/tt-rss into pdo-experimental 2017-12-11 04:01:28 +00:00
Richard Mortimer aa16334f1f Include NOW() in prepared SQL for rssutils.php 2017-12-10 23:05:52 +00:00
Andrew Dolgov 1c1fc17120 synchronous feed update: catch PDO exceptions as to not break headlines output 2017-12-10 21:10:19 +03:00
Andrew Dolgov 83a052f1fa pdo_connect: catch exception on create 2017-12-10 09:27:07 +03:00
Andrew Dolgov f8db5bb4db installer: use PDO, improve wording for some notices
PDO wrapper: allow working with blank DB_HOST
2017-12-10 09:20:52 +03:00
Andrew Dolgov 8e1450aa15 update previous to only affect mysql 2017-12-05 22:46:18 +03:00
Andrew Dolgov f76f773a16 purge_orphans: limit maximum number of deleted articles 2017-12-05 22:37:50 +03:00
Andrew Dolgov 99b23daee6 opml_import_filter: remove debugging 2017-12-05 10:18:54 +03:00
Andrew Dolgov 8f92a67e6f some (very minor) code cleanup in feeds class 2017-12-04 10:39:50 +03:00
Andrew Dolgov 003a7447c3 format_headlines_list: prevent warning on first_id changed check 2017-12-04 10:26:22 +03:00
Andrew Dolgov 92175a8371 setpref: remove nl2br() 2017-12-04 08:27:25 +03:00
Andrew Dolgov e6532439d6 force strip_tags() on all user input unless explicitly allowed 2017-12-03 23:35:38 +03:00
Andrew Dolgov 7c6f7bb0aa fix some minor issues found by code analyzer 2017-12-03 23:08:04 +03:00
Andrew Dolgov fa3bcfa379 queryfeedheadlines: there's no need to quote order_by/override_order
else: feedicon cache busting etc
2017-12-03 22:49:57 +03:00
Andrew Dolgov 5f5b0de423 style feed icon and opml file upload controls 2017-12-03 22:35:12 +03:00
Andrew Dolgov 229c139c6a ccache: properly recalculate counters for uncategorized 2017-12-03 21:34:57 +03:00
Andrew Dolgov 342e8a9eeb move feeds cache directory to cache/feeds 2017-12-03 21:01:35 +03:00
Andrew Dolgov 7c0eb1b621 add defaultPasswordWarning nag dialog 2017-12-03 20:46:27 +03:00
Andrew Dolgov 31e2811a63 ttrss_zoom: fix CSS 2017-12-03 19:55:19 +03:00
Andrew Dolgov 2f0623c9a5 db: return adapter on get(), remove IDB wrapper 2017-12-03 14:54:15 +03:00
Andrew Dolgov df5d2a0665 pluginhost: do not connect via legacy DB api until requested
log all initiated legacy database connections
2017-12-03 14:49:18 +03:00
Andrew Dolgov 2cf93c046c pref-users: fix sorting the table 2017-12-03 13:54:31 +03:00
Andrew Dolgov 28040002f3 pdo connection string: properly check for DB_PORT 2017-12-03 13:37:43 +03:00
Andrew Dolgov 1f16f9b8ae feed debugger: only allow debugging users own feeds 2017-12-03 13:35:18 +03:00
Andrew Dolgov 93e70e36c2 force article content/etc to string when updating to avoid failing null constraint check 2017-12-03 13:32:24 +03:00
Andrew Dolgov b51d44a5e6 further stylesheet simplification related fixes (2) 2017-12-03 13:26:26 +03:00
Andrew Dolgov 09bc54c690 further stylesheet simplification related fixes 2017-12-03 13:25:34 +03:00
Andrew Dolgov 5e68e24679 css/less updates 2017-12-03 12:50:07 +03:00
Andrew Dolgov 4dc3f7e779 api: do not use sql_bool_to_bool() 2017-12-03 11:06:49 +03:00
Andrew Dolgov 69563c96b4 plugin base: add type hint to init(host) 2017-12-03 10:11:32 +03:00
Andrew Dolgov 49a888ecce rssutils: forbid question marks in tsvector data, PDO gets confused sometimes even by quoted ?s 2017-12-03 10:10:01 +03:00
Andrew Dolgov 64312bfd71 feeds: remove sql_bool_to_bool() 2017-12-03 09:44:08 +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 187abfe732 main classes: remove sql_bool_to_bool() kludge 2017-12-03 09:35:59 +03:00
Andrew Dolgov 8ff3cbb32e filters: remove sql_bool_to_bool()
checkbox_to_sql_bool: return ints (???)
2017-12-03 09:26:11 +03:00
Andrew Dolgov e4291ba12f otpenable: use pdo prepare() 2017-12-03 09:10:14 +03:00
Andrew Dolgov 731ecac530 completeLabels: use prepare() not query() 2017-12-03 09:06:43 +03:00
Andrew Dolgov 7d960ce7e9 auth_internal: use PDO + other fixes 2017-12-03 00:18:08 +03:00
fox ab1960cf13 Merge branch 'upstream/pdo-experimental' of JustAMacUser/tt-rss into pdo-experimental 2017-12-02 19:50:00 +00:00
Andrew Dolgov bfccff11c4 filter rule saving fix 2017-12-02 22:47:47 +03:00
JustAMacUser 1a05210933 Fixed PDO query to prepared statement in API::updateArticles. 2017-12-02 14:08:55 -05:00
Andrew Dolgov bf6db17b8f feeds: use PDO 2017-12-02 16:07:03 +03:00
Andrew Dolgov 2e52e4fd7a feeds: more PDo stuff 2017-12-02 15:53:32 +03:00
Andrew Dolgov e4befe6bf4 fix label cache being double escaped on save
remove some old-style escaping
2017-12-02 15:47:53 +03:00
Andrew Dolgov 7a1872c1e0 feeds: more PDO stuff 2017-12-02 15:36:32 +03:00
Andrew Dolgov b5bf9a0ff3 remove long forgotten stuff related to feed debugging actionbar 2017-12-02 15:12:39 +03:00
Andrew Dolgov 91d679667e feeds: PDO progress 2017-12-02 15:04:11 +03:00
Andrew Dolgov da9ea57d1c checkbox to sql bool related changes, some more boolean fixes 2017-12-02 14:07:48 +03:00
Andrew Dolgov 7ccb4e91ff boolean handling changes which probably won't break everything 2017-12-02 14:02:01 +03:00
Andrew Dolgov 248c62a1cc filters: fix limit/offset for test dialog 2017-12-02 13:54:18 +03:00
Andrew Dolgov bf4a79eaa9 prefs: start PDO switchover 2017-12-02 13:49:35 +03:00
Andrew Dolgov f594717d18 filters: use PDO 2017-12-02 13:28:13 +03:00
Andrew Dolgov 21295a52aa labels: PDO 2017-12-02 12:45:33 +03:00
Andrew Dolgov c2418a559b pref-users: PDO 2017-12-02 12:23:41 +03:00
Andrew Dolgov 93ca6c95b8 pref-system: PDO 2017-12-02 12:03:39 +03:00
Andrew Dolgov 7039370368 pref-prefs: PDO 2017-12-02 12:01:56 +03:00
Andrew Dolgov f8108cc28d pluginhost: save_data() fixes 2017-12-02 11:31:02 +03:00
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
Andrew Dolgov 67f3e3f942 pref-labels: remove obsolete searching code 2016-01-30 13:03:00 +03:00
Andrew Dolgov 9def554082 pref-feeds: allow searching by feed_url 2016-01-30 13:02:15 +03:00
Andrew Dolgov a5556c2471 fix item_id not being properly escaped in pref_feeds::process_category_order() (possible sql injection) 2016-01-29 17:24:59 +03:00
Andrew Dolgov 7af2e79578 create_published_article: only use readability if enabled in the plugin 2016-01-29 15:48:44 +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 71b75bb7fa fix multiple issues with archived feeds 2016-01-26 19:03:05 +03:00
Andrew Dolgov 41245888f1 only stop inline feed updates with open_basedir enabled if there are any plugins that require CURL enabled
add plugin->flags() returning array with additional plugin information, currently only CURL requirement (optional)
2016-01-26 11:45:47 +03:00
Andrew Dolgov 29c92d7b08 prevent frontend updating of feeds on view if open_basedir is set to prevent plugins potentially not working correctly (i.e. if backend system has open_basedir disabled) 2016-01-23 12:13:03 +03:00
Andrew Dolgov 7d1e15c396 parser: properly support tag subtrees instead of text content for article content 2016-01-23 01:48:32 +03:00
Andrew Dolgov d2bb392bae Revert "parser: use node->c14n() instead of expecting html in nodeValue"
This reverts commit 1383514ad9.
2016-01-23 01:24:13 +03:00
Andrew Dolgov 1383514ad9 parser: use node->c14n() instead of expecting html in nodeValue 2016-01-23 01:04:24 +03:00
Andrew Dolgov 312742db6e updates: auto-disable CURL if open_basedir is enabled, notify possible issues w/ plugins 2016-01-13 18:12:31 +03:00
Andrew Dolgov 5bdcb8fd78 remove option ALLOW_DUPLICATE_POSTS as confusing/useless 2016-01-07 22:01:35 +03:00
Andrew Dolgov 9b736a20b3 do not automatically call cleanup_tags() in housekeeping tasks 2016-01-04 10:42:24 +03:00
Andrew Dolgov f61f2a2699 format_headlines_list: fix pg_num_rows() called incorrectly when firstid check failed 2015-12-05 04:04:44 +03:00
Andrew Dolgov b8619f8db0 store formatted backtrace to sql log 2015-12-04 15:58:20 +03:00
Andrew Dolgov 1bd552ee31 compat patches for php7 2015-12-04 09:29:58 +03:00
Andrew Dolgov 475d762872 logger: record last query before logged error 2015-12-03 16:15:28 +03:00
Andrew Dolgov 154f14d01b filters: do not strip_tags() on regexps 2015-12-03 10:17:32 +03:00
JustAMacUser 73c77ab0a5 Add optional (default: true), boolean "sanitize" parameter to API::getArticle() method. 2015-11-23 14:57:03 -05:00
Andrew Dolgov 19e47ad60b queryFeedHeadlines: don't check first_id when sorting by oldest first 2015-11-21 22:20:00 +03:00
Andrew Dolgov 583f163f40 don't init plugins when loading everything to make a list, duh 2015-10-08 17:02:32 +03:00
Andrew Dolgov 86d07d367c rpc, setpref: properly save settings to active profile 2015-09-26 17:31:53 +03:00
Andrew Dolgov 77e8100669 add date suffixes to opml & import_export generated files 2015-09-21 12:45:25 +03:00
Andrew Dolgov 9a35ed6709 disable filter test result highlighting for the time being 2015-09-15 20:55:08 +03:00
Andrew Dolgov 94b8ce6cec queryfeedheadlines: remove disable_offsets hack 2015-09-15 12:33:58 +03:00
Andrew Dolgov dbeef0ca67 filter preview: remove unnecessary checkbox 2015-09-11 13:31:30 +03:00
Andrew Dolgov f48f292d2b tweak filter preview layout a bit; allow previewing matched articles in a popup 2015-09-11 13:05:08 +03:00
Andrew Dolgov 261226a3a5 mostly implement async filter test dialog 2015-09-09 22:09:03 +03:00
Andrew Dolgov a007c18dff wip: filter async testing 2015-09-09 16:56:04 +03:00
Andrew Dolgov e17079dcef make disabled filter rules easier to discern
show if filter set match_any_rule on the overview
2015-08-17 12:33:07 +03:00
Andrew Dolgov 73dfda1da6 various minor style updates, add danger buttons 2015-08-13 13:06:03 +03:00
Andrew Dolgov dcbe36b2a2 fix some remaining old-style viewfeed() calls 2015-08-13 09:51:39 +03:00
Andrew Dolgov d98779972d tabbed feed editor 2015-08-12 20:35:53 +03:00
Andrew Dolgov bf9cc9ad95 combine user edit & user details 2015-08-12 20:19:38 +03:00
Andrew Dolgov f232aa5a34 remove num_articles from main pref_users query 2015-08-12 18:24:16 +03:00
Andrew Dolgov f9c1f8b0d4 pref-feeds: check for inactive feeds asynchronously 2015-08-12 16:19:42 +03:00
Andrew Dolgov 1edff0d439 user manager: show stored feeds/articles 2015-08-12 16:01:47 +03:00
Andrew Dolgov b028da0a2d display lack of filter plugin actions properly 2015-08-12 12:11:12 +03:00
Andrew Dolgov be2cfc1fff Merge branch 'master' of git.fakecake.org:tt-rss 2015-08-12 08:29:23 +03:00
Andrew Dolgov 90da4ada66 move attachments back to cdm content 2015-08-12 08:29:09 +03:00
Andrew Dolgov b87744534a add plugin-based filter actions (see example plugin in attic)
bump schema
2015-08-11 23:28:42 +03:00
Andrew Dolgov ad9928a5cb adjust cpu_tuple to 0.5 2015-08-11 20:28:04 +03:00
Andrew Dolgov 981059fd1f postgresql: adjust cpu_tuple (experimental) 2015-08-11 20:04:54 +03:00
Andrew Dolgov 314956d440 filter test dialog fixes for filters w/ many rules 2015-08-11 19:13:08 +03:00
Andrew Dolgov fb8a032a6b minor textarea fixes 2015-08-11 18:44:07 +03:00
Andrew Dolgov 6901ec6659 fix subtoolbar links lack of margin 2015-08-11 18:19:04 +03:00
Andrew Dolgov e79e274fc8 add styles for several other dijit elements 2015-08-11 16:41:05 +03:00
Andrew Dolgov bc20cb9fad move attachment dropdown to cdmFooter, use table styles for cdmFooter 2015-08-11 15:30:17 +03:00
Andrew Dolgov 6810a1de42 use dijit form widget for attachments dropdown 2015-08-11 14:53:07 +03:00
Andrew Dolgov 91837f0a2a update site_url (and title if needed) when changing feed_url in feed editor 2015-08-10 15:14:38 +03:00
Andrew Dolgov 0bd172cd6a experimental: if using adaptive/unread mode w/ auto catchup don't calculate offsets because we're only interested in top $limit headlines anyway 2015-08-05 10:13:30 +03:00
Andrew Dolgov 60e680599d allow selecting stemming language in search dialog 2015-08-04 13:53:48 +03:00
Andrew Dolgov df659891ac implement per-feed stemming language setting 2015-08-04 13:32:52 +03:00
Andrew Dolgov 3ceb893f66 add one catchall function to make uniqids/keyhashes/etc used by tt-rss 2015-08-03 19:21:06 +03:00
Andrew Dolgov 0d0cb8fe1e fix missing cdmFeedTitle 2015-07-13 23:06:42 +03:00
Andrew Dolgov 33c4bd8968 fix error feed (i.e. when requested feed no longer exists) not display properly 2015-07-13 22:04:21 +03:00
Andrew Dolgov f17069960c roll back separate headline transport 2015-07-13 22:01:29 +03:00
Andrew Dolgov 6b954c0a83 fix dashboard feed 2015-07-13 18:43:54 +03:00
Andrew Dolgov 9f5eca992b headlines: fix whitebox reply not returned in an updated format 2015-07-13 13:29:13 +03:00
Andrew Dolgov 9638ec51b6 minor filter test dialog fixes 2015-07-13 12:53:13 +03:00
Andrew Dolgov 077004e470 feed test layout updates 2015-07-13 12:49:02 +03:00
Andrew Dolgov 4f9a3c0e0f Merge branch 'master' of git.fakecake.org:tt-rss
Conflicts:
	classes/pref/filters.php
2015-07-13 12:46:05 +03:00
Andrew Dolgov c939dfc396 rework filter preview to use native regexp implementation 2015-07-13 12:40:56 +03:00
Andrew Dolgov ac4c1383ae bring cdmFeedTitle style in line with the rest of the UI
send headline rows as separate JSON objects
2015-07-13 01:19:52 +03:00
Andrew Dolgov 48fefe2f6b fixes for first_id stuff 2015-07-12 18:08:02 +03:00
Andrew Dolgov ec57104d6e apparently it's a bad idea to do is_resource() on a mysqli result 2015-07-12 14:23:32 +03:00
Andrew Dolgov 96ac72bc12 api: getHeadlines: cast feed_it to int if needed 2015-07-12 13:18:03 +03:00
Andrew Dolgov b0ce3d33c3 api: initialize headlines header 2015-07-12 12:37:19 +03:00
Andrew Dolgov 491f69c7e3 bump api level 2015-07-12 12:27:18 +03:00
Andrew Dolgov 5c784e701c api: add top id stuff, optionally return header w/ status information in getHeadlines (currently only top_id_changed) 2015-07-12 12:26:09 +03:00
Andrew Dolgov 3444020100 report top id changed in headlines buffer 2015-07-12 12:01:34 +03:00
Andrew Dolgov f5a0fb8b64 queryFeedHeadlines: move to array-based arguments, optionally check if first element changed when paginating 2015-07-12 01:29:36 +03:00
Andrew Dolgov 9090b874ab simplify search, remove search_mode as useless
remove dialog to select by tags, simplify browsing by tag query
2015-07-07 15:59:32 +03:00
Andrew Dolgov 5956f312b7 add a bit more visible separate infobox for password change results 2015-07-06 12:10:15 +03:00
Andrew Dolgov b6714c77d2 limit smart_date_time stuff to headlines only 2015-07-03 23:36:47 +03:00
Andrew Dolgov 5a45821ec9 prevent event propagation when clicking on CDM article footer 2015-06-18 16:00:03 +03:00
Andrew Dolgov a72cd54ce1 bayes: properly reset score when going good -> ugly
article: add helper to refresh article score pic, properly set scorepic title
2015-06-17 22:04:32 +03:00
Andrew Dolgov 5914f31981 pluginhost: mention that update task & housekeeping hooks are for global plugins only 2015-06-15 21:41:55 +03:00
Andrew Dolgov 86b05f8661 better feed debugger ui for f D 2015-06-12 13:06:36 +03:00
Andrew Dolgov 415a3b50c9 fix some minor typos and stuff 2015-06-07 18:41:18 +03:00
Andrew Dolgov ca5d39e866 pluginhost: assume plugins.local exists 2015-06-05 18:10:17 +03:00
Andrew Dolgov b9634eb8b8 support loading themes from themes.local 2015-06-05 18:08:19 +03:00
Andrew Dolgov 7c0a2ab202 pluginhost: allow loading user plugins from plugins.local 2015-06-05 17:54:52 +03:00
Andrew Dolgov 5078ebcc6f Merge pull request #456 from andersk/disable-feed-browser
Make _DISABLE_FEED_BROWSER also disable the updateFeedBrowser RPC
2015-05-22 08:35:45 +03:00
Anders Kaseorg 0e653f751e Make _DISABLE_FEED_BROWSER also disable the updateFeedBrowser RPC
The undocumented _DISABLE_FEED_BROWSER option added in commit
c39befacb2 turns off the UI for looking
at which feeds other users are subscribed to, but it did not prevent
you from manually constructing an RPC call to get the same data.  This
was a privacy risk for those who consider _DISABLE_FEED_BROWSER
important.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2015-05-21 23:53:58 -04:00
Andrew Dolgov 945346cbff add HOOK_RENDER_ENCLOSURE & af_youtube_embed plugin 2015-04-21 14:07:20 +03:00
Andrew Dolgov e55a5ec601 atom: consider link rel=alternate in feed element for site urls 2015-04-21 13:40:22 +03:00
Andrew Dolgov 27f7b59353 add a wrapper for standard error codes returned by backend, also add explanation to the error object if possible 2015-03-30 13:02:24 +03:00
Andrew Dolgov f75e7c6446 rename url_to_tag_uri to a more relevant name 2015-03-28 16:13:39 +03:00
Andrew Dolgov 4b7391de7b generated feed: use tag: instead of the public.php URL as an entry ID; set enclosure length to 1 if unknown 2015-03-28 16:11:44 +03:00
Matthieu Sarter 469d9ad16a Added a "title" attribute in the link to an article.
Added a "title" attribute in the link to an article.
Makes TTRSS more usable on a small windows, allowing to see the complete title of an article in the tooltip, without opening the article.
2015-03-21 14:49:38 +01:00
Andrew Dolgov 0c6f7b314a remove image.php; put cached image endpoint to public.php 2015-02-27 14:51:26 +03:00
Andrew Dolgov e6c826fa2f remove AUTO_ASSIGN_LABELS (confusing, idiots keep enable it and complain of the results) 2015-02-21 13:08:50 +03:00
Lukas Hybner 4834ad5639 fix parse atom feed 2015-02-02 10:57:32 +01:00
Andrew Dolgov ed775e4e8d remove obsolete code related to version checking and tarball updater plugin 2015-01-31 15:08:55 +03:00
Andrew Dolgov 206326c219 feedparser: xpath doesn't properly query for title element if there's a default namespace so let's add a separate ugly hack for rdf:RDF feeds, thanks for that xml dipshits 2015-01-19 21:40:20 +03:00
zaikos 2b4853f515 Reverts most of be60340. Implements a simplier solution using XPath to get the proper title tag from a feed item. 2015-01-14 16:13:39 -05:00
zaikos be60340c29 Made FeedItem_RSS::get_title() more aggresive in finding an article title. 2015-01-14 13:28:58 -05:00
Andrew Dolgov 3457ce7c59 temporarily enable entity loader when importing opml because idk 2014-12-09 22:54:44 +03:00
Andrew Dolgov f6cbe9a5a0 require version information in all additional themes 2014-12-09 15:16:53 +03:00
Andrew Dolgov 3194a70a03 api: getHeadlines: add configurable excerpt_length (bump api version) 2014-11-29 20:16:09 +03:00
Andrew Dolgov 9997b38e3e api: allow requesting headlines as if client supports iframe sandboxing 2014-11-25 13:45:21 +03:00
Andrew Dolgov f71a669b7d api: handle uncached labels the way main headlines function does it 2014-10-27 22:07:20 +03:00
Andrew Dolgov 4baa1afa43 add force_update to api getHeadlines; bump api version to 9 2014-10-16 09:53:54 +04:00
Andrew Dolgov 9b1e591854 include subcategories in generated category feeds 2014-10-11 20:18:35 +04:00
Andrew Dolgov 4a1d122c87 edit feed: smaller buttons for icon upload; allow uploading larger favicons 2014-10-08 16:38:03 +04:00
Andrew Dolgov 7eb87b80d5 add pluginhost HOOK_HEADLINES_BEFORE (refs #814) 2014-08-19 14:24:34 +04:00
Pavel Voronin 647a39ddf3 Copypaste error fix 2014-08-18 15:22:02 +04:00
Andrew Dolgov 0d703c73bd reinstate wrongfully renamed archived feed; properly fix prefs filtertree labels for all feeds (ff5cc7d7) 2014-08-01 13:16:26 +04:00
Andrew Dolgov 7416305704 fix sharebyurl identifying articles by link instead of special synthesized guid which caused feed entries overwriting shared entries if their link matched 2014-07-17 00:39:13 +04:00
Felix Eckhofer 523bd90baf Store size of enclosure to database 2014-07-15 16:23:46 +02:00
Andrew Dolgov 4b19d4ac91 properly show cached images in syndicated feeds 2014-06-18 14:55:41 +04:00
André Glüpker d922b09c43 Skip nested Feed when calling getNextUnreadFeed()
This function is only called when using "Mark all as read".
So every time, this function gets called right now, all nested
categories get marked as read as well, so we don't want to jump to them.
Instead we want to the next category with same or higher tier.
2014-06-14 12:37:05 +02:00
Andrew Dolgov 78744d48d7 add FEEDS_SORT_BY_UNREAD to blacklist (removed) 2014-06-10 08:54:18 +04:00
Andrew Dolgov 34899cf9e8 add hidden tunable _DISABLE_INACTIVE_FEEDS 2014-05-22 08:10:24 +00:00
wltb 01465325b4 Add subscribe hook, give more information to fetch_feed hook 2014-05-19 14:06:52 +02:00
Dave Zaikos 2bb11658a8 Added HOOK_FORMAT_ENCLOSURES plugin hook.
Runs HTML and enclosures array through a plugin hook when rendering an article's enclosures in format_article_enclosures(). Allows plugins to override handling of how enclosures are presented by either filtering the array of enclosures, or generating the HTML to add to the article content.
2014-05-12 00:59:27 -04:00
Rob Hoelz baaf4c3043 Make search mechanism pluggable
Currently, TinyTinyRSS can use raw SQL or the Sphinx search engine
for searching.  It would be nice if other search engines (such as
Xapian) could be used, or if features of the underlying SQL engine
(such as MySQL's FULLTEXT indexes) could be leveraged.  This commit
makes searching into a plugin hook, falling back to the builtin behavior
if no search plugin is active.  The Sphinx search behavior has been
broken out into a plugin.
2014-04-23 04:49:54 +00:00
Andrew Dolgov 50e04efdc8 expand filtertree display to make filters easier to distinguish 2014-04-02 08:15:33 +00:00
Andrew Dolgov 8993937d13 fix alignment of a feed error icon in headlines subtoolbar 2014-03-26 14:30:54 +04:00
Grant Pannell a0d9bc160f Fix end tag for small feed icons when using combined display mode 2014-03-21 20:47:34 +10:30