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); + } +}