summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend.php56
-rw-r--r--prefs.js13
-rw-r--r--tt-rss.css4
3 files changed, 73 insertions, 0 deletions
diff --git a/backend.php b/backend.php
index 327030e32..0ee60a3f8 100644
--- a/backend.php
+++ b/backend.php
@@ -1726,6 +1726,58 @@
$subop = $_GET["subop"];
+ if ($subop == "test") {
+
+ $expr = $_GET["expr"];
+ $descr = $_GET["descr"];
+
+ print "<div class='infoBoxContents'>";
+
+ print "<h1>Label &laquo;$descr&raquo;</h1>";
+
+// print "<p><b>Expression</b>: $expr</p>";
+
+ $result = db_query($link,
+ "SELECT count(id) AS num_matches
+ FROM ttrss_entries,ttrss_user_entries
+ WHERE ($expr) AND
+ ttrss_user_entries.ref_id = ttrss_entries.id AND
+ owner_uid = " . $_SESSION["uid"]);
+
+ $num_matches = db_fetch_result($result, 0, "num_matches");;
+
+ if ($num_matches > 0) {
+
+ print "<p>Query returned <b>$num_matches</b> matches, first 5:</p>";
+
+ $result = db_query($link,
+ "SELECT title,
+ (SELECT title FROM ttrss_feeds WHERE id = feed_id) AS feed_title
+ FROM ttrss_entries,ttrss_user_entries
+ WHERE ($expr) AND
+ ttrss_user_entries.ref_id = ttrss_entries.id
+ AND owner_uid = " . $_SESSION["uid"] . "
+ ORDER BY date_entered DESC LIMIT 5");
+
+ print "<ul class=\"nomarks\">";
+ while ($line = db_fetch_assoc($result)) {
+ print "<li>".$line["title"].
+ " <span class=\"insensitive\">(".$line["feed_title"].")</span></li>";
+ }
+ print "</ul>";
+
+ } else {
+ print "<p>Query didn't return any matches.</p>";
+ }
+
+ print "</div>";
+
+ print "<div align='center'>
+ <input type='submit' class='button'
+ onclick=\"closeInfoBox()\" value=\"Close this window\"></div>";
+ return;
+ }
+
if ($subop == "editSave") {
$sql_exp = $_GET["s"];
@@ -1780,6 +1832,8 @@
owner_uid = ".$_SESSION["uid"]."
ORDER by description");
+ print "<div id=\"infoBoxShadow\"><div id=\"infoBox\">PLACEHOLDER</div></div>";
+
if (db_num_rows($result) != 0) {
print "<p><table width=\"100%\" class=\"prefLabelList\" id=\"prefLabelList\">";
@@ -1860,6 +1914,8 @@
if ($subop == "edit") {
print "Edit label:
<input type=\"submit\" class=\"button\"
+ onclick=\"javascript:labelTest()\" value=\"Test\">
+ <input type=\"submit\" class=\"button\"
onclick=\"javascript:labelEditCancel()\" value=\"Cancel\">
<input type=\"submit\" class=\"button\"
onclick=\"javascript:labelEditSave()\" value=\"Save\">";
diff --git a/prefs.js b/prefs.js
index 04b313836..c000ca19b 100644
--- a/prefs.js
+++ b/prefs.js
@@ -706,6 +706,19 @@ function feedEditSave() {
}
+function labelTest() {
+
+ var sqlexp = document.getElementById("iedit_expr").value;
+ var descr = document.getElementById("iedit_descr").value;
+
+ xmlhttp.open("GET", "backend.php?op=pref-labels&subop=test&expr=" +
+ param_escape(sqlexp) + "&descr=" + param_escape(descr), true);
+
+ xmlhttp.onreadystatechange=infobox_callback;
+ xmlhttp.send(null);
+
+}
+
function labelEditCancel() {
if (!xmlhttp_ready(xmlhttp)) {
diff --git a/tt-rss.css b/tt-rss.css
index 5e598f714..6d682a1b3 100644
--- a/tt-rss.css
+++ b/tt-rss.css
@@ -657,3 +657,7 @@ div.logoutContent {
margin-top : 20px;
padding : 10px;
}
+
+.small {
+ font-size : small;
+}