add auth support to subscribe-to-feed dialog

This commit is contained in:
Andrew Dolgov 2007-04-25 16:00:08 +01:00
parent bce7001fd1
commit f27de51531
5 changed files with 42 additions and 9 deletions

View File

@ -1252,11 +1252,18 @@ function getRelativeFeedId(list, id, direction, unread_only) {
}
}
function showBlockElement(id) {
function showBlockElement(id, h_id) {
var elem = document.getElementById(id);
if (elem) {
elem.style.display = "block";
if (h_id) {
elem = document.getElementById(h_id);
if (elem) {
elem.style.display = "none";
}
}
} else {
alert("[showBlockElement] can't find element with id " + id);
}
@ -1437,6 +1444,8 @@ function qaddFeed() {
var query = Form.serialize("feed_add_form");
debug("subscribe q: " + query);
/* xmlhttp.open("GET", "backend.php?" + query, true);
xmlhttp.onreadystatechange=dlg_frefresh_callback;
xmlhttp.send(null); */

View File

@ -2023,7 +2023,8 @@
print "</rpc-reply>";
}
function subscribe_to_feed($link, $feed_link, $cat_id = 0) {
function subscribe_to_feed($link, $feed_link, $cat_id = 0,
$auth_login = '', $auth_pass = '') {
# check for feed:http://url
$feed_link = trim(preg_replace("/^feed:/", "", $feed_link));
@ -2048,13 +2049,14 @@
if (db_num_rows($result) == 0) {
$result = db_query($link,
"INSERT INTO ttrss_feeds (owner_uid,feed_url,title,cat_id)
"INSERT INTO ttrss_feeds
(owner_uid,feed_url,title,cat_id, auth_login,auth_pass)
VALUES ('".$_SESSION["uid"]."', '$feed_link',
'[Unknown]', $cat_qpart)");
'[Unknown]', $cat_qpart, '$auth_login', '$auth_pass')");
$result = db_query($link,
"SELECT id FROM ttrss_feeds WHERE feed_url = '$feed_link'
AND owner_uid = " . $_SESSION["uid"]);
AND owner_uid = " . $_SESSION["uid"]);
$feed_id = db_fetch_result($result, 0, "id");

View File

@ -72,6 +72,19 @@
print "</div></td></tr>"; */
print "</table>";
print "<div id='fadd_login_prompt'><br/>
<a href='javascript:showBlockElement(\"fadd_login_container\",
\"fadd_login_prompt\")'>Click here if this feed requires authentication.</a></div>";
print "<div id='fadd_login_container'>
<table width='100%'>
<tr><td>Login:</td><td><input name='auth_login' class='iedit'></td></tr>
<tr><td>Password:</td><td><input type='password'
name='auth_pass' class='iedit'></td></tr>
</table>
</div>";
print "</form>";
print "<div align='right'>

View File

@ -425,9 +425,14 @@
if (!WEB_DEMO_MODE) {
$feed_url = db_escape_string(trim($_POST["feed_url"]));
$cat_id = db_escape_string($_POST["cat_id"]);
$p_from = db_escape_string($_POST["from"]);
$feed_url = db_escape_string(trim($_REQUEST["feed_url"]));
$cat_id = db_escape_string($_REQUEST["cat_id"]);
$p_from = db_escape_string($_REQUEST["from"]);
/* only read authentication information from POST */
$auth_login = db_escape_string(trim($_POST["auth_login"]));
$auth_pass = db_escape_string(trim($_POST["auth_pass"]));
if ($p_from != 'tt-rss') {
print "<html>
@ -442,7 +447,7 @@
<div class=\"content\">";
}
if (subscribe_to_feed($link, $feed_url, $cat_id)) {
if (subscribe_to_feed($link, $feed_url, $cat_id, $auth_login, $auth_pass)) {
print_notice(T_sprintf("Subscribed to <b>%s</b>.", $feed_url));
} else {
print_warning(T_sprintf("Already subscribed to <b>%s</b>.", $feed_url));

View File

@ -1502,3 +1502,7 @@ a.helpLinkPic {
a.helpLinkPic img {
border-width : 0px;
}
#fadd_login_container {
display : none;
}