summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2015-01-19 15:46:15 +0300
committerAndrew Dolgov <[email protected]>2015-01-19 15:46:15 +0300
commitf52879fed516925a1cc026401671bcb083880e13 (patch)
treef0b5104af9f9ba29f7e8d07ab127061238132824
parent7ebb2daf91e145e5e037af3b830a2a65b3edcd0d (diff)
trgm: add basic related stories dialog
-rw-r--r--css/tt-rss.css4
-rw-r--r--plugins/af_psql_trgm/init.js6
-rw-r--r--plugins/af_psql_trgm/init.php54
3 files changed, 46 insertions, 18 deletions
diff --git a/css/tt-rss.css b/css/tt-rss.css
index 3db8dc1d5..693541a7c 100644
--- a/css/tt-rss.css
+++ b/css/tt-rss.css
@@ -341,6 +341,10 @@ div.prefHelp {
color : #555;
}
+.small {
+ font-size : 11px;
+}
+
#main-toolbar > * {
white-space : nowrap;
display : table-cell;
diff --git a/plugins/af_psql_trgm/init.js b/plugins/af_psql_trgm/init.js
index 8affb72d4..621ccb746 100644
--- a/plugins/af_psql_trgm/init.js
+++ b/plugins/af_psql_trgm/init.js
@@ -3,11 +3,11 @@ function showTrgmRelated(id) {
var query = "backend.php?op=pluginhandler&plugin=af_psql_trgm&method=showrelated&param=" + param_escape(id);
- if (dijit.byId("editNoteDlg"))
- dijit.byId("editNoteDlg").destroyRecursive();
+ if (dijit.byId("trgmRelatedDlg"))
+ dijit.byId("trgmRelatedDlg").destroyRecursive();
dialog = new dijit.Dialog({
- id: "editNoteDlg",
+ id: "trgmRelatedDlg",
title: __("Related articles"),
style: "width: 600px",
execute: function() {
diff --git a/plugins/af_psql_trgm/init.php b/plugins/af_psql_trgm/init.php
index a451dce23..97187a602 100644
--- a/plugins/af_psql_trgm/init.php
+++ b/plugins/af_psql_trgm/init.php
@@ -33,11 +33,11 @@ class Af_Psql_Trgm extends Plugin {
$host->add_hook($host::HOOK_PREFS_TAB, $this);
$host->add_hook($host::HOOK_PREFS_EDIT_FEED, $this);
$host->add_hook($host::HOOK_PREFS_SAVE_FEED, $this);
- //$host->add_hook($host::HOOK_ARTICLE_BUTTON, $this);
+ $host->add_hook($host::HOOK_ARTICLE_BUTTON, $this);
}
- /* function get_js() {
+ function get_js() {
return file_get_contents(__DIR__ . "/init.js");
}
@@ -53,35 +53,59 @@ class Af_Psql_Trgm extends Plugin {
print "<h2>$title</h2>";
$title = db_escape_string($title);
- $result = db_query("SELECT id,title,updated
- FROM ttrss_entries, ttrss_user_entries
- WHERE owner_uid = $owner_uid AND
- id = ref_id AND
- id != $id AND
- date_entered >= NOW() - INTERVAL '1 day' AND
- SIMILARITY(title, '$title') >= 0.5
- LIMIT 30");
+ $result = db_query("SELECT ttrss_entries.id AS id,
+ feed_id,
+ ttrss_entries.title AS title,
+ updated, link,
+ ttrss_feeds.title AS feed_title,
+ SIMILARITY(ttrss_entries.title, '$title') AS sm
+ FROM
+ ttrss_entries, ttrss_user_entries LEFT JOIN ttrss_feeds ON (ttrss_feeds.id = feed_id)
+ WHERE
+ ttrss_entries.id = ref_id AND
+ ttrss_user_entries.owner_uid = $owner_uid AND
+ ttrss_entries.id != $id AND
+ date_entered >= NOW() - INTERVAL '1 week'
+ ORDER BY
+ sm DESC, date_entered DESC
+ LIMIT 10");
print "<ul class=\"browseFeedList\" style=\"border-width : 1px\">";
while ($line = db_fetch_assoc($result)) {
print "<li>";
- print "<div style='float : right'>" . smart_date_time($line["updated"])
+ print "<div class='insensitive small' style='margin-left : 20px; float : right'>" .
+ smart_date_time(strtotime($line["updated"]))
. "</div>";
- print $line["title"];
+
+ print "<img src='images/score_high.png' title='".sprintf("%.2f", $line['sm'])."'
+ style='vertical-align : middle'>";
+
+ $article_link = htmlspecialchars($line["link"]);
+ print " <a target=\"_blank\" href=\"$article_link\">".
+ $line["title"]."</a>";
+
+ print " (<a href=\"#\" onclick=\"viewfeed(".$line["feed_id"].")\">".
+ htmlspecialchars($line["feed_title"])."</a>)";
+
print "</li>";
}
print "</ul>";
- } */
+ print "<div style='text-align : center'>";
+ print "<button dojoType=\"dijit.form.Button\" onclick=\"dijit.byId('trgmRelatedDlg').hide()\">".__('Close this window')."</button>";
+ print "</div>";
- /* function hook_article_button($line) {
+
+ }
+
+ function hook_article_button($line) {
return "<img src=\"plugins/af_psql_trgm/button.png\"
style=\"cursor : pointer\" style=\"cursor : pointer\"
onclick=\"showTrgmRelated(".$line["id"].")\"
class='tagsPic' title='".__('Show related articles')."'>";
- } */
+ }
function hook_prefs_tab($args) {
if ($args != "prefFeeds") return;