add action to reset category order

This commit is contained in:
Andrew Dolgov 2008-08-29 09:01:53 +01:00
parent 782ddd7014
commit 9d393c84da
6 changed files with 73 additions and 4 deletions

View file

@ -180,6 +180,31 @@
$_SESSION["uid"]);
return;
break;
case "catsortreset":
db_query($link, "UPDATE ttrss_feed_categories
SET order_id = 0 WHERE owner_uid = " . $_SESSION["uid"]);
return;
break;
case "catsort":
$corder = db_escape_string($_GET["corder"]);
$cats = split(",", $corder);
for ($i = 0; $i < count($cats); $i++) {
$cat_id = $cats[$i];
if ($cat_id > 0) {
db_query($link, "UPDATE ttrss_feed_categories
SET order_id = '$i' WHERE id = '$cat_id' AND
owner_uid = " . $_SESSION["uid"]);
}
}
return;
break;
}
outputFeedList($link, $tags);

View file

@ -316,6 +316,34 @@ function toggleCollapseCat(cat) {
}
}
function feedlist_dragsorted(ctr) {
try {
var elem = document.getElementById("feedList");
var cats = elem.getElementsByTagName("LI");
var ordered_cats = new Array();
for (var i = 0; i < cats.length; i++) {
if (cats[i].id && cats[i].id.match("FCAT-")) {
ordered_cats.push(cats[i].id.replace("FCAT-", ""));
}
}
if (ordered_cats.length > 0) {
var query = "backend.php?op=feeds&subop=catsort&corder=" +
param_escape(ordered_cats.toString());
debug(query);
new Ajax.Request(query);
}
} catch (e) {
exception_error("feedlist_init", e);
}
}
function feedlist_init() {
try {
// if (arguments.callee.done) return;
@ -354,7 +382,7 @@ function feedlist_init() {
init_collapsable_feedlist(getInitParam("theme"));
Sortable.create('feedList');
Sortable.create('feedList', {onChange: feedlist_dragsorted});
} catch (e) {
exception_error("feedlist/init", e);

View file

@ -4234,9 +4234,9 @@
if (get_pref($link, 'ENABLE_FEED_CATS')) {
if (get_pref($link, "FEEDS_SORT_BY_UNREAD")) {
$order_by_qpart = "category,unread DESC,title";
$order_by_qpart = "order_id,category,unread DESC,title";
} else {
$order_by_qpart = "category,title";
$order_by_qpart = "order_id,category,title";
}
} else {
if (get_pref($link, "FEEDS_SORT_BY_UNREAD")) {

View file

@ -138,7 +138,7 @@ print T_js_decl("Rescoring feeds...");
print T_js_decl("You can't rescore this kind of feed.");
print T_js_decl("Rescore articles in %s?");
print T_js_decl("Rescoring articles...");
#print T_js_decl(
print T_js_decl("Reset category order?");
#print T_js_decl(
#print T_js_decl(
#print T_js_decl(

View file

@ -601,6 +601,21 @@ function quickMenuGo(opid) {
resize_headlines();
}
if (opid == "qmcResetCats") {
if (confirm(__("Reset category order?"))) {
var query = "backend.php?op=feeds&subop=catsortreset";
notify_progress("Loading, please wait...", true);
new Ajax.Request(query, {
onComplete: function(transport) {
window.setTimeout('updateFeedList(false, false)', 50);
} });
}
}
} catch (e) {
exception_error("quickMenuGo", e);
}

View file

@ -157,6 +157,7 @@ window.onload = init;
<option style="color : #5050aa" disabled><?php echo __('Other actions:') ?></option>
<option value="qmcAddFilter"><?php echo __('&nbsp;&nbsp;Create filter') ?></option>
<option value="qmcResetUI"><?php echo __('&nbsp;&nbsp;Reset UI layout') ?></option>
<option value="qmcResetCats"><?php echo __('&nbsp;&nbsp;Reset category order') ?></option>
<option value="qmcHKhelp"><?php echo __('&nbsp;&nbsp;Keyboard shortcuts') ?></option>
</select>