diff options
author | Andrew Dolgov <[email protected]> | 2005-08-22 02:17:12 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2005-08-22 02:17:12 +0100 |
commit | 007bda3585c5ae865b370eae6ee5f4e2d3cc9cf2 (patch) | |
tree | 3782bab434430f4e1cd51d50087432e2d9750a58 | |
parent | c442fb6e28620d702a8dfdab6f42630f618b6b39 (diff) |
initial prefpane work
-rw-r--r-- | backend.php | 30 | ||||
-rw-r--r-- | prefs.js | 87 | ||||
-rw-r--r-- | prefs.php | 49 | ||||
-rw-r--r-- | tt-rss.css | 49 |
4 files changed, 215 insertions, 0 deletions
diff --git a/backend.php b/backend.php index 76445e9c8..3b9ff5421 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 "<p><table width=\"100%\" class=\"prefFeedList\">"; + print "<tr class=\"title\"> + <td>Select</td><td>Title</td><td>Link</td><td>Last Updated</td></tr>"; + + $lnum = 0; + + while ($line = pg_fetch_assoc($result)) { + + $class = ($lnum % 2) ? "even" : "odd"; + + print "<tr class=\"$class\">"; + + print "<td><input onclick='toggleSelectRow(this);' + type=\"checkbox\" id=\"FROW-".$line["id"]."\"></td>"; + print "<td>" . $line["title"] . "</td>"; + print "<td>" . $line["feed_url"] . "</td>"; + print "<td>" . $line["last_updated"] . "</td>"; + print "</tr>"; + + ++$lnum; + } + + print "</table>"; + + } + + pg_close($link); ?> diff --git a/prefs.js b/prefs.js new file mode 100644 index 000000000..03cdd4acc --- /dev/null +++ b/prefs.js @@ -0,0 +1,87 @@ +/* + This program is Copyright (c) 2003-2005 Andrew Dolgov <[email protected]> + 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 000000000..9765e14e1 --- /dev/null +++ b/prefs.php @@ -0,0 +1,49 @@ +<html> +<head> + <title>Tiny Tiny RSS</title> + <link rel="stylesheet" href="tt-rss.css" type="text/css"> + <script type="text/javascript" src="prefs.js"></script> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +</head> + +<body onload="init()"> + +<table width="100%" height="100%" cellspacing=0 cellpadding=0 class="main"> +<tr> + <td class="header" valign="middle" colspan="1"> + Preferences + </td> +</tr> +<tr> + <td class="toolbar" valign="middle" colspan="1"> + <a class="button">Close</a> + </td> +</tr> +</tr> + <td class="content" id="content" valign="top"> + <h2>Feed Configuration</h2> + + <table class="prefAddFeed"> + <tr><td>Title:</td><td><input id="fadd_title"></td></tr> + <tr><td>Link:</td><td><input id="fadd_link"></td></tr> + <tr><td colspan="2" align="right"> + <a class="button" href="javascript:addFeed()">Add feed</a></td></tr> + </table> + + <!-- <input type="submit" value="Add feed"> --> + + <div id="feeds"> </div> + + <hr> + </td> +</tr> +<tr> + <td colspan="2" id="notify" class="notify"> + <a href="">Tiny-Tiny RSS</a> v0.1 © 2005 Andrew Dolgov + </td> +</td> +</table> + + +</body> +</html> diff --git a/tt-rss.css b/tt-rss.css index ad0213957..f779e0f17 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; +} + |