]> git.wh0rd.org Git - tt-rss.git/commitdiff
initial mockup
authorAndrew Dolgov <fox@bah.spb.su>
Sun, 21 Aug 2005 10:13:10 +0000 (11:13 +0100)
committerAndrew Dolgov <fox@bah.spb.su>
Sun, 21 Aug 2005 10:13:10 +0000 (11:13 +0100)
backend.php [new file with mode: 0644]
tt-rss.css [new file with mode: 0644]
tt-rss.js [new file with mode: 0644]
tt-rss.php [new file with mode: 0644]

diff --git a/backend.php b/backend.php
new file mode 100644 (file)
index 0000000..b4ec48c
--- /dev/null
@@ -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>";
+
+       }
+
+
+?>
diff --git a/tt-rss.css b/tt-rss.css
new file mode 100644 (file)
index 0000000..3f09e2b
--- /dev/null
@@ -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;
+}
diff --git a/tt-rss.js b/tt-rss.js
new file mode 100644 (file)
index 0000000..6d3a2f3
--- /dev/null
+++ b/tt-rss.js
@@ -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();
+
+}
diff --git a/tt-rss.php b/tt-rss.php
new file mode 100644 (file)
index 0000000..2abcea1
--- /dev/null
@@ -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>