quick add feed dialog uses prototype

This commit is contained in:
Andrew Dolgov 2006-05-20 15:53:41 +01:00
parent 881033015a
commit 07eb917846
4 changed files with 45 additions and 71 deletions

View File

@ -1626,14 +1626,14 @@
if (!WEB_DEMO_MODE) { if (!WEB_DEMO_MODE) {
$feed_link = db_escape_string(trim($_GET["link"])); $feed_url = db_escape_string(trim($_GET["feed_url"]));
$cat_id = db_escape_string($_GET["cid"]); $cat_id = db_escape_string($_GET["cat_id"]);
if (subscribe_to_feed($link, $feed_link, $cat_id)) { if (subscribe_to_feed($link, $feed_url, $cat_id)) {
print "Added feed."; print "Added feed.";
} else { } else {
print "<div class=\"warning\"> print "<div class=\"warning\">
Feed <b>$feed_link</b> already exists in the database. Feed <b>$feed_url</b> already exists in the database.
</div>"; </div>";
} }
} }
@ -2643,43 +2643,34 @@
print "<div id=\"infoBoxTitle\">Subscribe to feed</div>"; print "<div id=\"infoBoxTitle\">Subscribe to feed</div>";
print "<div class=\"infoBoxContents\">"; print "<div class=\"infoBoxContents\">";
print "<form id='feed_add_form'>";
print "<input type=\"hidden\" name=\"op\" value=\"pref-feeds\">";
print "<input type=\"hidden\" name=\"quiet\" value=\"1\">";
print "<input type=\"hidden\" name=\"subop\" value=\"add\">";
print "<table width='100%'> print "<table width='100%'>
<tr><td>Feed URL:</td><td> <tr><td>Feed URL:</td><td>
<input onblur=\"javascript:enableHotkeys()\" <input class=\"iedit\" onblur=\"javascript:enableHotkeys()\"
onkeyup=\"toggleSubmitNotEmpty(this, 'fadd_submit_btn')\" onkeyup=\"toggleSubmitNotEmpty(this, 'fadd_submit_btn')\"
onfocus=\"javascript:disableHotkeys()\" id=\"qafInput\"></td></tr>"; onfocus=\"javascript:disableHotkeys()\" name=\"feed_url\"></td></tr>";
if (get_pref($link, 'ENABLE_FEED_CATS')) { if (get_pref($link, 'ENABLE_FEED_CATS')) {
print "<tr><td>Category:</td><td>"; print "<tr><td>Category:</td><td>";
print_feed_cat_select($link, "cat_id");
$result = db_query($link, "SELECT title,id FROM ttrss_feed_categories
WHERE owner_uid = ".$_SESSION["uid"]."
ORDER BY title");
print "<select id=\"qafCat\">";
print "<option id=\"0\">Uncategorized</option>";
if (db_num_rows($result) != 0) {
print "<option disabled>--------</option>";
while ($line = db_fetch_assoc($result)) {
printf("<option id='%d'>%s</option>",
$line["id"], $line["title"]);
}
}
print "</select>";
print "</td></tr>"; print "</td></tr>";
} }
print "<tr><td colspan='2' align='right'> print "</table>";
print "</form>";
print "<div align='right'>
<input class=\"button\" <input class=\"button\"
id=\"fadd_submit_btn\" disabled=\"true\" id=\"fadd_submit_btn\" disabled=\"true\"
type=\"submit\" onclick=\"javascript:qafAdd()\" value=\"Subscribe\"> type=\"submit\" onclick=\"javascript:qafAdd()\" value=\"Subscribe\">
<input class=\"button\" <input class=\"button\"
type=\"submit\" onclick=\"javascript:feedEditCancel()\" type=\"submit\" onclick=\"javascript:closeInfoBox()\"
value=\"Cancel\"></td></tr></table>"; value=\"Cancel\"></div>";
} }

View File

@ -1007,3 +1007,27 @@ function toggleSubmitNotEmpty(e, submit_id) {
function isValidURL(s) { function isValidURL(s) {
return s.match("http://") != null || s.match("https://") != null; return s.match("http://") != null || s.match("https://") != null;
} }
function qafAdd() {
if (!xmlhttp_ready(xmlhttp)) {
printLockingError();
return
}
notify("Adding feed...");
closeInfoBox();
var feeds_doc = window.frames["feeds-frame"].document;
feeds_doc.location.href = "backend.php?op=error&msg=Loading,%20please wait...";
var query = Form.serialize("feed_add_form");
xmlhttp.open("GET", "backend.php?" + query, true);
xmlhttp.onreadystatechange=dlg_frefresh_callback;
xmlhttp.send(null);
}

View File

@ -254,7 +254,7 @@ function addFeed() {
} else { } else {
notify("Adding feed..."); notify("Adding feed...");
xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=add&link=" + xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=add&feed_url=" +
param_escape(link.value), true); param_escape(link.value), true);
xmlhttp.onreadystatechange=feedlist_callback; xmlhttp.onreadystatechange=feedlist_callback;
xmlhttp.send(null); xmlhttp.send(null);

View File

@ -510,47 +510,6 @@ function quickMenuGo(opid) {
} }
} }
function qafAdd() {
if (!xmlhttp_ready(xmlhttp)) {
printLockingError();
return
}
var link = document.getElementById("qafInput");
if (link.value.length == 0) {
alert("Error: No feed URL given.");
} else if (!isValidURL(link.value)) {
alert("Error: Invalid feed URL.");
} else {
notify("Adding feed...");
closeInfoBox();
var cat = document.getElementById("qafCat");
var cat_id = "";
if (cat) {
cat_id = cat[cat.selectedIndex].id;
} else {
cat_id = 0;
}
var feeds_doc = window.frames["feeds-frame"].document;
feeds_doc.location.href = "backend.php?op=error&msg=Loading,%20please wait...";
xmlhttp.open("GET", "backend.php?op=pref-feeds&quiet=1&subop=add&link=" +
param_escape(link.value) + "&cid=" + param_escape(cat_id), true);
xmlhttp.onreadystatechange=dlg_frefresh_callback;
xmlhttp.send(null);
link.value = "";
}
}
function qfdDelete(feed_id) { function qfdDelete(feed_id) {
notify("Removing feed..."); notify("Removing feed...");