diff --git a/classes/feeds.php b/classes/feeds.php
index ed33b30c0..1926d0c39 100644
--- a/classes/feeds.php
+++ b/classes/feeds.php
@@ -395,7 +395,7 @@ class Feeds extends Handler_Protected {
$score_pic = ""; */
- $score_pic = "";
if ($score > 500) {
diff --git a/classes/rpc.php b/classes/rpc.php
index 35de3362a..88c6f1ddc 100644
--- a/classes/rpc.php
+++ b/classes/rpc.php
@@ -763,5 +763,16 @@ class RPC extends Handler_Protected {
}
}
+ function setScore() {
+ $id = db_escape_string($_REQUEST['id']);
+ $score = (int)db_escape_string($_REQUEST['score']);
+
+ db_query($this->link, "UPDATE ttrss_user_entries SET
+ score = '$score' WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]);
+
+ print json_encode(array("id" => $id,
+ "score_pic" => theme_image($link, get_score_pic($score))));
+ }
+
}
?>
diff --git a/js/viewfeed.js b/js/viewfeed.js
index 86e0076c1..cbb10c3f1 100644
--- a/js/viewfeed.js
+++ b/js/viewfeed.js
@@ -2137,3 +2137,30 @@ function cancelSearch() {
exception_error("cancelSearch", e);
}
}
+
+function changeScore(id, pic) {
+ try {
+ var score = pic.getAttribute("score");
+
+ var new_score = prompt(__("Please enter new score for this article:"), score);
+
+ if (new_score != undefined) {
+
+ var query = "op=rpc&method=setScore&id=" + param_escape(id) +
+ "&score=" + param_escape(new_score);
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function(transport) {
+ var reply = JSON.parse(transport.responseText);
+
+ if (reply) {
+ pic.src = pic.src.replace(/score_.*?\.png/, reply["score_pic"]);
+ pic.setAttribute("score", new_score);
+ }
+ } });
+ }
+ } catch (e) {
+ exception_error("changeScore", e);
+ }
+}