1
0
mirror of https://git.tt-rss.org/git/tt-rss.git synced 2025-12-15 10:46:49 +00:00

code cleanup; remove unnecessary callbacks; rework subscribtion dialog

This commit is contained in:
Andrew Dolgov
2010-01-13 12:48:49 +03:00
parent 542aebacb7
commit a5819bb35d
9 changed files with 251 additions and 369 deletions

View File

@@ -2836,18 +2836,16 @@
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";
@@ -2857,29 +2855,29 @@
$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;
}
}
@@ -6401,4 +6399,20 @@
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');
}
?>