Commit Graph

446 Commits

Author SHA1 Message Date
Andrew Dolgov a5813bb766 mysql: use date_format() for yyiw part in queryFeedHeadlines() 2018-12-09 20:38:02 +03:00
Michael Kuhn 3484ad2aaf Use IYYY in combination with IW
Otherwise, we could end up with a wrong date, see:
https://community.oracle.com/thread/997899
2018-12-09 18:28:15 +01:00
Andrew Dolgov fa538a6c86 implement year-week sorting window if headlines buffer is grouped by feed titles 2018-12-09 13:35:37 +03:00
Andrew Dolgov 8f5b5ae09e if not enabled, set content_preview to "" instead of null 2018-12-09 04:24:48 +03:00
Andrew Dolgov bd66a9ef28 render article on the client using headlines data 2018-12-08 09:32:14 +03:00
Andrew Dolgov 41e967136f format headlines list: normalize booleans for pdo mysql 2018-12-08 08:23:18 +03:00
Andrew Dolgov 811e1514a3 remove uuid from headlines JSON output 2018-12-07 22:14:32 +03:00
Andrew Dolgov 3b7a9219f6 viewfeed: cleanup unneeded stuff from server JSON output 2018-12-07 21:52:41 +03:00
Andrew Dolgov 76885fc5ad viewfeed: general code cleanup 2018-12-07 21:22:51 +03:00
Andrew Dolgov 8f75b06835 implement feed grouping display, remove unneeded server vgrlf passing 2018-12-07 21:11:50 +03:00
Andrew Dolgov 0b84d1d0dc viewfeed: add orig_feed object 2018-12-07 18:38:27 +03:00
Andrew Dolgov e075e6141b json-viewfeed updates 2018-12-07 18:24:56 +03:00
Andrew Dolgov 249c93a228 initial for js templates 2018-12-07 16:00:11 +03:00
Andrew Dolgov e9cf8e8e35 normalize archived articles output in headlines 2018-12-06 19:00:11 +03:00
Andrew Dolgov 26c074ed7e rework article header to use flexbox 2018-12-06 16:35:57 +03:00
Andrew Dolgov b4c2b26822 remove collapse.png 2018-12-06 15:28:11 +03:00
Andrew Dolgov 0b8cbc9156 remove some bitmaps and rework stuff using it to use iconfont instead 2018-12-06 15:22:52 +03:00
Andrew Dolgov d2d2cb7e7d rework scoring display, JS processing and icons 2018-12-06 14:23:45 +03:00
Andrew Dolgov 8b2286305e and again 2018-12-06 13:18:14 +03:00
Andrew Dolgov 1de1426114 Revert "change fresh feed icon"
This reverts commit 69da55b945.
2018-12-06 13:16:53 +03:00
Andrew Dolgov 69da55b945 change fresh feed icon 2018-12-06 13:13:25 +03:00
Andrew Dolgov c700345c96 trgm: use vector icon, replace recently read icon 2018-12-05 22:48:14 +03:00
Andrew Dolgov cad6d1d7fd various icon updates; use new icons in feed tree 2018-12-05 20:26:27 +03:00
Andrew Dolgov a0778577ac remove pub_{set,unset}.png usage in main code 2018-12-05 14:18:03 +03:00
Andrew Dolgov cbd7328cb4 minor fixes to pub/mark icons etc 2018-12-05 14:11:40 +03:00
Andrew Dolgov b65d8384c2 update headlines to use vector icons 2018-12-05 13:58:18 +03:00
Andrew Dolgov 89b213b4bb initial for material-icons 2018-12-05 10:50:50 +03:00
Andrew Dolgov edd348b16c rework not-cdm headline rows to use flex-box 2018-12-05 09:08:02 +03:00
Andrew Dolgov 88c2da72d5 combined mode: use flex-box for header/footer layout 2018-12-05 08:31:13 +03:00
Andrew Dolgov 2621180b54 in three panel mode, attach context menu to the title, instead of entire headlines row 2018-12-05 07:34:16 +03:00
Andrew Dolgov 2ab097b2e5 initial work for flat modern theme 2018-12-04 22:24:31 +03:00
Andrew Dolgov 6befff30d7 updates for flat theme (mostly disable old dijit overrides) 2018-12-04 19:03:42 +03:00
Andrew Dolgov 0b8fef8262 combined unexpanded: respect 'SHOW_CONTENT_PREVIEW' preference 2018-12-04 10:47:50 +03:00
Andrew Dolgov 27b93988e7 add placeholder loading indicator to CDM entries
restore missing "originally from" for archived articles
2018-12-03 20:05:11 +03:00
Andrew Dolgov e76d1fb995 plugins: mail, mailto: remove code from global context 2018-12-03 14:21:50 +03:00
wn_ 6100392bd5 Fix an `onclick` (`Article.editArticleTags` --> `Article.editTags`) 2018-12-02 16:02:03 -06:00
Andrew Dolgov 5ead558e43 move Utils to AppBase where it belongs 2018-12-02 22:08:18 +03:00
Andrew Dolgov ad1b6f0a86 bring back excerpts in unexpanded mode 2018-12-02 19:04:53 +03:00
Andrew Dolgov 874560db54 remove obsolete row selection functions
move getUrlParam() to Utils
2018-12-02 10:33:58 +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 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 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 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 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 4508e3103d some more eslint-related stuff 2018-11-29 21:03:55 +03:00
Andrew Dolgov 3a0292303e php: remove trailing whitespaces 2018-11-03 15:08:43 +03: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
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 c30f5e1811 subscribe_to_feed: force-cast login and password to string 2018-01-05 06:50:37 +03:00
Andrew Dolgov 8dedacf497 remove synchronous feed refreshing on ForceUpdate 2017-12-31 07:37:49 +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 0f05147531 properly highlight search keywords containing forward slash 2017-12-15 08:33:59 +03:00
Andrew Dolgov ef1feb3610 subscribe dialog: add primary action 2017-12-11 18:43:53 +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 1c1fc17120 synchronous feed update: catch PDO exceptions as to not break headlines output 2017-12-10 21:10:19 +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 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 1f16f9b8ae feed debugger: only allow debugging users own feeds 2017-12-03 13:35:18 +03:00
Andrew Dolgov 09bc54c690 further stylesheet simplification related fixes 2017-12-03 13:25:34 +03:00
Andrew Dolgov 64312bfd71 feeds: remove sql_bool_to_bool() 2017-12-03 09:44:08 +03:00
Andrew Dolgov 187abfe732 main classes: remove sql_bool_to_bool() kludge 2017-12-03 09:35:59 +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 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
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 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
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 e6c886bf66 wrap rssfuncs into rssutils class 2017-05-05 18:10:07 +03:00
Andrew Dolgov 7c9b5a3fe4 move label stuff to Labels class
fix some unresolved functions
2017-05-04 15:57:40 +03:00
Andrew Dolgov 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 7b55001eee fix various issues reported by static analysis
update gitlab-ci config
2017-04-26 15:29:22 +03:00
Andrew Dolgov 337535416f filter by search results while marking feed as read 2017-03-31 11:21:35 +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 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
Jérémy DECOOL ba2853caac Prevent target='_blank' vulnerability on dynamic link 2017-02-12 11:01:36 +01:00
Andrew Dolgov 328118d12e use print_hidden() for hidden dojo form fields 2017-02-10 14:36:21 +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 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 6b06a609af headlines toolbar: move selection links into the dropdown 2017-01-07 17:03:58 +03:00
Andrew Dolgov c9a5903bcc disable autocomplete in subscription dialog 2016-05-18 14:48:51 +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 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 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 f61f2a2699 format_headlines_list: fix pg_num_rows() called incorrectly when firstid check failed 2015-12-05 04:04:44 +03:00
Andrew Dolgov 1bd552ee31 compat patches for php7 2015-12-04 09:29:58 +03: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 dcbe36b2a2 fix some remaining old-style viewfeed() calls 2015-08-13 09:51:39 +03:00
Andrew Dolgov 90da4ada66 move attachments back to cdm content 2015-08-12 08:29:09 +03:00
Andrew Dolgov 6901ec6659 fix subtoolbar links lack of margin 2015-08-11 18:19:04 +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 60e680599d allow selecting stemming language in search dialog 2015-08-04 13:53:48 +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 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 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 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 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
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 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
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