} else {
$result = db_query($link, "SELECT id,update_interval,auth_login,
- auth_pass,cache_images,update_method,hidden,last_updated
+ auth_pass,cache_images,update_method,last_updated
FROM ttrss_feeds WHERE id = '$feed'");
}
return false;
}
- $hidden = sql_bool_to_bool(db_fetch_result($result, 0, "hidden"));
$update_method = db_fetch_result($result, 0, "update_method");
$last_updated = db_fetch_result($result, 0, "last_updated");
catchup_feed($link, $feed, false, $owner_uid);
}
- if (!$hidden) {
- if (defined('DAEMON_EXTENDED_DEBUG') || $_REQUEST['xdebug']) {
- _debug("update_rss_feed: updating counters cache...");
- }
-
- // disabled, purge_feed() does that...
- //ccache_update($link, $feed, $owner_uid);
- }
-
purge_feed($link, $feed, 0);
db_query($link, "UPDATE ttrss_feeds
$age_qpart = getMaxAgeSubquery();
$result = db_query($link, "SELECT id FROM ttrss_feeds WHERE $cat_query
- AND hidden = false
AND owner_uid = " . $owner_uid);
$cat_feeds = array();
ttrss_user_entries, ttrss_labels2, ttrss_user_labels2, ttrss_feeds
WHERE label_id = ttrss_labels2.id AND article_id = ref_id AND
ttrss_labels2.owner_uid = '$owner_uid'
- AND unread = true AND hidden = false AND feed_id = ttrss_feeds.id
+ AND unread = true AND feed_id = ttrss_feeds.id
AND ttrss_user_entries.owner_uid = '$owner_uid'");
$unread = db_fetch_result($result, 0, "unread");
ttrss_user_entries, ttrss_labels2, ttrss_user_labels2, ttrss_feeds
WHERE label_id = ttrss_labels2.id AND article_id = ref_id AND
ttrss_labels2.owner_uid = '$owner_uid' AND ttrss_labels2.id = '$label_id'
- AND unread = true AND hidden = false AND feed_id = ttrss_feeds.id
+ AND unread = true AND feed_id = ttrss_feeds.id
AND ttrss_user_entries.owner_uid = '$owner_uid'");
if (db_num_rows($result) != 0) {
$result = db_query($link, "SELECT id FROM ttrss_feeds
WHERE parent_feed = '$n_feed'
- AND hidden = false
AND owner_uid = " . $owner_uid);
if (db_num_rows($result) > 0) {
if ($n_feed != 0) {
$from_qpart = "ttrss_user_entries,ttrss_feeds,ttrss_entries";
- $feeds_qpart = "ttrss_feeds.hidden = false AND
- ttrss_user_entries.feed_id = ttrss_feeds.id AND";
+ $feeds_qpart = "ttrss_user_entries.feed_id = ttrss_feeds.id AND";
} else {
$from_qpart = "ttrss_user_entries,ttrss_entries";
}
print "</rpc-reply>";
}
- function subscribe_to_feed($link, $feed_link, $cat_id = 0,
+ function subscribe_to_feed($link, $url, $cat_id = 0,
$auth_login = '', $auth_pass = '') {
- # check for feed:http://url
- $feed_link = trim(preg_replace("/^feed:/", "", $feed_link));
+ $parts = parse_url($url);
- # check for feed://URL
- if (strpos($feed_link, "//") === 0) {
- $feed_link = "http:$feed_link";
- }
+ if (!validate_feed_url($url)) return 2;
- if ($feed_link == "") return;
+ if ($parts['scheme'] == 'feed') $parts['scheme'] = 'http';
+
+ $url = make_url_from_parts($parts);
if ($cat_id == "0" || !$cat_id) {
$cat_qpart = "NULL";
$result = db_query($link,
"SELECT id FROM ttrss_feeds
- WHERE feed_url = '$feed_link' AND owner_uid = ".$_SESSION["uid"]);
+ WHERE feed_url = '$url' AND owner_uid = ".$_SESSION["uid"]);
if (db_num_rows($result) == 0) {
$result = db_query($link,
"INSERT INTO ttrss_feeds
(owner_uid,feed_url,title,cat_id, auth_login,auth_pass)
- VALUES ('".$_SESSION["uid"]."', '$feed_link',
+ VALUES ('".$_SESSION["uid"]."', '$url',
'[Unknown]', $cat_qpart, '$auth_login', '$auth_pass')");
$result = db_query($link,
- "SELECT id FROM ttrss_feeds WHERE feed_url = '$feed_link'
+ "SELECT id FROM ttrss_feeds WHERE feed_url = '$url'
AND owner_uid = " . $_SESSION["uid"]);
$feed_id = db_fetch_result($result, 0, "id");
if ($feed_id) {
- update_rss_feed($link, $feed_link, $feed_id, true);
+ update_rss_feed($link, $url, $feed_id, true);
}
- return true;
+ return 1;
} else {
- return false;
+ return 0;
}
}
if ($feed != "0") {
$from_qpart = "ttrss_entries,ttrss_user_entries,ttrss_feeds$ext_tables_part";
- $feed_check_qpart = "ttrss_feeds.hidden = false AND
- ttrss_user_entries.feed_id = ttrss_feeds.id AND";
+ $feed_check_qpart = "ttrss_user_entries.feed_id = ttrss_feeds.id AND";
} else {
$from_qpart = "ttrss_entries,ttrss_user_entries$ext_tables_part
}
if (get_pref($link, "STRIP_IMAGES", $owner)) {
-
$res = preg_replace('/<img[^>]+>/is', '', $res);
+ }
+ if (get_pref($link, 'OPEN_LINKS_IN_NEW_WINDOW')) {
+ $res = preg_replace("/href=/i", "target=\"_blank\" href=", $res);
}
return $res;
ref_id = ttrss_entries.id AND feed_id = ttrss_feeds.id
AND include_in_digest = true
AND $interval_query
- AND hidden = false
AND ttrss_user_entries.owner_uid = $user_id
AND unread = true
ORDER BY ttrss_feeds.title, date_entered DESC
print "<li onclick=\"$archive_sel_link\"> ".__('Archive')."</li>";
} else {
print "<li onclick=\"$archive_sel_link\"> ".__('Move back')."</li>";
- }
+ print "<li onclick=\"$delete_sel_link\"> ".__('Delete')."</li>";
- print "<li onclick=\"$delete_sel_link\"> ".__('Delete')."</li>";
+ }
//print "<li><span class=\"insensitive\">--------</span></li>";
print "<li class=\"insensitive\">".__('Assign label:')."</li>";
ON
(ttrss_feeds.id = feed_id)
WHERE
- ttrss_feeds.hidden = false AND
ttrss_feeds.owner_uid = '$owner_uid' AND parent_feed IS NULL
ORDER BY $order_by_qpart";
if ($result) {
- $link_target = "";
-
- if (get_pref($link, 'OPEN_LINKS_IN_NEW_WINDOW')) {
- $link_target = "target=\"_blank\"";
- }
-
$line = db_fetch_assoc($result);
if ($line["icon_url"]) {
} else {
$comments_url = $line["link"];
}
- $entry_comments = "<a $link_target href=\"$comments_url\">$num_comments comments</a>";
+ $entry_comments = "<a target='_blank' href=\"$comments_url\">$num_comments comments</a>";
} else {
if ($line["comments"] && $line["link"] != $line["comments"]) {
- $entry_comments = "<a $link_target href=\"".$line["comments"]."\">comments</a>";
+ $entry_comments = "<a target='_blank' href=\"".$line["comments"]."\">comments</a>";
}
}
print "<div class=\"postDate$rtl_class\">$parsed_updated</div>";
if ($line["link"]) {
- print "<div clear='both'><a $link_target href=\"" . $line["link"] . "\">" .
+ print "<div clear='both'><a target='_blank' href=\"" . $line["link"] . "\">" .
$line["title"] . "</a><span class='author'>$entry_author</span></div>";
} else {
print "<div clear='both'>" . $line["title"] . "$entry_author</div>";
$article_content = sanitize_rss($link, $line["content"]);
- if (get_pref($link, 'OPEN_LINKS_IN_NEW_WINDOW')) {
- $article_content = preg_replace("/href=/i", "target=\"_blank\" href=",
- $article_content);
- }
-
print "<div id=\"POSTNOTE-$id\">";
if ($line['note']) {
print format_article_note($id, $line['note']);
} else {
print "
<div style=\"text-align : center\">
- <input type=\"submit\" onclick=\"return window.close()\"
- value=\"".__("Close this window")."\"></div>";
+ <button onclick=\"return window.close()\">".
+ __("Close this window")."</button></div>";
print "</body></html>";
}
print "</span></div>";
- if (get_pref($link, 'OPEN_LINKS_IN_NEW_WINDOW')) {
- $line["content_preview"] = preg_replace("/href=/i",
- "target=\"_blank\" href=", $line["content_preview"]);
- }
-
if ($show_excerpt) {
print "<div class=\"cdmExcerpt\" id=\"CEXC-$id\"
onclick=\"cdmExpandArticle($id)\"
WHERE id = '$id'");
}
- db_query($link, "UPDATE ttrss_user_entries SET feed_id = NULL
- WHERE feed_id = '$id' AND
+ db_query($link, "UPDATE ttrss_user_entries SET feed_id = NULL,
+ orig_feed_id = '$id' WHERE feed_id = '$id' AND
marked = true AND owner_uid = $owner_uid");
/* remove the feed */
db_query($link, "COMMIT");
- if (file_exists(ICONS_DIR . "/$id.ico")) {
+/* if (file_exists(ICONS_DIR . "/$id.ico")) {
unlink(ICONS_DIR . "/$id.ico");
- }
+ } */
ccache_remove($link, $id, $owner_uid);
return 0;
}
}
+
+ function make_url_from_parts($parts) {
+ $url = $parts['scheme'] . '://' . $parts['host'];
+
+ if ($parts['path']) $url .= $parts['path'];
+ if ($parts['query']) $url .= '?' . $parts['query'];
+
+ return $url;
+ }
+
+ function validate_feed_url($url) {
+ $parts = parse_url($url);
+
+ return ($parts['scheme'] == 'http' || $parts['scheme'] == 'feed' || $parts['scheme'] == 'https');
+
+ }
?>