summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rwxr-xr-xinclude/functions.php13
-rw-r--r--include/functions2.php22
-rw-r--r--[-rwxr-xr-x]include/rssfuncs.php25
-rw-r--r--include/version.php2
4 files changed, 54 insertions, 8 deletions
diff --git a/include/functions.php b/include/functions.php
index d6bd5fb73..3902ac45a 100755
--- a/include/functions.php
+++ b/include/functions.php
@@ -16,7 +16,9 @@
libxml_disable_entity_loader(true);
- mb_internal_encoding("UTF-8");
+ // separate test because this is included before sanity checks
+ if (function_exists("mb_internal_encoding")) mb_internal_encoding("UTF-8");
+
date_default_timezone_set('UTC');
if (defined('E_DEPRECATED')) {
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
@@ -831,14 +833,17 @@
return $csrf_token == $_SESSION['csrf_token'];
}
- function load_user_plugins($owner_uid) {
+ function load_user_plugins($owner_uid, $pluginhost = false) {
+
+ if (!$pluginhost) $pluginhost = PluginHost::getInstance();
+
if ($owner_uid && SCHEMA_VERSION >= 100) {
$plugins = get_pref("_ENABLED_PLUGINS", $owner_uid);
- PluginHost::getInstance()->load($plugins, PluginHost::KIND_USER, $owner_uid);
+ $pluginhost->load($plugins, PluginHost::KIND_USER, $owner_uid);
if (get_schema_version() > 100) {
- PluginHost::getInstance()->load_data();
+ $pluginhost->load_data();
}
}
}
diff --git a/include/functions2.php b/include/functions2.php
index 0a4f4309e..7e1171b7d 100644
--- a/include/functions2.php
+++ b/include/functions2.php
@@ -89,6 +89,7 @@
"feed_edit" => __("Edit feed"),
"feed_catchup" => __("Mark as read"),
"feed_reverse" => __("Reverse headlines"),
+ "feed_toggle_vgroup" => __("Toggle headline grouping"),
"feed_debug_update" => __("Debug feed update"),
"feed_debug_viewfeed" => __("Debug viewfeed()"),
"catchup_all" => __("Mark all feeds as read"),
@@ -158,6 +159,7 @@
"f e" => "feed_edit",
"f q" => "feed_catchup",
"f x" => "feed_reverse",
+ "f g" => "feed_toggle_vgroup",
"f *d" => "feed_debug_update",
"f *g" => "feed_debug_viewfeed",
"f *c" => "toggle_combined_mode",
@@ -1062,6 +1064,10 @@
array_push($attrs_to_remove, $attr);
}
+ if ($attr->nodeName == 'href' && stripos($attr->value, 'javascript:') === 0) {
+ array_push($attrs_to_remove, $attr);
+ }
+
if (in_array($attr->nodeName, $disallowed_attributes)) {
array_push($attrs_to_remove, $attr);
}
@@ -2443,4 +2449,20 @@
return $tmp;
}
+
+ function get_upload_error_message($code) {
+
+ $errors = array(
+ 0 => __('There is no error, the file uploaded with success'),
+ 1 => __('The uploaded file exceeds the upload_max_filesize directive in php.ini'),
+ 2 => __('The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form'),
+ 3 => __('The uploaded file was only partially uploaded'),
+ 4 => __('No file was uploaded'),
+ 6 => __('Missing a temporary folder'),
+ 7 => __('Failed to write file to disk.'),
+ 8 => __('A PHP extension stopped the file upload.'),
+ );
+
+ return $errors[$code];
+ }
?>
diff --git a/include/rssfuncs.php b/include/rssfuncs.php
index c01e703d1..cbd011e5c 100755..100644
--- a/include/rssfuncs.php
+++ b/include/rssfuncs.php
@@ -179,6 +179,8 @@
$nf = 0;
$bstarted = microtime(true);
+ $batch_owners = array();
+
// For each feed, we call the feed update function.
foreach ($feeds_to_update as $feed) {
if($debug) _debug("Base feed: $feed");
@@ -204,6 +206,9 @@
while ($tline = db_fetch_assoc($tmp_result)) {
if($debug) _debug(" => " . $tline["last_updated"] . ", " . $tline["id"] . " " . $tline["owner_uid"]);
+ if (array_search($tline["owner_uid"], $batch_owners) === FALSE)
+ array_push($batch_owners, $tline["owner_uid"]);
+
$fstarted = microtime(true);
$rss = update_rss_feed($tline["id"], true, false);
_debug_suppress(false);
@@ -220,6 +225,12 @@
microtime(true) - $bstarted, (microtime(true) - $bstarted) / $nf));
}
+ foreach ($batch_owners as $owner_uid) {
+ _debug("Running housekeeping tasks for user $owner_uid...");
+
+ housekeeping_user($owner_uid);
+ }
+
require_once "digest.php";
// Send feed digests by email if needed.
@@ -726,7 +737,8 @@
"language" => $entry_language,
"feed" => array("id" => $feed,
"fetch_url" => $fetch_url,
- "site_url" => $site_url)
+ "site_url" => $site_url,
+ "cache_images" => $cache_images)
);
$entry_plugin_data = "";
@@ -778,7 +790,7 @@
foreach ($article as $k => $v) {
// i guess we'll have to take the risk of 4byte unicode labels & tags here
- if (!is_array($article[$k])) {
+ if (is_string($article[$k])) {
$article[$k] = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $v);
}
}
@@ -1501,6 +1513,14 @@
_debug("Removed $frows (feeds) $crows (cats) orphaned counter cache entries.");
}
+ function housekeeping_user($owner_uid) {
+ $tmph = new PluginHost();
+
+ load_user_plugins($owner_uid, $tmph);
+
+ $tmph->run_hooks(PluginHost::HOOK_HOUSE_KEEPING, "hook_house_keeping", "");
+ }
+
function housekeeping_common($debug) {
expire_cached_files($debug);
expire_lock_files($debug);
@@ -1516,6 +1536,5 @@
//_debug("Cleaned $rc cached tags.");
PluginHost::getInstance()->run_hooks(PluginHost::HOOK_HOUSE_KEEPING, "hook_house_keeping", "");
-
}
?>
diff --git a/include/version.php b/include/version.php
index 3169ff222..6ca1b7fc4 100644
--- a/include/version.php
+++ b/include/version.php
@@ -1,5 +1,5 @@
<?php
- define('VERSION_STATIC', '16.3');
+ define('VERSION_STATIC', '16.8');
function get_version() {
date_default_timezone_set('UTC');