$_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);
}
}
+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;
init_collapsable_feedlist(getInitParam("theme"));
- Sortable.create('feedList');
+ Sortable.create('feedList', {onChange: feedlist_dragsorted});
} catch (e) {
exception_error("feedlist/init", e);
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")) {
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(
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);
}
<option style="color : #5050aa" disabled><?php echo __('Other actions:') ?></option>
<option value="qmcAddFilter"><?php echo __(' Create filter') ?></option>
<option value="qmcResetUI"><?php echo __(' Reset UI layout') ?></option>
+ <option value="qmcResetCats"><?php echo __(' Reset category order') ?></option>
<option value="qmcHKhelp"><?php echo __(' Keyboard shortcuts') ?></option>
</select>