initial mockup
This commit is contained in:
commit
1cd17194a5
4 changed files with 296 additions and 0 deletions
76
backend.php
Normal file
76
backend.php
Normal 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
80
tt-rss.css
Normal 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
103
tt-rss.js
Normal 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
37
tt-rss.php
Normal 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>
|
Loading…
Reference in a new issue