initial mockup

This commit is contained in:
Andrew Dolgov 2005-08-21 11:13:10 +01:00
commit 1cd17194a5
4 changed files with 296 additions and 0 deletions

76
backend.php Normal file
View file

@ -0,0 +1,76 @@
<?
header("Content-Type: application/xml");
$op = $_GET["op"];
if ($op == "feeds") {
$feeds = array("Art.Gnome.Org Releases", "Footnotes", "Freedesktop.org",
"Planet Debian", "Planet Gnome");
print "<ul>";
$lnum = 0;
foreach ($feeds as $feed) {
$class = ($lnum % 2) ? "even" : "odd";
// if ($lnum == 2 || $lnum == 0) $feed = "<b>$feed</b>";
$feed = "<a href=\"javascript:viewfeed('$feed')\">$feed</a>";
print "<li class=\"$class\">$feed</li>";
++$lnum;
}
print "</ul>";
}
if ($op == "view") {
$post = $_GET["post"];
$feed = $_GET["feed"];
print "<h1>$post</h1>";
print "<h2>$feed</h2>";
print "<p>Blah blah blah blah blah</p>";
}
if ($op == "viewfeed") {
$feed = $_GET["feed"];
$headlines = array("Linus Torvalds flies to the Moon",
"SCO bankrupt at last",
"OMG WTF ANOTHER HEADLINE",
"Another clever headline from $feed",
"I'm really not feeling creative today",
"No, seriously");
$headlines = array_merge($headlines, $headlines);
print "<ul>";
$lnum = 0;
foreach ($headlines as $hl) {
$class = ($lnum % 2) ? "even" : "odd";
// if ($lnum == 2 || $lnum == 0) $feed = "<b>$feed</b>";
$hl = "<a href=\"javascript:view('$feed','$hl')\">$hl</a>";
print "<li class=\"$class\">$hl</li>";
++$lnum;
}
print "</ul>";
}
?>

80
tt-rss.css Normal file
View file

@ -0,0 +1,80 @@
body {
background : white;
color : black;
margin : 0px;
padding : 0px;
}
a {
color : black;
text-decoration : none;
}
a:hover {
text-decoration : underline;
}
td.header {
font-size : 18pt;
background : #f0f0f0;
height : 100px;
padding-left : 80px;
font-weight : bold;
}
td.feeds {
width : 180px;
border-width : 1px 1px 0px 0px;
border-color : #c0c0c0;
border-style : solid;
padding : 10px;
}
td.headlines {
height : 25%;
padding : 10px;
border-width : 1px 0px 0px 0px;
border-color : #c0c0c0;
border-style : solid;
overflow : scroll;
}
td.content {
padding : 10px;
border-width : 1px 0px 0px 0px;
border-color : #c0c0c0;
border-style : solid;
overflow : scroll;
}
td.notify {
height : 40px;
border-width : 1px 0px 0px 0px;
border-color : #c0c0c0;
border-style : solid;
font-size : small;
text-align : center;
color : gray;
}
.even {
background-color : #f0f0f0;
}
.odd {
}
li {
list-style-type : none;
}
ul {
margin : 0px;
padding : 0px;
border : 1px solid #f0f0f0;
}

103
tt-rss.js Normal file
View file

@ -0,0 +1,103 @@
/*
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() {
if (xmlhttp.readyState == 4) {
document.getElementById('feeds').innerHTML=xmlhttp.responseText;
}
}
function viewfeed_callback() {
if (xmlhttp.readyState == 4) {
document.getElementById('headlines').innerHTML=xmlhttp.responseText;
}
}
function view_callback() {
if (xmlhttp.readyState == 4) {
document.getElementById('content').innerHTML=xmlhttp.responseText;
}
}
function update_feed_list() {
xmlhttp.open("GET", "backend.php?op=feeds", true);
xmlhttp.onreadystatechange=feedlist_callback;
xmlhttp.send(null);
}
function viewfeed(feed) {
notify("view-feed: " + feed);
xmlhttp.open("GET", "backend.php?op=viewfeed&feed=" + param_escape(feed) , true);
xmlhttp.onreadystatechange=viewfeed_callback;
xmlhttp.send(null);
}
function view(feed, post) {
notify("view: " + feed + ", " + post);
xmlhttp.open("GET", "backend.php?op=view&feed=" + param_escape(feed) +
"&post=" + post, true);
xmlhttp.onreadystatechange=view_callback;
xmlhttp.send(null);
}
function init() {
notify("init");
update_feed_list();
}

37
tt-rss.php Normal file
View file

@ -0,0 +1,37 @@
<html>
<head>
<title>Tiny Tiny RSS</title>
<link rel="stylesheet" href="tt-rss.css" type="text/css">
<script type="text/javascript" src="tt-rss.js"></script>
</head>
<body onload="init()">
<table width="100%" height="100%" cellspacing=0 cellpadding=0>
<tr>
<td class="header" valign="middle" colspan="2">
Tiny Tiny RSS
</td>
</tr>
<tr>
<td valign="top" rowspan="2" id="feeds" class="feeds">
Here be feeds
</td>
<td id="headlines" class="headlines" valign="top">
Here be headlines
</td>
</tr>
<td class="content" id="content" valign="top">
Here be content
</td>
</tr>
<tr>
<td colspan="2" id="notify" class="notify">
[Status Message Placeholder]
</td>
</td>
</table>
</body>
</html>