Commit graph

1038 commits

Author SHA1 Message Date
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