From 168e32b946731d57961b0774380bd5e979272c7f Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 18 Jun 2015 18:30:05 +0300 Subject: [PATCH] add basic classifier information window --- plugins/af_sort_bayes/init.js | 22 +++++++++++++ plugins/af_sort_bayes/init.php | 60 +++++++++++++++++++++++++++++++++- 2 files changed, 81 insertions(+), 1 deletion(-) diff --git a/plugins/af_sort_bayes/init.js b/plugins/af_sort_bayes/init.js index 461cdc7f3..bb6bf5954 100644 --- a/plugins/af_sort_bayes/init.js +++ b/plugins/af_sort_bayes/init.js @@ -57,3 +57,25 @@ function bayesUpdateUI() { exception_error("showTrgmRelated", e); } } + +function bayesShow(id) { + try { + if (dijit.byId("bayesShowDlg")) + dijit.byId("bayesShowDlg").destroyRecursive(); + + var query = "backend.php?op=pluginhandler&plugin=af_sort_bayes&method=showArticleStats&article_id=" + param_escape(id); + + dialog = new dijit.Dialog({ + id: "bayesShowDlg", + title: __("Classifier information"), + style: "width: 600px", + href: query}); + + dialog.show(); + + } catch (e) { + exception_error("shareArticle", e); + } +} + + diff --git a/plugins/af_sort_bayes/init.php b/plugins/af_sort_bayes/init.php index 51294b46e..2293ea490 100644 --- a/plugins/af_sort_bayes/init.php +++ b/plugins/af_sort_bayes/init.php @@ -122,7 +122,11 @@ class Af_Sort_Bayes extends Plugin { ""; + class='tagsPic' title='".__('-1')."'>" . + ""; } @@ -345,6 +349,60 @@ class Af_Sort_Bayes extends Plugin { $nb->updateProbabilities(); } + function showArticleStats() { + $article_id = (int) $_REQUEST["article_id"]; + + $result = $this->dbh->query("SELECT score, guid, title, content FROM ttrss_entries, ttrss_user_entries WHERE ref_id = id AND id = " . + $article_id . " AND owner_uid = " . $_SESSION["uid"]); + + if ($this->dbh->num_rows($result) != 0) { + $guid = $this->dbh->fetch_result($result, 0, "guid"); + $title = $this->dbh->fetch_result($result, 0, "title"); + $content = mb_strtolower($title . " " . strip_tags($this->dbh->fetch_result($result, 0, "content"))); + + print "

" . $title . "

"; + + $nbs = new NaiveBayesianStorage($_SESSION["uid"]); + $nb = new NaiveBayesian($nbs); + + $categories = $nbs->getCategories(); + + $ref = $nbs->getReference($guid, false); + + $current_cat = isset($ref["category_id"]) ? $categories[$ref["category_id"]]["category"] : "N/A"; + + print "

" . T_sprintf("Currently stored as: %s", $current_cat) . "

"; + + $result = $nb->categorize($content); + + print "

" . __("Classifier result") . "

"; + + print ""; + print ""; + + foreach ($result as $k => $v) { + print ""; + print ""; + print ""; + + print ""; + } + + print "
CategoryProbability
" . $categories[$k]["category"] . "" . $v . "
"; + + } else { + print_error("Article not found"); + } + + print "
"; + + print ""; + + print "
"; + + } + function api_version() { return 2; }