initial prefpane work
This commit is contained in:
parent
c442fb6e28
commit
007bda3585
4 changed files with 215 additions and 0 deletions
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);
|
||||||
?>
|
?>
|
||||||
|
|
87
prefs.js
Normal file
87
prefs.js
Normal file
|
@ -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();
|
||||||
|
|
||||||
|
}
|
49
prefs.php
Normal file
49
prefs.php
Normal file
|
@ -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;
|
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 {
|
a {
|
||||||
color : black;
|
color : black;
|
||||||
text-decoration : none;
|
text-decoration : none;
|
||||||
|
@ -178,3 +196,34 @@ ul {
|
||||||
.invisible {
|
.invisible {
|
||||||
display : none;
|
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 a new issue