*/
static function update_rss_feed($feed, $no_cache = false) {
- $debug_enabled = defined('DAEMON_EXTENDED_DEBUG') || $_REQUEST['xdebug'];
+ $debug_enabled = defined('DAEMON_EXTENDED_DEBUG') || clean($_REQUEST['xdebug']);
_debug_suppress(!$debug_enabled);
_debug("start", $debug_enabled);
$date_feed_processed = date('Y-m-d H:i');
- $cache_filename = CACHE_DIR . "/simplepie/" . sha1($fetch_url) . ".xml";
+ $cache_filename = CACHE_DIR . "/feeds/" . sha1($fetch_url) . ".xml";
$pluginhost = new PluginHost();
$pluginhost->set_debug($debug_enabled);
}
// cache vanilla feed data for re-use
- if ($feed_data && !$auth_pass && !$auth_login && is_writable(CACHE_DIR . "/simplepie")) {
+ if ($feed_data && !$auth_pass && !$auth_login && is_writable(CACHE_DIR . "/feeds")) {
$new_rss_hash = sha1($feed_data);
if ($new_rss_hash != $rss_hash) {
$rss = new FeedParser($feed_data);
$rss->init();
- $feed = $feed;
-
if (!$rss->error()) {
// We use local pluginhost here because we need to load different per-user feed plugins
foreach ($items as $item) {
$pdo->beginTransaction();
- if ($_REQUEST['xdebug'] == 3) {
+ if (clean($_REQUEST['xdebug']) == 3) {
print_r($item);
}
$entry_content = $item->get_content();
if (!$entry_content) $entry_content = $item->get_description();
- if ($_REQUEST["xdebug"] == 2) {
+ if (clean($_REQUEST["xdebug"]) == 2) {
print "content: ";
print htmlspecialchars($entry_content);
print "\n";
$entry_plugin_data .= mb_strtolower(get_class($plugin)) . ",";
}
- if ($_REQUEST["xdebug"] == 2) {
+ if (clean($_REQUEST["xdebug"]) == 2) {
print "processed content: ";
print htmlspecialchars($article["content"]);
print "\n";
$entry_guid_hashed,
$entry_link,
$entry_timestamp_fmt,
- $entry_content,
+ "$entry_content",
$entry_current_hash,
$date_feed_processed,
$entry_comments,
(int)$num_comments,
$entry_plugin_data,
- $entry_language,
- $entry_author]);
+ "$entry_language",
+ "$entry_author"]);
}
$last_read_qpart = null;
} else {
$unread = 0;
- $last_read_qpart = 'NOW()';
+ $last_read_qpart = date("Y-m-d H:i"); // we can't use NOW() here because it gets quoted
}
if (RSSUtils::find_article_filter($article_filters, 'mark') || $score > 1000) {
(ref_id, owner_uid, feed_id, unread, last_read, marked,
published, score, tag_cache, label_cache, uuid,
last_marked, last_published)
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, '', '', '', ?, ?)");
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, '', '', '', ".$last_marked.", ".$last_published.")");
$sth->execute([$ref_id, $owner_uid, $feed, $unread, $last_read_qpart, $marked,
- $published, $score, $last_marked, $last_published]);
+ $published, $score]);
$sth = $pdo->prepare("SELECT int_id FROM ttrss_user_entries WHERE
ref_id = ? AND owner_uid = ? AND
WHERE id = :id");
$sth->execute([":title" => $entry_title,
- ":content" => $entry_content,
+ ":content" => "$entry_content",
":content_hash" => $entry_current_hash,
":updated" => $entry_timestamp_fmt,
":num_comments" => (int)$num_comments,
":plugin_data" => $entry_plugin_data,
- ":author" => $entry_author,
+ ":author" => "$entry_author",
":lang" => $entry_language,
":id" => $ref_id]);
}
static function expire_cached_files($debug) {
- foreach (array("simplepie", "images", "export", "upload") as $dir) {
+ foreach (array("simplepie", "feeds", "images", "export", "upload") as $dir) {
$cache_dir = CACHE_DIR . "/$dir";
// if ($debug) _debug("Expiring $cache_dir");