Commit Graph

1533 Commits (b6c3dde1cca77fd6e024b5ddc56dd25e600353ba)

Author SHA1 Message Date
Andrew Dolgov 32f9fda33d add composite key on ttrss_feeds (feed_url & owner_uid) 6 years ago
Andrew Dolgov 0b74db5ad7 remove feedbrowser (other feeds) 6 years ago
Andrew Dolgov 38e01270d8 archived feeds: expire old entries (schema bump) 6 years ago
Andrew Dolgov dfd3a4e581 update previous with make_password() in tt-rss proper 6 years ago
Andrew Dolgov 16a9bdc387 make_password: generate longer passwords by default, use better random function if available 6 years ago
Andrew Dolgov 5b3a73e574 login: switch to absolute redirect urls 6 years ago
Andrew Dolgov 925065b1fe Revert "login: only allow relative URLs in return="
This reverts commit c68ac04020.
6 years ago
Andrew Dolgov c68ac04020 login: only allow relative URLs in return= 6 years ago
Andrew Dolgov 72fcc81919 support per-plugin locale directories 6 years ago
Andrew Dolgov 32db1cb872 OPML: include (and import) ttrss per-feed update interval and sort order 6 years ago
Andrew Dolgov 54c1b5c611 fill in some missing doctypes; use short doctype where it wasn't 6 years ago
Andrew Dolgov 947e9cdc86 should be 19.2, duh 6 years ago
Andrew Dolgov 53a02b850e bump version_static 6 years ago
Andrew Dolgov 8cd7f31bde utility css updates 6 years ago
Andrew Dolgov 73c845858c make login form a bit special after all 6 years ago
Andrew Dolgov e2c9e283a2 remove ttrss_login stuff, use utility class 6 years ago
Andrew Dolgov c11f32ac38 center and rework some utility screens 6 years ago
Andrew Dolgov 4f720f906e simplify login form 6 years ago
Andrew Dolgov 874a2d2170 Revert "enable fi_FI locale"
oops, nevermind

This reverts commit e00041b206.
6 years ago
Andrew Dolgov e00041b206 enable fi_FI locale 6 years ago
root 5ac1935db5 Make article date select 12/24 time based on SHORT_DATE_FORMAT 6 years ago
Andrii Zhuk f1f2b81a90 Add i18n for auto mode:wq 6 years ago
Andrii Zhuk 57c3322088 Changed language name for Ukrainian 6 years ago
Andrew Dolgov 17a8821c0b enable uk_UA locale; rebase translations 6 years ago
Andrew Dolgov 1351ce370a truncate_middle: make it utf8 aware 6 years ago
Andrew Dolgov a5517fe857 fetch_file_contents: decompress gzipped data
af_readability: remove utf8 preamble hack
6 years ago
Andrew Dolgov 957c44d177 rework git update checking to be initiated by frontend, outside of runtime info output 6 years ago
Andrew Dolgov d53cdaf815 requestCounters: remove cooldown 6 years ago
Andrew Dolgov 25ca144bb7 score: get correct classes for rows/score icons on the client 6 years ago
Andrew Dolgov 7e5c999146 show alert if recent_log_events > 0 6 years ago
Andrew Dolgov 51de0ce807 runtime info: return count of recent eventlog entries 6 years ago
Andrew Dolgov 1c8593c1fa add hotkey (a N) to toggle night.css 6 years ago
Andrew Dolgov 703351c79e remove theme supports-version etc checking 6 years ago
Andrew Dolgov 33240b7fd9 various layout fixes related to inline player causing unnecessary left padding if shorten_expanded is enabled 6 years ago
Andrew Dolgov 3e4326e34d add ttrss_filters2.last_triggered (bump schema version) 6 years ago
Andrew Dolgov a01c33d654 add HOOK_FILTER_TRIGGERED (for filter debugging) 6 years ago
Andrew Dolgov 0b8cbc9156 remove some bitmaps and rework stuff using it to use iconfont instead 6 years ago
Andrew Dolgov 15d05e8a26 night.css: do not import default less theme statically
remove themes/default.php (not needed)
compact.css: fixes
6 years ago
Andrew Dolgov d2d2cb7e7d rework scoring display, JS processing and icons 6 years ago
Andrew Dolgov 73c68e600b feed browser: remove pub_set.png 6 years ago
Andrew Dolgov 29c890b495 login form: use dojo, remove profile hacks 6 years ago
Andrew Dolgov 197e80add6 fix several issues related to profile being set to a non-numeric value 6 years ago
Andrew Dolgov 6303e1626c remove cache/js (no longer used) 6 years ago
Andrew Dolgov 71fc6d45bd refactor error reporting to AppBase; keep exception_error() for now as a shim 6 years ago
Andrew Dolgov 84affc7b1d rework dojo singleton modules to better work with phpstorm completion (ugh) - declare() is not needed there anyway
remove event.observe from login form (not needed)
load pluginhost via amd
6 years ago
Andrew Dolgov e905ce7ea9 fix login 6 years ago
Andrew Dolgov d9c5c93cef move some more stuff out of common.js
rework client-side cookie functions a bit
limit dojo cachebust based on server scripts modification time
remove param_escape()
6 years ago
Andrew Dolgov f89924f7a1 set use strict on JS modules; remove some mostly useless stuff like get_minified_js() 6 years ago
Andrew Dolgov 874560db54 remove obsolete row selection functions
move getUrlParam() to Utils
6 years ago
Andrew Dolgov 2f85b50e36 remove toggleSelectListRow2() 6 years ago
Andrew Dolgov 5aa9c60494 bring back (debloated) version of unexpanded combined mode 6 years ago
Andrew Dolgov bf1b89d0f1 enable c-up/down hotkeys even out of cdm 6 years ago
Andrew Dolgov 07fd4f8d9d minor css fixes (mostly for zoom mode) 6 years ago
Andrew Dolgov 50052fb78a strip_harmful_tags: remove data- attributes 6 years ago
Andrew Dolgov 9563e3bcd6 remove expandable CDM headlines 6 years ago
Andrew Dolgov fc0a3050eb use xhrPost is even more places! 6 years ago
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
6 years ago
Andrew Dolgov b2f0858060 sanity config: fix typo 6 years ago
Andrew Dolgov d5256c8228 update sanity_config.php 6 years ago
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 6 years ago
Andrew Dolgov d246fb9fe1 remove session REMOTE_ADDR checks 6 years ago
Andrew Dolgov f8fc1ac543 login: check for stale session in login handler, instead of authenticate_user() 6 years ago
Andrew Dolgov f730d7bb0a another attempt to enforce session ID regeneration on login 6 years ago
Andrew Dolgov 9dadbdbb21 properly save auth_module after logging in 6 years ago
Andrew Dolgov 77aebd7e4a it was probably not the best idea to use session_regenerate_id() right after session_start(), duh 6 years ago
Andrew Dolgov 5feed36a3c do not use separate _ssl cookie for secure sessions 6 years ago
Andrew Dolgov 65e98f4086 force regenerate session id on successful login, remove previous blank SID check 6 years ago
Andrew Dolgov 74736fce0f if empty session is autostarted because of a cookie, immediately destroy it 6 years ago
Andrew Dolgov 7d53c2b501 validate_session: bring back IP session binding (enabled by default) and UA checking 6 years ago
Andrew Dolgov ec5687a62b logout user: commit destroyed session 6 years ago
Andrew Dolgov d2e1e60ecc 1. per-feed option STRIP_IMAGES should now also affect other media tags
2. video/audio elements were not replaced with text links properly in
low bandwidth mode
6 years ago
Andrew Dolgov f3068c6397 send_local_file: touch() sent files to reset their expiration cooldown 6 years ago
Andrew Dolgov 02bb26a93f rewrite_cached_urls: support video posters 6 years ago
Andrew Dolgov a1b8651949 Revert "add (hidden) _NGINX_XACCEL_PREFIX which uses nginx X-Accel-Redirect to serve static files faster"
This reverts commit c5c3a0a2a8.
6 years ago
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 6 years ago
Andrew Dolgov c5c3a0a2a8 add (hidden) _NGINX_XACCEL_PREFIX which uses nginx X-Accel-Redirect to serve static files faster 6 years ago
Andrew Dolgov 88adf3da1b send_local_file: add application/octet-stream hack
cached_url: return original requested filename to save as
6 years ago
Andrew Dolgov c4869cd573 if PHP_VERSION check fails, show current version 6 years ago
Andrew Dolgov 75e765aa00 bump version_static 6 years ago
Andrew Dolgov 848c6ac655 bump required php version to 5.6 6 years ago
Andrew Dolgov 069aea5989 remove FEED_CRYPT_KEY and everything related to it
always assume auth_pass_encrypted is false
6 years ago
Andrew Dolgov a2d1fa5b14 autoloader: check if class name is namespaced before trying to split it 6 years ago
Andrew Dolgov df47100ad1 remove SWF enclosure audio player 7 years ago
Andrew Dolgov a9105e2a61 move JShrink Minifier to vendor/ 7 years ago
Andrew Dolgov 2aaefbfa54 update autoloader to consider namespaces for third party libraries: placed and loaded from vendor/namespace/classpath.php
update readability to a newer implementation based on Readability.js (https://github.com/andreskrey/readability.php)
add vendor/Psr/Log interface required for the above
7 years ago
Andrew Dolgov d00d515320 feedbrowser: fix incorrect usage of LIMIT in prepared statement 7 years ago
Tobias Bell af3663edec Don't bail out if git gc removed refs 7 years ago
Andrew Dolgov 68d9c412ea fetch_file_contents: allow setting http Accept header 7 years ago
Andrew Dolgov f0dbfedc81 increase buffersize to 16384 bytes
(also some trailing whitespace got clipped)
7 years ago
Alexander Yaburov 74a98a6ff2 increased CURLOPT_BUFFERSIZE from 128 to 256 7 years ago
Andrew Dolgov b14f6d58b4 implement hard limits on downloaded data size for general fetching and cache plugins: MAX_DOWNLOAD_FILE_SIZE & MAX_CACHE_FILE_SIZE 7 years ago
foobar 2008ec4ed7 change filter rule regexp type to text 7 years ago
JustAMacUser 905ff10dc9 Allow abbr tag when sanitizing. 7 years ago
Andrew Dolgov e7c9bc60ec fix previous wrt if-modified-since being added to context options headers 7 years ago
Metallizzer dd597297cb Обновить 'include/functions.php'
The "Connection: close" header is added to the context_options
7 years ago
Andrew Dolgov 3d7db21602 Merge branch 'master' of git.fakecake.org:tt-rss 7 years ago
Andrew Dolgov 8babb8e75a sanitize: disallow width and height attributes for images 7 years ago
fox 1aeb282be1 Merge branch 'save-effective-url' of JustAMacUser/tt-rss into master 7 years ago
JustAMacUser 7ae05ed790 Have fetch_file_contents() save the effective URL. 7 years ago
Andrew Dolgov 2eaf2a1f36 tag_is_valid: simplify code 7 years ago
Andrew Dolgov 7f4a404566 include: convert some spaces to tabs 7 years ago
martin scharm 32dc9ec854 undocumenting the proxy settings [see #36]
in response to https://git.tt-rss.org/git/tt-rss/pulls/36#issuecomment-119
7 years ago
martin scharm 213c01d459 some proxies require `request_fulluri` set to true [see #36]
at least polipo won't work for plain HTTP URLs (HTTPS strangely also works without `request_fulluri`..?)

see https://git.tt-rss.org/git/tt-rss/pulls/36
7 years ago
martin scharm ea55f2e11c Add proper support for proxies
There are situations where you want tt-rss to use a proxy (e.g.
because of network restrictions, or privacy concerns).
tt-rss already comes with an undocumented `_CURL_HTTP_PROXY`
variable (see eg https://binfalse.de/2015/05/06/ttrss-with-proxy/),
however that won't have an effect when, for example, php-curl is
not installed, see
c30f5e1811/include/functions.php (L377)
In this case it would use the `file_get_contents` with a stream
context without a proxy definition:
c30f5e1811/include/functions.php (L487)

Here I propose to properly support proxies, and I introduced a
`PROXY` variable, that is respected in both scenarios, with and
without curl installed.
7 years ago
Andrew Dolgov 9274109c19 search_to_sql: quote fallback search language 7 years ago
JustAMacUser 56c2216295 Add missing quotes to array_map. 7 years ago
Andrew Dolgov bed2d6e054 force-cast some variables used in queries to integer
do not display SQL query in headlines debug mode
7 years ago
Andrew Dolgov 7651b6e2cd sanitize: disable referrer via referrerpolicy for img elements 7 years ago
Andrew Dolgov 4d10b4abca merge login form css into default.css
update more hardcoded colors to use @color-accent
update @color-accent
7 years ago
Andrew Dolgov f8db5bb4db installer: use PDO, improve wording for some notices
PDO wrapper: allow working with blank DB_HOST
7 years ago
Andrew Dolgov 76fc7a2d9c bool_to_sql_bool: for some reason PDO really likes integers for boolean columns
incidentally this fixes OPML filter import
7 years ago
Andrew Dolgov c4a08e4ff0 remove mentions of deprecated.js 7 years ago
Andrew Dolgov e6532439d6 force strip_tags() on all user input unless explicitly allowed 7 years ago
Andrew Dolgov fa3bcfa379 queryfeedheadlines: there's no need to quote order_by/override_order
else: feedicon cache busting etc
7 years ago
Andrew Dolgov 7c0eb1b621 add defaultPasswordWarning nag dialog 7 years ago
Andrew Dolgov bfebf57c5f get_theme_path: fallback to css/default.css if default theme is selected 7 years ago
Andrew Dolgov 2cf93c046c pref-users: fix sorting the table 7 years ago
Andrew Dolgov 3eecebc34f sanity_check: do not invoke PDO without checking that it exists 7 years ago
Andrew Dolgov 97a5e13370 add sanity check for PDO 7 years ago
Andrew Dolgov 83303f20e0 update version static for css & db changes 7 years ago
Andrew Dolgov 09bc54c690 further stylesheet simplification related fixes 7 years ago
Andrew Dolgov 8ff3cbb32e filters: remove sql_bool_to_bool()
checkbox_to_sql_bool: return ints (???)
7 years ago
Andrew Dolgov ed5cd6eae5 get_feed_access_key: param type bullshit 7 years ago
Andrew Dolgov 6cf3a57282 login: fix profile dropdown popping out in a weird place 7 years ago
Andrew Dolgov 7d960ce7e9 auth_internal: use PDO + other fixes 7 years ago
Andrew Dolgov 4ee398a41e Merge branch 'master' of git.fakecake.org:tt-rss into pdo-experimental 7 years ago
Andrew Dolgov 1e78803c44 search_to_sql: leftover tsquery query fix for pgsql 7 years ago
Andrew Dolgov a2d77092fe search_to_sql: quoting fix 7 years ago
Andrew Dolgov 0002e598f8 sql_bool_to_bool: backwards compat fix 7 years ago
Andrew Dolgov e4befe6bf4 fix label cache being double escaped on save
remove some old-style escaping
7 years ago
Andrew Dolgov ef83c69404 more boolean fixes 7 years ago
Andrew Dolgov da9ea57d1c checkbox to sql bool related changes, some more boolean fixes 7 years ago
Andrew Dolgov 7ccb4e91ff boolean handling changes which probably won't break everything 7 years ago
Andrew Dolgov c949a9282e OPML: use PDO; minor fixes 7 years ago
Andrew Dolgov fbe7cb0a48 rpc: switch to PDO 7 years ago
Andrew Dolgov ecf6baaa1c fix add_feed_category 7 years ago
Andrew Dolgov cc9450c309 ccache, misc: fixes
feeds: start PDO transition
7 years ago
Andrew Dolgov 1271407eea public: partial conversion to PDO, misc fixes 7 years ago
Andrew Dolgov cab58c44ae some minor PDO-related fixes 7 years ago
Andrew Dolgov c9d5c26041 auth/base: PDO
functions: fix small pdo-related bug
7 years ago
Andrew Dolgov d068111a37 controls: PDO 7 years ago
Andrew Dolgov bbd9e5045e controls: start pdo stuff 7 years ago
Andrew Dolgov 4ff8bdcb00 feedbrowser: PDO 7 years ago
Andrew Dolgov fdda3e4efb pdo pdo pdo 7 years ago
Andrew Dolgov 4d13514dd4 sessions: PDO 7 years ago
Andrew Dolgov a21f7495ae more pdo stuff 7 years ago
Andrew Dolgov 90dafaa9f6 add qmarks function 7 years ago
Andrew Dolgov b78a6f08b6 more pdo stuff i guess 7 years ago
Andrew Dolgov 7c4d7bce3f increase default of MAX_CONDITIONAL_INTERVAL to 12 hours 7 years ago
Andrew Dolgov 8aa568b3a2 some more pdo stuff 7 years ago
Andrew Dolgov bfc54b0369 Merge branch 'pdo-experimental' of git.fakecake.org:tt-rss into pdo-experimental 7 years ago
Andrew Dolgov e50c8eaa4e enforce unconditional requests every 6 hours even if server claims data is not modified 7 years ago
Andrew Dolgov ecd2e414bd add ttrss_feeds.last_unconditional (schema bump) 7 years ago
Andrew Dolgov 8adb3ec472 add some WIP pdo stuff 7 years ago
Andrew Dolgov 9dd336a2c3 generate base css files using lessc 7 years ago
Andrew Dolgov 820873de9f update myisam fail warning 7 years ago
Andrew Dolgov 0b68b1629e add a sanity check for tt-rss myisam tables 7 years ago
woxcab 6eeeec4838 Allow <hr> tag in the RSS item' description 7 years ago
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
7 years ago
Andrew Dolgov 8716ec20d6 add sanity check for mime_content_type() 7 years ago
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
7 years ago
wn_ 701c5a7ee4 get_favicon_url: only check base elements with href attribute 7 years ago
wn_ 241f69e4db Handle potentially-relative base element when getting favicon.
The base element's "href" attribute is not required to be absolute,
so rewrite relative to the site URL if it is relative.

See:
* https://www.w3.org/TR/html51/document-metadata.html#the-base-element
* https://html.spec.whatwg.org/multipage/semantics.html#the-base-element
7 years ago
Andrew Dolgov 153cb6d305 add support for http 304 not modified (no timestamp calculation bullshit like last time) 7 years ago
Andrew Dolgov 5e78b0c253 do not base headlines label context submenu on feed tree labels category 7 years ago
Andrew Dolgov 1b5b1e5fec sessions: use is_server_https() for secure cookie setting 7 years ago
Natan Frei e234ac8dcb $_SERVER['HTTPS'] can be exists and 'off' for non-https connectios 7 years ago
Andrew Dolgov 09628e1b1a rework previous 32 bit session stuff 7 years ago
Andrew Dolgov e6d77d2b29 Merge branch 'master' of git.fakecake.org:tt-rss 7 years ago
Andrew Dolgov b465c28ee0 sessions: clip max expiry value to a 32bit integer 7 years ago
Andrew Dolgov 9f7bd151c6 hopefully unify handling of server HTTPS variables where needed, use scheme based on SELF_URL_PATH otherwise 7 years ago
Cédric Barboiron 643ebe4229 sanity: check X-Forwarded-Proto for self_url 7 years ago
Andrew Dolgov b2d42e960b replace some usages of SELF_URL_PATH with get_self_url_prefix() 8 years ago
Andrew Dolgov 948471a44b self url path checking: accept value without an ending slash 8 years ago
Andrew Dolgov 2953687b72 sanity: it's probably a good idea to check whether we're running under httpd before enforcing SELF_URL_PATH checks 8 years ago
Andrew Dolgov 1f91695895 previous: spaces -> tabs 8 years ago
Andrew Dolgov 7506b61af2 sanity: check whether SELF_URL_PATH conforms to data returned by httpd 8 years ago
Andrew Dolgov d76d5e86d2 controls: disable print_feed_select (unused) 8 years ago
Andrew Dolgov 10a1f28f7c schema: updates for new filter format (bump version to 131) 8 years ago
Andrew Dolgov 02f3992a5a Revert "Revert "filters: support matching on multiple feeds/categories""
This reverts commit f5d174bda9.
8 years ago
Andrew Dolgov f5d174bda9 Revert "filters: support matching on multiple feeds/categories"
This reverts commit 0bf7e007bb.
8 years ago
Andrew Dolgov 0bf7e007bb filters: support matching on multiple feeds/categories
opml: update filter export/import for new format
8 years ago
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
8 years ago
wn_ 9b8bec700a Replace '__autoload' (deprecated in PHP 7.2) with 'spl_autoload_register'.
http://php.net/manual/en/function.autoload.php
http://php.net/spl_autoload_register
https://wiki.php.net/rfc/deprecations_php_7_2
8 years ago
Andrew Dolgov 5b6ea1ef91 remove pubsubhubbub: dead 8 years ago
Andrew Dolgov c114a2596f move add_feed_url() to pref_feeds 8 years ago
Andrew Dolgov 4fd0790804 fix DAEMON_SLEEP_INTERVAL not being defined when used
enforce minimum 60 sec spawn/sleep interval in update processes
8 years ago
Andrew Dolgov e6c886bf66 wrap rssfuncs into rssutils class 8 years ago
Andrew Dolgov 65af3b2cbb move counter stuff to a separate class 8 years ago
Andrew Dolgov e35ba0e212 add sanity check for SELF_URL_PATH going to http url if server is accessed over https 8 years ago
Andrew Dolgov 7c9b5a3fe4 move label stuff to Labels class
fix some unresolved functions
8 years ago
Andrew Dolgov c2f0f24e4c move digest stuff to Digest class 8 years ago
Andrew Dolgov 0086a89740 move some label stuff to labels.php
move getfeedcategory() to Feeds
8 years ago
Andrew Dolgov 904aff7667 abs_to_rel_path: removed 8 years ago
Andrew Dolgov 4a0da0e5bf move get_article_labels to Article 8 years ago
Andrew Dolgov 2ed0d6c433 move counter cache to a separate class
fix references to get_article_tags
8 years ago
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
8 years ago
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) {
8 years ago
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) {
8 years ago
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) {
8 years ago