add feed editor button to reset pubsub subscription state

This commit is contained in:
Andrew Dolgov 2011-04-02 14:39:46 +04:00
parent 7b8931889b
commit 5de271146b
2 changed files with 47 additions and 3 deletions

View File

@ -1015,6 +1015,27 @@ function quickAddFilter() {
} }
} }
function resetPubSub(feed_id, title) {
var msg = __("Reset subscription? Tiny Tiny RSS will try to subscribe to the notification hub again on next feed update.").replace("%s", title);
if (title == undefined || confirm(msg)) {
notify_progress("Loading, please wait...");
var query = "?op=pref-feeds&quiet=1&subop=resetPubSub&ids=" + feed_id;
new Ajax.Request("backend.php", {
parameters: query,
onComplete: function(transport) {
dijit.byId("pubsubReset_Btn").attr('disabled', true);
notify_info("Subscription reset.");
} });
}
return false;
}
function unsubscribeFeed(feed_id, title) { function unsubscribeFeed(feed_id, title) {
var msg = __("Unsubscribe from %s?").replace("%s", title); var msg = __("Unsubscribe from %s?").replace("%s", title);

View File

@ -505,9 +505,22 @@
print "<div class='dlgButtons'> print "<div class='dlgButtons'>
<div style=\"float : left\"> <div style=\"float : left\">
<button dojoType=\"dijit.form.Button\" onclick='return unsubscribeFeed($feed_id, \"$title\")'>". <button dojoType=\"dijit.form.Button\" onclick='return unsubscribeFeed($feed_id, \"$title\")'>".
__('Unsubscribe')."</button> __('Unsubscribe')."</button>";
</div>
<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('feedEditDlg').execute()\">".__('Save')."</button> $pubsub_state = db_fetch_result($result, 0, "pubsub_state");
$pubsub_btn_disabled = ($pubsub_state == 2) ? "" : "disabled=\"1\"";
print "<button dojoType=\"dijit.form.Button\" id=\"pubsubReset_Btn\" $pubsub_btn_disabled
onclick='return resetPubSub($feed_id, \"$title\")'>".__('Resubscribe to push updates').
"</button>";
print "</div>";
print "<div dojoType=\"dijit.Tooltip\" connectId=\"pubsubReset_Btn\" position=\"below\">".
__('Resets PubSubHubbub subscription status for push-enabled feeds.')."</div>";
print "<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('feedEditDlg').execute()\">".__('Save')."</button>
<button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('feedEditDlg').hide()\">".__('Cancel')."</button> <button dojoType=\"dijit.form.Button\" onclick=\"return dijit.byId('feedEditDlg').hide()\">".__('Cancel')."</button>
</div>"; </div>";
@ -828,6 +841,16 @@
return; return;
} }
if ($subop == "resetPubSub") {
$ids = db_escape_string($_REQUEST["ids"]);
db_query($link, "UPDATE ttrss_feeds SET pubsub_state = 0 WHERE id IN ($ids)
AND owner_uid = " . $_SESSION["uid"]);
return;
}
if ($subop == "remove") { if ($subop == "remove") {
$ids = split(",", db_escape_string($_REQUEST["ids"])); $ids = split(",", db_escape_string($_REQUEST["ids"]));