initial prefpane work
This commit is contained in:
parent
c442fb6e28
commit
007bda3585
30
backend.php
30
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);
|
||||
?>
|
||||
|
|
|
@ -0,0 +1,87 @@
|
|||
/*
|
||||
This program is Copyright (c) 2003-2005 Andrew Dolgov <cthulhoo@gmail.com>
|
||||
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();
|
||||
|
||||
}
|
|
@ -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>
|
49
tt-rss.css
49
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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue