diff options
author | Andrew Dolgov <[email protected]> | 2007-08-09 13:45:30 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2007-08-09 13:45:30 +0100 |
commit | e4f4b46f9d5d42dc53c4e2c5489da31a8ce10c26 (patch) | |
tree | 9acf4c2e0310cd942969eb0ee4488c65f9d6e322 /viewfeed.js | |
parent | ffba8297eaada358f913d327816d4b7d91f3375b (diff) |
published feeds work
Diffstat (limited to 'viewfeed.js')
-rw-r--r-- | viewfeed.js | 118 |
1 files changed, 117 insertions, 1 deletions
diff --git a/viewfeed.js b/viewfeed.js index 725629747..74dad5edd 100644 --- a/viewfeed.js +++ b/viewfeed.js @@ -334,6 +334,11 @@ function tMark(id) { return toggleMark(id); } +function tPub(id) { + return togglePub(id); +} + + function toggleMark(id) { if (!xmlhttp_ready(xmlhttp_rpc)) { @@ -388,6 +393,60 @@ function toggleMark(id) { } +function togglePub(id) { + + if (!xmlhttp_ready(xmlhttp_rpc)) { + printLockingError(); + return; + } + + var query = "backend.php?op=rpc&id=" + id + "&subop=publ"; + + var mark_img = document.getElementById("FPPIC-" + id); + var vfeedu = document.getElementById("FEEDU--2"); + var crow = document.getElementById("RROW-" + id); + + if (mark_img.alt != "Unpublish") { + mark_img.src = "images/pub_set.png"; + mark_img.alt = "Unpublish"; + query = query + "&pub=1"; + + if (vfeedu && crow.className.match("Unread")) { + vfeedu.innerHTML = (+vfeedu.innerHTML) + 1; + } + + } else { + mark_img.src = "images/pub_unset.png"; + mark_img.alt = "Publish"; + query = query + "&pub=0"; + + if (vfeedu && crow.className.match("Unread")) { + vfeedu.innerHTML = (+vfeedu.innerHTML) - 1; + } + + } + + var vfeedctr = document.getElementById("FEEDCTR--2"); + var vfeedr = document.getElementById("FEEDR--2"); + + if (vfeedu && vfeedctr) { + if ((+vfeedu.innerHTML) > 0) { + if (crow.className.match("Unread") && !vfeedr.className.match("Unread")) { + vfeedr.className = vfeedr.className + "Unread"; + vfeedctr.className = "odd"; + } + } else { + vfeedctr.className = "invisible"; + vfeedr.className = vfeedr.className.replace("Unread", ""); + } + } + + debug("toggle published for aid " + id); + + new Ajax.Request(query); + +} + function correctHeadlinesOffset(id) { try { @@ -587,7 +646,7 @@ function selectionToggleMarked(cdm_mode) { for (i = 0; i < rows.length; i++) { var row = document.getElementById("RROW-" + rows[i]); - var mark_img = document.getElementById("FMARKPIC-" + rows[i]); + var mark_img = document.getElementById("FMPIC-" + rows[i]); if (row && mark_img) { @@ -622,6 +681,63 @@ function selectionToggleMarked(cdm_mode) { } } +function selectionTogglePublished(cdm_mode) { + try { + if (!xmlhttp_ready(xmlhttp_rpc)) { + printLockingError(); + return; + } + + var rows; + + if (cdm_mode) { + rows = cdmGetSelectedArticles(); + } else { + rows = getSelectedTableRowIds("headlinesList", "RROW", "RCHK"); + } + + if (rows.length == 0) { + alert(__("No articles are selected.")); + return; + } + + for (i = 0; i < rows.length; i++) { + var row = document.getElementById("RROW-" + rows[i]); + var mark_img = document.getElementById("FPPIC-" + rows[i]); + + if (row && mark_img) { + + if (mark_img.alt == "Publish") { + mark_img.src = "images/pub_set.png"; + mark_img.alt = "Unpublish"; + mark_img.setAttribute('onclick', + 'javascript:togglePub('+rows[i]+', false)'); + + } else { + mark_img.src = "images/pub_unset.png"; + mark_img.alt = "Publish"; + mark_img.setAttribute('onclick', + 'javascript:togglePub('+rows[i]+', true)'); + } + } + } + + if (rows.length > 0) { + + var query = "backend.php?op=rpc&subop=publishSelected&ids=" + + param_escape(rows.toString()) + "&cmode=2"; + + xmlhttp_rpc.open("GET", query, true); + xmlhttp_rpc.onreadystatechange=all_counters_callback; + xmlhttp_rpc.send(null); + + } + + } catch (e) { + exception_error("selectionToggleMarked", e); + } +} + function cdmGetSelectedArticles() { var sel_articles = new Array(); var container = document.getElementById("headlinesInnerContainer"); |