summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/pref-feeds.php37
-rw-r--r--prefs.js38
2 files changed, 54 insertions, 21 deletions
diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php
index 8668c97ce..aae7ab453 100644
--- a/modules/pref-feeds.php
+++ b/modules/pref-feeds.php
@@ -933,11 +933,30 @@
$cat_title = db_escape_string(trim($_REQUEST["value"]));
$cat_id = db_escape_string($_GET["cid"]);
-
- $result = db_query($link, "UPDATE ttrss_feed_categories SET
- title = '$cat_title' WHERE id = '$cat_id' AND owner_uid = ".$_SESSION["uid"]);
- print $_REQUEST["value"];
+ db_query($link, "BEGIN");
+
+ $result = db_query($link, "SELECT title FROM ttrss_feed_categories
+ WHERE id = '$cat_id' AND owner_uid = ".$_SESSION["uid"]);
+
+ if (db_num_rows($result) == 1) {
+
+ $old_title = db_fetch_result($result, 0, "title");
+
+ if ($cat_title != "") {
+ $result = db_query($link, "UPDATE ttrss_feed_categories SET
+ title = '$cat_title' WHERE id = '$cat_id' AND
+ owner_uid = ".$_SESSION["uid"]);
+
+ print $cat_title;
+ } else {
+ print $old_title;
+ }
+ } else {
+ print $_REQUEST["value"];
+ }
+
+ db_query($link, "COMMIT");
return;
@@ -1370,8 +1389,14 @@
<option value=\"facDefault\" selected>".__('Actions...')."</option>
<option disabled>--------</option>
<option style=\"color : #5050aa\" disabled>".__('Selection:')."</option>
- <option value=\"facEdit\">&nbsp;&nbsp;".__('Edit')."</option>
- <option value=\"facPurge\">&nbsp;&nbsp;".__('Manual purge')."</option>
+ <option value=\"facEdit\">&nbsp;&nbsp;".__('Edit')."</option>";
+
+ if (FORCE_ARTICLE_PURGE == 0) {
+ print
+ "<option value=\"facPurge\">&nbsp;&nbsp;".__('Manual purge')."</option>";
+ }
+
+ print "
<option value=\"facClear\">&nbsp;&nbsp;".__('Clear feed data')."</option>
<option value=\"facRescore\">&nbsp;&nbsp;".__('Rescore articles')."</option>
<option value=\"facUnsubscribe\">&nbsp;&nbsp;".__('Unsubscribe')."</option>";
diff --git a/prefs.js b/prefs.js
index ee5a814c6..9d46cde2b 100644
--- a/prefs.js
+++ b/prefs.js
@@ -240,24 +240,32 @@ function changepass_callback() {
}
}
-function infobox_feed_cat_callback() {
- if (xmlhttp.readyState == 4) {
- try {
-
- infobox_callback();
-
- if (document.getElementById("prefFeedCatList")) {
- var elems = document.getElementById("prefFeedCatList").getElementsByTagName("SPAN");
+function init_cat_inline_editor() {
+ try {
- 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-", "");
+ if (document.getElementById("prefFeedCatList")) {
+ var elems = document.getElementById("prefFeedCatList").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);
- }
+ 'backend.php?op=pref-feeds&subop=editCats&action=save&cid=' + cat_id);
}
}
+ }
+
+ } catch (e) {
+ exception_error("init_cat_inline_editor", e);
+ }
+}
+
+function infobox_feed_cat_callback() {
+ if (xmlhttp.readyState == 4) {
+ try {
+
+ infobox_callback();
+ init_cat_inline_editor();
} catch (e) {
exception_error("infobox_feed_cat_callback", e);
@@ -388,7 +396,7 @@ function addFeedCat() {
xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=editCats&action=add&cat=" +
param_escape(cat.value), true);
- xmlhttp.onreadystatechange=infobox_callback;
+ xmlhttp.onreadystatechange=infobox_feed_cat_callback;
xmlhttp.send(null);
link.value = "";
@@ -763,7 +771,7 @@ function removeSelectedFeedCats() {
xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=editCats&action=remove&ids="+
param_escape(sel_rows.toString()), true);
- xmlhttp.onreadystatechange=infobox_callback;
+ xmlhttp.onreadystatechange=infobox_feed_cat_callback;
xmlhttp.send(null);
}