}
+ if ($subop == "categorizeDlg") {
+ $action = $_REQUEST["action"];
+
+ print "<div id=\"infoBoxTitle\">".__('Category editor')."</div>";
+
+ print "<div class=\"infoBoxContents\">";
+
+ $result = db_query($link, "SELECT title,id FROM ttrss_feed_categories
+ WHERE owner_uid = ".$_SESSION["uid"]."
+ ORDER BY title");
+
+ if (db_num_rows($result) != 0) {
+
+ print "<ul class=\"nomarks\" id=\"prefFeedCatList2\">";
+
+ $lnum = 0;
+
+ while ($line = db_fetch_assoc($result)) {
+
+ $class = ($lnum % 2) ? "even" : "odd";
+
+ $cat_id = $line["id"];
+
+ print "<li id='FCATR-$cat_id'>";
+
+ $edit_title = htmlspecialchars($line["title"]);
+
+ print "<span id=\"FCATT-$cat_id\">" .
+ $edit_title . "</span>";
+
+ $tmp_result = db_query($link, "SELECT id, title FROM ttrss_feeds WHERE owner_uid = ".
+ $_SESSION["uid"]. " AND cat_id = $cat_id ORDER BY title");
+
+ print "<ul id=\"FCNTR-$cat_id\" class=\"nomarks\">";
+
+ while ($tmp_line = db_fetch_assoc($tmp_result)) {
+ print "<li class=\"feedEntry\" id=\"FCFID-".$tmp_line["id"]."\">" . $tmp_line["title"] . "</li>";
+
+ }
+
+ print "</ul>";
+
+ print "</li>";
+
+ ++$lnum;
+ }
+
+ print "</ul>";
+
+
+ print "<input type=\"submit\" class=\"button\"
+ onclick=\"return closeInfoBox()\" value=\"".__('Close this window')."\">";
+
+ print "</div>";
+ }
+
+ return;
+ }
+
if ($subop == "editCats") {
$action = $_REQUEST["action"];
print " <input type=\"submit\" class=\"button\" disabled=\"true\"
onclick=\"javascript:categorizeSelectedFeeds()\" value=\"".
__('Recategorize')."\">";
+
+/* print " <input type=\"submit\" class=\"button\"
+ onclick=\"javascript:recategorizeFeeds()\" value=\"".
+ __('Recategorize')."\">"; */
+
}
print "</span>";
}
}
+function recat_onChange(elem) {
+ debug(elem);
+
+}
+
+function recat_onUpdate(ctr) {
+ debug(ctr);
+
+}
+
+function infobox_recategorize_callback() {
+ if (xmlhttp.readyState == 4) {
+ try {
+
+ infobox_callback();
+
+ var ctr = document.getElementById("prefFeedCatList2");
+
+ if (ctr) {
+ var elems = ctr.getElementsByTagName("SPAN");
+
+ for (var i = 0; i < elems.length; i++) {
+ if (elems[i].id && elems[i].id.match("FCATT-")) {
+ var cat_id = elems[i].id.replace("FCATT-", "");
+
+ new Ajax.InPlaceEditor(elems[i],
+ 'backend.php?op=pref-feeds&subop=editCats&action=save&cid=' + cat_id);
+ }
+ }
+
+ elems = ctr.getElementsByTagName("UL");
+
+ ctrs = new Array();
+ ctr_ids = new Array();
+
+ for (var i = 0; i < elems.length; i++) {
+ if (elems[i].id.match("FCNTR-")) {
+ ctrs.push(elems[i]);
+ ctr_ids.push(elems[i].id);
+ }
+ }
+
+ Position.includeScrollOffsets = true;
+
+ for (var i = 0; i < ctrs.length; i++) {
+ Sortable.create(elems[i], { scroll: ctr, ghosting: false,
+ containment: ctrs, dropOnEmpty: true, onChange: recat_onChange, onUpdate: recat_onUpdate });
+ }
+
+ }
+
+ } catch (e) {
+ exception_error("infobox_recategorize_callback", e);
+ }
+ }
+}
+
function updateFeedList(sort_key) {
if (!xmlhttp_ready(xmlhttp)) {
xmlhttp.send(null);
}
+function recategorizeFeeds() {
+ if (!xmlhttp_ready(xmlhttp)) {
+ printLockingError();
+ return
+ }
+
+ document.getElementById("subscribe_to_feed_btn").disabled = true;
+
+ try {
+ document.getElementById("top25_feeds_btn").disabled = true;
+ } catch (e) {
+ // this button is not always available, no-op if not found
+ }
+
+ xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=categorizeDlg", true);
+ xmlhttp.onreadystatechange=infobox_recategorize_callback;
+ xmlhttp.send(null);
+}
+
function showFeedsWithErrors() {
displayDlg('feedUpdateErrors');
}