diff options
author | Andrew Dolgov <[email protected]> | 2007-04-25 16:00:08 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2007-04-25 16:00:08 +0100 |
commit | f27de5153111f07ecfa6204baa2b77c93b48a09d (patch) | |
tree | a6e606e9458ef6c5915fb060c153beebc02c27d3 | |
parent | bce7001fd1f1c2f105e7ebe9d1b533cf553bb3c5 (diff) |
add auth support to subscribe-to-feed dialog
-rw-r--r-- | functions.js | 11 | ||||
-rw-r--r-- | functions.php | 10 | ||||
-rw-r--r-- | modules/popup-dialog.php | 13 | ||||
-rw-r--r-- | modules/pref-feeds.php | 13 | ||||
-rw-r--r-- | tt-rss.css | 4 |
5 files changed, 42 insertions, 9 deletions
diff --git a/functions.js b/functions.js index 7fe79c9a8..b26f75fd8 100644 --- a/functions.js +++ b/functions.js @@ -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); */ diff --git a/functions.php b/functions.php index 4044639a5..dee0d08c3 100644 --- a/functions.php +++ b/functions.php @@ -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"); diff --git a/modules/popup-dialog.php b/modules/popup-dialog.php index b69d36e2f..7eab1bae7 100644 --- a/modules/popup-dialog.php +++ b/modules/popup-dialog.php @@ -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'> diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php index 61fc2167c..c11ce2aa3 100644 --- a/modules/pref-feeds.php +++ b/modules/pref-feeds.php @@ -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)); diff --git a/tt-rss.css b/tt-rss.css index 94a99b304..0162638ba 100644 --- a/tt-rss.css +++ b/tt-rss.css @@ -1502,3 +1502,7 @@ a.helpLinkPic { a.helpLinkPic img { border-width : 0px; } + +#fadd_login_container { + display : none; +} |