From 007bda3585c5ae865b370eae6ee5f4e2d3cc9cf2 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 22 Aug 2005 02:17:12 +0100 Subject: [PATCH] initial prefpane work --- backend.php | 30 ++++++++++++++++++ prefs.js | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++ prefs.php | 49 ++++++++++++++++++++++++++++++ tt-rss.css | 49 ++++++++++++++++++++++++++++++ 4 files changed, 215 insertions(+) create mode 100644 prefs.js create mode 100644 prefs.php diff --git a/backend.php b/backend.php index 76445e9c..3b9ff542 100644 --- a/backend.php +++ b/backend.php @@ -199,5 +199,35 @@ } + if ($op == "pref-feeds") { + + $result = pg_query("SELECT * FROM ttrss_feeds ORDER by title"); + print "

"; + print " + "; + + $lnum = 0; + + while ($line = pg_fetch_assoc($result)) { + + $class = ($lnum % 2) ? "even" : "odd"; + + print ""; + + print ""; + print ""; + print ""; + print ""; + print ""; + + ++$lnum; + } + + print "
SelectTitleLinkLast Updated
" . $line["title"] . "" . $line["feed_url"] . "" . $line["last_updated"] . "
"; + + } + + pg_close($link); ?> diff --git a/prefs.js b/prefs.js new file mode 100644 index 00000000..03cdd4ac --- /dev/null +++ b/prefs.js @@ -0,0 +1,87 @@ +/* + This program is Copyright (c) 2003-2005 Andrew Dolgov + Licensed under GPL v.2 or (at your preference) any later version. +*/ + +var xmlhttp = false; + +/*@cc_on @*/ +/*@if (@_jscript_version >= 5) +// JScript gives us Conditional compilation, we can cope with old IE versions. +// and security blocked creation of the objects. +try { + xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); +} catch (e) { + try { + xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (E) { + xmlhttp = false; + } +} +@end @*/ + +if (!xmlhttp && typeof XMLHttpRequest!='undefined') { + xmlhttp = new XMLHttpRequest(); +} + +function param_escape(arg) { + if (typeof encodeURIComponent != 'undefined') + return encodeURIComponent(arg); + else + return escape(arg); +} + +function param_unescape(arg) { + if (typeof decodeURIComponent != 'undefined') + return decodeURIComponent(arg); + else + return unescape(arg); +} + +function notify(msg) { + + var n = document.getElementById("notify"); + + n.innerHTML = msg; + +} + +function feedlist_callback() { + var container = document.getElementById('feeds'); + if (xmlhttp.readyState == 4) { + container.innerHTML=xmlhttp.responseText; + } +} + +function update_feeds() { + + document.getElementById("feeds").innerHTML = "Loading feeds, please wait..."; + + xmlhttp.open("GET", "backend.php?op=pref-feeds", true); + xmlhttp.onreadystatechange=feedlist_callback; + xmlhttp.send(null); + +} + +function toggleSelectRow(sender) { + var parent_row = sender.parentNode.parentNode; + + if (sender.checked) { + if (!parent_row.className.match("Selected")) { + parent_row.className = parent_row.className + "Selected"; + } + } else { + if (parent_row.className.match("Selected")) { + parent_row.className = parent_row.className.replace("Selected", ""); + } + } +} + + +function init() { + + notify("init"); + + update_feeds(); + +} diff --git a/prefs.php b/prefs.php new file mode 100644 index 00000000..9765e14e --- /dev/null +++ b/prefs.php @@ -0,0 +1,49 @@ + + + Tiny Tiny RSS + + + + + + + + + + + + + + + + + + + + +
+ Preferences +
+ Close +
+

Feed Configuration

+ + + + + +
Title:
Link:
+ Add feed
+ + + +
 
+ +
+
+ Tiny-Tiny RSS v0.1 © 2005 Andrew Dolgov +
+ + + + diff --git a/tt-rss.css b/tt-rss.css index ad021395..f779e0f1 100644 --- a/tt-rss.css +++ b/tt-rss.css @@ -5,6 +5,24 @@ body { padding : 0px; } +h1 { + font-size : 16pt; +} + +h2 { + font-size : 14pt; + font-color : bold; + border-width : 0px 0px 1px 0px; + border-style : solid; + border-color : #e0e0e0; +} + +hr { + border-width : 0px 0px 1px 0px; + border-style : dashed; + border-color : #e0e0e0; +} + a { color : black; text-decoration : none; @@ -178,3 +196,34 @@ ul { .invisible { display : none; } + +table.prefAddFeed td { + padding : 2px; +} + +table.prefAddFeed input { + width : 250px; +} + +table.prefAddFeed { + background : #f0f0f0; + border : 1px solid #c0c0c0; + padding : 10px; + -moz-border-radius : 5px; +} + +table.prefFeedList tr.title td { + font-weight : bold; + border-width : 0px 0px 1px 0px; + border-color : #f0f0f0; + border-style : solid; +} + +.evenSelected { + background-color : #c0c0c0; +} + +.oddSelected { + background-color : #c0c0c0; +} +