new feed action: clear articles

This commit is contained in:
Andrew Dolgov 2007-08-26 05:13:50 +01:00
parent bc0f078560
commit d1f0c58498
5 changed files with 55 additions and 2 deletions

View File

@ -4696,4 +4696,12 @@
return $url_path; return $url_path;
} }
function clear_feed_articles($link, $id) {
$result = db_query($link, "DELETE FROM ttrss_user_entries
WHERE feed_id = '$id' AND marked = false");
$result = db_query($link, "DELETE FROM ttrss_entries WHERE
(SELECT COUNT(int_id) FROM ttrss_user_entries WHERE ref_id = id) = 0");
}
?> ?>

View File

@ -124,8 +124,8 @@ print T_js_decl("Unstar article");
print T_js_decl("Please wait..."); print T_js_decl("Please wait...");
print T_js_decl("Publish article"); print T_js_decl("Publish article");
print T_js_decl("Unpublish article"); print T_js_decl("Unpublish article");
#print T_js_decl( print T_js_decl("You can't clear this type of feed.");
#print T_js_decl( print T_js_decl("Remove all (except starred) stored articles for %s?");
#print T_js_decl( #print T_js_decl(
#print T_js_decl( #print T_js_decl(
#print T_js_decl( #print T_js_decl(

View File

@ -451,6 +451,11 @@
} }
} }
if ($subop == "clear") {
$id = db_escape_string($_GET["id"]);
clear_feed_articles($link, $id);
}
if ($subop == "add") { if ($subop == "add") {
if (!WEB_DEMO_MODE) { if (!WEB_DEMO_MODE) {

View File

@ -461,6 +461,31 @@ function quickMenuGo(opid) {
return; return;
} }
if (opid == "qmcClearFeed") {
var actid = getActiveFeedId();
if (!actid) {
alert(__("Please select some feed first."));
return;
}
if (activeFeedIsCat() || actid < 0) {
alert(__("You can't clear this type of feed."));
return;
}
var fn = getFeedName(actid);
var pr = __("Remove all (except starred) stored articles for %s?").replace("%s", fn);
if (confirm(pr)) {
clearFeedArticles(actid);
}
return;
}
if (opid == "qmcUpdateFeeds") { if (opid == "qmcUpdateFeeds") {
scheduleFeedUpdate(true); scheduleFeedUpdate(true);
return; return;
@ -500,6 +525,20 @@ function qfdDelete(feed_id) {
return false; return false;
} }
function clearFeedArticles(feed_id) {
notify_progress("Clearing feed...");
var query = "backend.php?op=pref-feeds&quiet=1&subop=clear&id=" + feed_id;
new Ajax.Request(query, {
onComplete: function(transport) {
dlg_frefresh_callback(transport, feed_id);
} });
return false;
}
function updateFeedTitle(t) { function updateFeedTitle(t) {
active_title_text = t; active_title_text = t;

View File

@ -134,6 +134,7 @@ window.onload = init;
<option style="color : #5050aa" disabled><?php echo __('Feed actions:') ?></option> <option style="color : #5050aa" disabled><?php echo __('Feed actions:') ?></option>
<option value="qmcAddFeed"><?php echo __('&nbsp;&nbsp;Subscribe to feed') ?></option> <option value="qmcAddFeed"><?php echo __('&nbsp;&nbsp;Subscribe to feed') ?></option>
<option value="qmcEditFeed"><?php echo __('&nbsp;&nbsp;Edit this feed') ?></option> <option value="qmcEditFeed"><?php echo __('&nbsp;&nbsp;Edit this feed') ?></option>
<option value="qmcClearFeed"><?php echo __('&nbsp;&nbsp;Clear articles') ?></option>
<option value="qmcRemoveFeed"><?php echo __('&nbsp;&nbsp;Unsubscribe') ?></option> <option value="qmcRemoveFeed"><?php echo __('&nbsp;&nbsp;Unsubscribe') ?></option>
<!-- <option>Edit this feed</option> --> <!-- <option>Edit this feed</option> -->
<option disabled>--------</option> <option disabled>--------</option>