big interface overhaul, new logo
This commit is contained in:
parent
94f6fd94e5
commit
e828e31e83
14 changed files with 450 additions and 355 deletions
127
backend.php
127
backend.php
|
@ -40,7 +40,9 @@
|
|||
|
||||
$actid = $_GET["actid"];
|
||||
|
||||
print "<table width=\"100%\" class=\"feedsList\" id=\"feedsList\">";
|
||||
// print "<table width=\"100%\" class=\"feedsList\" id=\"feedsList\">";
|
||||
|
||||
print "<ul class=\"feedList\" id=\"feedList\">";
|
||||
|
||||
$lnum = 0;
|
||||
|
||||
|
@ -56,7 +58,9 @@
|
|||
$total = $line["total"];
|
||||
$unread = $line["unread"];
|
||||
|
||||
$class = ($lnum % 2) ? "even" : "odd";
|
||||
// $class = ($lnum % 2) ? "even" : "odd";
|
||||
|
||||
$class = "odd";
|
||||
|
||||
if ($unread > 0) $class .= "Unread";
|
||||
|
||||
|
@ -66,17 +70,16 @@
|
|||
|
||||
$total_unread += $unread;
|
||||
|
||||
print "<tr class=\"$class\" id=\"FEEDR-$feed_id\">";
|
||||
// print "<tr class=\"$class\" id=\"FEEDR-$feed_id\">";
|
||||
|
||||
$icon_file = ICONS_DIR . "/$feed_id.ico";
|
||||
|
||||
if ($subop != "piggie") {
|
||||
|
||||
if (file_exists($icon_file) && filesize($icon_file) > 0) {
|
||||
$feed_icon = "<img width=\"16\" height=\"16\"
|
||||
src=\"" . ICONS_URL . "/$feed_id.ico\">";
|
||||
$feed_icon = "<img src=\"" . ICONS_URL . "/$feed_id.ico\">";
|
||||
} else {
|
||||
$feed_icon = " ";
|
||||
$feed_icon = "<img src=\"images/blank_icon.png\">";
|
||||
}
|
||||
} else {
|
||||
$feed_icon = "<img width=\"16\" height=\"16\"
|
||||
|
@ -84,43 +87,40 @@
|
|||
}
|
||||
|
||||
$feed = "<a href=\"javascript:viewfeed($feed_id, 0);\">$feed</a>";
|
||||
if (ENABLE_FEED_ICONS) {
|
||||
|
||||
/* if (ENABLE_FEED_ICONS) {
|
||||
print "<td>$feed_icon</td>";
|
||||
}
|
||||
|
||||
print "<td id=\"FEEDN-$feed_id\">$feed</td>";
|
||||
print "<td>";
|
||||
print "<span id=\"FEEDU-$feed_id\">$unread</span> / ";
|
||||
print "<span id=\"FEEDT-$feed_id\">$total</span>";
|
||||
print "</td>";
|
||||
|
||||
print "</tr>";
|
||||
print "</tr>"; */
|
||||
|
||||
print "<li id=\"FEEDR-$feed_id\" class=\"$class\">";
|
||||
if (ENABLE_FEED_ICONS) {
|
||||
print "$feed_icon";
|
||||
}
|
||||
print "<span id=\"FEEDN-$feed_id\">$feed</span>";
|
||||
|
||||
if ($unread > 0) {
|
||||
print "<span id=\"FEEDCTR-$feed_id\">
|
||||
(<span id=\"FEEDU-$feed_id\">$unread</span>)</span>";
|
||||
}
|
||||
|
||||
print "</li>";
|
||||
|
||||
++$lnum;
|
||||
}
|
||||
|
||||
// print "<tr><td class=\"footer\" colspan=\"3\">
|
||||
// <a href=\"javascript:update_feed_list(false,true)\">Update all feeds</a></td></tr>";
|
||||
|
||||
// print "<tr><td class=\"footer\" colspan=\"2\"> ";
|
||||
// print "</td></tr>";
|
||||
|
||||
print "</table>";
|
||||
|
||||
print "<div class=\"invisible\" id=\"FEEDTU\">$total_unread</div>";
|
||||
print "<div class=\"invisible\" id=\"ACTFEEDID\">$actid</div>";
|
||||
|
||||
/*
|
||||
print "<p align=\"center\">All feeds:
|
||||
<a class=\"button\"
|
||||
href=\"javascript:scheduleFeedUpdate(true)\">Update</a>";
|
||||
|
||||
print " <a class=\"button\"
|
||||
href=\"javascript:catchupAllFeeds()\">Mark as read</a></p>";
|
||||
|
||||
print "<div class=\"invisible\" id=\"FEEDTU\">$total_unread</div>";
|
||||
*/
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -226,7 +226,23 @@
|
|||
$feed_icon = " ";
|
||||
}
|
||||
|
||||
print "<table class=\"postTable\" width=\"100%\" cellspacing=\"0\"
|
||||
print "<div class=\"postReply\">";
|
||||
|
||||
print "<div class=\"postHeader\"><table>";
|
||||
|
||||
print "<tr><td><b>Title:</b></td>
|
||||
<td width='100%'>" . $line["title"] . "</td></tr>";
|
||||
print "<tr><td><b>Link:</b></td>
|
||||
<td width='100%'>" . $line["link"] . "</td></tr>";
|
||||
|
||||
print "</table></div>";
|
||||
|
||||
print "<div class=\"postIcon\">" . $feed_icon . "</div>";
|
||||
print "<div class=\"postContent\">" . $line["content"] . "</div>";
|
||||
|
||||
print "</div>";
|
||||
|
||||
/* print "<table class=\"postTable\" width=\"100%\" cellspacing=\"0\"
|
||||
cellpadding=\"0\">";
|
||||
|
||||
print "<tr class=\"titleTop\"><td align=\"right\"><b>Title:</b></td>
|
||||
|
@ -244,7 +260,7 @@
|
|||
colspan=\"2\" width=\"100%\">" . $line["content"] . "</td>
|
||||
<td valign=\"top\">$feed_icon</td>
|
||||
</tr>";
|
||||
print "</table>";
|
||||
print "</table>"; */
|
||||
|
||||
}
|
||||
|
||||
|
@ -629,26 +645,30 @@
|
|||
|
||||
if ($subop == "edit") {
|
||||
print "Edit feed:
|
||||
<a class=\"button\" href=\"javascript:feedEditCancel()\">Cancel</a>
|
||||
<a class=\"button\" href=\"javascript:feedEditSave()\">Save</a>";
|
||||
<input type=\"submit\" class=\"button\"
|
||||
onclick=\"javascript:feedEditCancel()\" value=\"Cancel\">
|
||||
<input type=\"submit\" class=\"button\"
|
||||
onclickf=\"javascript:feedEditSave()\" value=\"Save\">";
|
||||
} else {
|
||||
|
||||
print "
|
||||
Selection:
|
||||
<a class=\"button\"
|
||||
href=\"javascript:editSelectedFeed()\">Edit</a>
|
||||
<a class=\"buttonWarn\"
|
||||
href=\"javascript:removeSelectedFeeds()\">Remove</a> ";
|
||||
<input type=\"submit\" class=\"button\"
|
||||
onclick=\"javascript:editSelectedFeed()\" value=\"Edit\">
|
||||
<input type=\"submit\" class=\"button\"
|
||||
onclick=\"javascript:removeSelectedFeeds()\" value=\"Remove\">";
|
||||
|
||||
if (ENABLE_PREFS_CATCHUP_UNCATCHUP) {
|
||||
print "
|
||||
<a class=\"button\"
|
||||
href=\"javascript:readSelectedFeeds()\">Mark as read</a>
|
||||
<a class=\"button\"
|
||||
href=\"javascript:unreadSelectedFeeds()\">Mark as unread</a> ";
|
||||
<input type=\"submit\" class=\"button\"
|
||||
onclick=\"javascript:readSelectedFeeds()\" value=\"Mark as read\">
|
||||
<input type=\"submit\" class=\"button\"
|
||||
onclick=\"javascript:unreadSelectedFeeds()\" value=\"Mark as unread\"> ";
|
||||
}
|
||||
print "
|
||||
All feeds:
|
||||
<a class=\"button\" href=\"opml.php?op=Export\">Export OPML</a>";
|
||||
All feeds:
|
||||
<input type=\"submit\"
|
||||
class=\"button\" onclick=\"opml.php?op=Export\" value=\"Export OPML\">";
|
||||
|
||||
}
|
||||
|
||||
|
@ -808,20 +828,29 @@
|
|||
print "<p>";
|
||||
|
||||
if ($subop == "edit") {
|
||||
print "Edit feed:
|
||||
<a class=\"button\" href=\"javascript:filterEditCancel()\">Cancel</a>
|
||||
<a class=\"button\" href=\"javascript:filterEditSave()\">Save</a>";
|
||||
print "Edit feed:
|
||||
<input type=\"submit\" class=\"button\"
|
||||
onclick=\"javascript:filterEditCancel()\" value=\"Cancel\">
|
||||
<input type=\"submit\" class=\"button\"
|
||||
onclick=\"javascript:filterEditSave()\" value=\"Save\">";
|
||||
|
||||
} else {
|
||||
|
||||
print "
|
||||
Selection:
|
||||
<a class=\"button\"
|
||||
href=\"javascript:editSelectedFilter()\">Edit</a>
|
||||
<a class=\"buttonWarn\"
|
||||
href=\"javascript:removeSelectedFilters()\">Remove</a> ";
|
||||
Selection:
|
||||
<input type=\"submit\" class=\"button\"
|
||||
onclick=\"javascript:editSelectedFilter()\" value=\"Edit\">
|
||||
<input type=\"submit\" class=\"button\"
|
||||
onclick=\"javascript:removeSelectedFilters()\" value=\"Remove\">";
|
||||
}
|
||||
}
|
||||
|
||||
if ($op == "error") {
|
||||
print "<div width=\"100%\" align='center'>";
|
||||
$msg = $_GET["msg"];
|
||||
print $msg;
|
||||
print "</div>";
|
||||
}
|
||||
|
||||
pg_close($link);
|
||||
?>
|
||||
|
|
|
@ -74,11 +74,12 @@ function viewfeed(feed, skip, subop, doc) {
|
|||
|
||||
headlines_frame.location.href = query + "&addheader=true";
|
||||
|
||||
cleanSelected("feedsList");
|
||||
cleanSelectedList("feedList");
|
||||
|
||||
var feedr = document.getElementById("FEEDR-" + feed);
|
||||
if (feedr) {
|
||||
feedr.className = feedr.className + "Selected";
|
||||
}
|
||||
}
|
||||
|
||||
disableContainerChildren("headlinesToolbar", false, doc);
|
||||
|
||||
|
|
20
functions.js
20
functions.js
|
@ -124,10 +124,18 @@ function hotkey_handler(e) {
|
|||
|
||||
}
|
||||
|
||||
function cleanSelected(element) {
|
||||
function cleanSelectedList(element) {
|
||||
var content = document.getElementById(element);
|
||||
|
||||
var rows = new Array();
|
||||
for (i = 0; i < content.childNodes.length; i++) {
|
||||
content.childNodes[i].className = content.childNodes[i].className.replace("Selected", "");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
function cleanSelected(element) {
|
||||
var content = document.getElementById(element);
|
||||
|
||||
for (i = 0; i < content.rows.length; i++) {
|
||||
content.rows[i].className = content.rows[i].className.replace("Selected", "");
|
||||
|
@ -247,4 +255,12 @@ function disableContainerChildren(id, disable, doc) {
|
|||
|
||||
}
|
||||
|
||||
function gotoPreferences() {
|
||||
document.location.href = "prefs.php";
|
||||
}
|
||||
|
||||
function gotoMain() {
|
||||
document.location.href = "tt-rss.php";
|
||||
}
|
||||
|
||||
|
||||
|
|
BIN
images/blank_icon.png
Normal file
BIN
images/blank_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 156 B |
BIN
images/ttrss_logo.png
Normal file
BIN
images/ttrss_logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9 KiB |
90
images/ttrss_logo.svg
Normal file
90
images/ttrss_logo.svg
Normal file
|
@ -0,0 +1,90 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://web.resource.org/cc/"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="155.00000pt"
|
||||
height="25.000000pt"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.42"
|
||||
sodipodi:docbase="/home/fox"
|
||||
sodipodi:docname="ttrss_logo.svg"
|
||||
inkscape:export-filename="/home/fox/ttrss_logo.png"
|
||||
inkscape:export-xdpi="150.00000"
|
||||
inkscape:export-ydpi="150.00000">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
id="linearGradient2800">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1.0000000;"
|
||||
offset="0.0000000"
|
||||
id="stop2802" />
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop2804" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient2782">
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop2784" />
|
||||
<stop
|
||||
style="stop-color:#000000;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop2786" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="5.6000000"
|
||||
inkscape:cx="109.86875"
|
||||
inkscape:cy="46.667736"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="1131"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:28.000000px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;fill-opacity:0.037500001;stroke:#b3b3b3;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000;font-family:Verdana;opacity:1.0000000;fill:#000000"
|
||||
x="3.750001"
|
||||
y="23.750002"
|
||||
id="text1306"
|
||||
sodipodi:linespacing="125.00000%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1308"
|
||||
x="3.7500010"
|
||||
y="23.750002"
|
||||
style="fill-opacity:0.037500001;fill:#000000">tiny tiny rss</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.9 KiB |
BIN
images/vgrad_light.png
Normal file
BIN
images/vgrad_light.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 386 B |
BIN
images/vgrad_light_rev.png
Normal file
BIN
images/vgrad_light_rev.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
BIN
images/vgrad_light_rev2.png
Normal file
BIN
images/vgrad_light_rev2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 394 B |
33
prefs.php
33
prefs.php
|
@ -1,6 +1,6 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Tiny Tiny RSS</title>
|
||||
<title>Tiny Tiny RSS : Preferences</title>
|
||||
<link rel="stylesheet" href="tt-rss.css" type="text/css">
|
||||
<script type="text/javascript" src="functions.js"></script>
|
||||
<script type="text/javascript" src="prefs.js"></script>
|
||||
|
@ -12,26 +12,25 @@
|
|||
<? require_once "version.php" ?>
|
||||
<? require_once "config.php" ?>
|
||||
|
||||
<table width="100%" height="100%" cellspacing=0 cellpadding=0 class="main">
|
||||
<table width="100%" height="100%" cellspacing="0" cellpadding="0" class="main">
|
||||
<tr>
|
||||
<td class="header" valign="middle" colspan="2">
|
||||
Preferences
|
||||
<td class="header" valign="middle">
|
||||
<img src="images/ttrss_logo.png" alt="logo">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="toolbar" valign="middle">
|
||||
<table id="notify"><tr><td width="100%" id="notify_body"> </td>
|
||||
<td><img onclick="javascript:notify('')" alt="Close"
|
||||
src="images/close.png"></td></table>
|
||||
</td>
|
||||
<td class="toolbar" valign="middle" colspan="2" align="right">
|
||||
<a href="tt-rss.php" class="button">Return to main</a>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<td id="prefContent" class="prefContent" valign="top" colspan="2">
|
||||
<h2>Feed Configuration</h2><div id="piggie"> </div>
|
||||
<td class="mainToolbar" valign="middle">
|
||||
|
||||
<table width='100%' cellspacing='0' cellpadding='0'>
|
||||
<td><span id="notify"><span id="notify_body"></span></td>
|
||||
<td align='right'>
|
||||
<input type="submit" onclick="gotoMain()"
|
||||
class="button" value="Return to main"></td>
|
||||
</table>
|
||||
</tr>
|
||||
</tr>
|
||||
<td id="prefContent" class="prefContent" valign="top">
|
||||
<h2>Feed Configuration</h2><div id="piggie"> </div>
|
||||
|
||||
<div class="expPane" id="feedConfPane">
|
||||
<a class="button"
|
||||
|
@ -61,7 +60,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="notify">
|
||||
<td class="footer">
|
||||
<a href="http://bah.spb.su/~fox/tt-rss/">Tiny-Tiny RSS</a> v<?= VERSION ?> © 2005 Andrew Dolgov
|
||||
<? if (WEB_DEMO_MODE) { ?>
|
||||
<br>Running in demo mode, some functionality is disabled.
|
||||
|
|
491
tt-rss.css
491
tt-rss.css
|
@ -6,6 +6,143 @@ body {
|
|||
font-family : sans-serif;
|
||||
}
|
||||
|
||||
/* common styles */
|
||||
|
||||
table.main td.header {
|
||||
padding : 10px 10px 10px 50px;
|
||||
height : 90px;
|
||||
font-size : 24pt;
|
||||
font-weight : bold;
|
||||
background-image : url("images/vgrad_light_rev2.png");
|
||||
background-position : top left;
|
||||
background-repeat : repeat-x;
|
||||
}
|
||||
|
||||
table.main td.mainToolbar {
|
||||
border-width : 0px 0px 0px 0px;
|
||||
border-style : solid;
|
||||
border-color : #c0c0c0;
|
||||
padding : 10px 25px 10px 10px;
|
||||
}
|
||||
|
||||
table.main td.feeds {
|
||||
width : 300px;
|
||||
height : 100%;
|
||||
border-width : 1px 0px 0px 0px;
|
||||
border-style : solid;
|
||||
border-color : #c0c0c0;
|
||||
padding : 5px;
|
||||
}
|
||||
|
||||
table.main td.headlinesToolbarBox {
|
||||
padding : 10px;
|
||||
border-width : 0px 0px 1px 1px;
|
||||
border-style : solid;
|
||||
border-color : #c0c0c0;
|
||||
background-image : url("images/vgrad_light.png");
|
||||
background-position : bottom left;
|
||||
background-repeat : repeat-x;
|
||||
}
|
||||
|
||||
table.main td.footer {
|
||||
border-width : 1px 0px 0px 0px;
|
||||
border-style : solid;
|
||||
border-color : #c0c0c0;
|
||||
padding : 10px;
|
||||
text-align : center;
|
||||
font-size : x-small;
|
||||
background-image : url("images/vgrad_light_rev2.png");
|
||||
background-position : top left;
|
||||
background-repeat : repeat-x;
|
||||
color : gray;
|
||||
}
|
||||
|
||||
table.main td.footer a {
|
||||
color : gray;
|
||||
}
|
||||
|
||||
table.main td.footer a:hover {
|
||||
color : #5050aa;
|
||||
}
|
||||
|
||||
table.main td.headlines {
|
||||
height : 25%;
|
||||
border-width : 0px 0px 1px 1px;
|
||||
border-style : solid;
|
||||
border-color : #c0c0c0;
|
||||
}
|
||||
|
||||
table.main td.content {
|
||||
height : 100%;
|
||||
background-image : url("images/vgrad_light_rev.png");
|
||||
background-position : top left;
|
||||
background-repeat : repeat-x;
|
||||
border-width : 0px 0px 0px 1px;
|
||||
border-style : solid;
|
||||
border-color : #c0c0c0;
|
||||
}
|
||||
|
||||
table.main td.prefContent {
|
||||
height : 100%;
|
||||
background-image : url("images/vgrad_light_rev.png");
|
||||
background-position : top left;
|
||||
background-repeat : repeat-x;
|
||||
border-width : 1px 0px 0px 0px;
|
||||
border-style : solid;
|
||||
border-color : #c0c0c0;
|
||||
padding : 20px;
|
||||
}
|
||||
|
||||
div.postReply {
|
||||
background-image : url("images/vgrad_light_rev.png");
|
||||
background-position : top left;
|
||||
background-repeat : repeat-x;
|
||||
height : 100%;
|
||||
padding : 10px;
|
||||
}
|
||||
|
||||
div.postReply div.postHeader {
|
||||
background : white;
|
||||
border : 1px solid #c0c0c0;
|
||||
padding : 5px;
|
||||
}
|
||||
|
||||
div.postReply div.postContent {
|
||||
padding : 10px;
|
||||
}
|
||||
|
||||
div.postReply div.postIcon {
|
||||
float : right;
|
||||
border : 0px;
|
||||
margin : 10px;
|
||||
}
|
||||
|
||||
ul.feedList {
|
||||
list-style-type : none;
|
||||
margin : 0px;
|
||||
padding : 10px;
|
||||
}
|
||||
|
||||
ul.feedList li {
|
||||
margin : 2px;
|
||||
}
|
||||
|
||||
ul.feedList li.oddSelected, ul.feedList li.evenSelected,
|
||||
li.oddUnreadSelected, li.evenUnreadSelected {
|
||||
background-color : white;
|
||||
}
|
||||
|
||||
li.oddSelected a, li.evenSelected a,
|
||||
li.oddUnreadSelected a, li.evenUnreadSelected a {
|
||||
color : #5050aa;
|
||||
}
|
||||
|
||||
ul.feedList img {
|
||||
margin : 0px 3px 0px 0px;
|
||||
width : 16px;
|
||||
height : 16px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size : 16pt;
|
||||
}
|
||||
|
@ -33,192 +170,77 @@ a:hover {
|
|||
color : #5050aa;
|
||||
}
|
||||
|
||||
table.postTable a {
|
||||
color : #5050aa;
|
||||
#piggie {
|
||||
width : 400;
|
||||
height : 400;
|
||||
left : 50;
|
||||
background-color : white;
|
||||
display : none;
|
||||
z-index : 3;
|
||||
background-image : url("http://madoka.spb.ru/stuff/fox/piggie.png");
|
||||
background-position : center center;
|
||||
background-repeat : no-repeat;
|
||||
position : absolute;
|
||||
border : 1px solid pink;
|
||||
margin-left : auto;
|
||||
margin-right : auto;
|
||||
-moz-border-radius : 10px;
|
||||
opacity : 0.8;
|
||||
}
|
||||
|
||||
table.postTable a:hover {
|
||||
color : black;
|
||||
}
|
||||
|
||||
td.headlinesToolbar {
|
||||
padding : 10px;
|
||||
}
|
||||
|
||||
table.headlinesList td.title, table.headlinesHeader td.title {
|
||||
font-weight : bold;
|
||||
font-size : large;
|
||||
border-width : 0px 0px 1px 0px;
|
||||
border-color : #d0d0d0;
|
||||
border-style : solid;
|
||||
text-align : right;
|
||||
padding-bottom : 3px;
|
||||
}
|
||||
|
||||
table.headlinesList td.feedLastUpdateNotice {
|
||||
font-size : x-small;
|
||||
border-width : 0px 0px 1px 0px;
|
||||
border-color : #d0d0d0;
|
||||
border-style : solid;
|
||||
text-align : left;
|
||||
padding-bottom : 3px;
|
||||
color : #a0a0a0;
|
||||
}
|
||||
|
||||
table.headlinesList td.headlineUpdated {
|
||||
width : 200px;
|
||||
}
|
||||
|
||||
input {
|
||||
border : 1px solid #a0a0a0;
|
||||
}
|
||||
|
||||
table.main td.toolbar {
|
||||
height : 40px;
|
||||
background-color : #f0f0f0;
|
||||
padding-right : 10px;
|
||||
padding-left : 10px;
|
||||
font-size : small;
|
||||
#iedit_title, #iedit_link, #iedit_regexp, #iedit_descr {
|
||||
width : 100%;
|
||||
padding-left : 2px;
|
||||
}
|
||||
|
||||
#notify {
|
||||
font-weight : bold;
|
||||
border : 1px solid #c0c0c0;
|
||||
font-size : small;
|
||||
display : none;
|
||||
background : white;
|
||||
-moz-border-radius : 5px;
|
||||
padding : 2px 5px 2px 5px;
|
||||
width : 300px;
|
||||
width : 350px;
|
||||
color : gray;
|
||||
}
|
||||
|
||||
table.feedsList td {
|
||||
font-size : x-small;
|
||||
div.expPane {
|
||||
margin : 15px;
|
||||
}
|
||||
|
||||
table.main td.header {
|
||||
font-size : 21pt;
|
||||
background-color : #f0f0f0;
|
||||
background-image : url("images/header.png");
|
||||
background-position : top left;
|
||||
iframe.feedsFrame {
|
||||
width : 100%;
|
||||
height : 90%;
|
||||
border-width : 0px;
|
||||
margin : 0px;
|
||||
padding : 0px;
|
||||
}
|
||||
|
||||
iframe.contentFrame, iframe.headlinesFrame {
|
||||
width : 100%;
|
||||
border-width : 0px;
|
||||
padding : 0px;
|
||||
margin : 0px;
|
||||
height : 100%;
|
||||
}
|
||||
|
||||
.button {
|
||||
border : 1px solid #d0d0d0;
|
||||
background-image : url("images/button.png");
|
||||
background-position : top;
|
||||
background-repeat : repeat-x;
|
||||
height : 50px;
|
||||
padding-left : 80px;
|
||||
padding-top : 30px;
|
||||
font-weight : bold;
|
||||
background-color : white;
|
||||
color : black;
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
background : white;
|
||||
text-decoration : none;
|
||||
color : black;
|
||||
}
|
||||
|
||||
table.main td.feeds {
|
||||
width : 300px;
|
||||
border-width : 1px 1px 0px 0px;
|
||||
border-color : #c0c0c0;
|
||||
border-style : solid;
|
||||
padding : 5px;
|
||||
}
|
||||
|
||||
div.headlineToolbar {
|
||||
border-width : 1px 0px 0px 0px;
|
||||
border-color : #c0c0c0;
|
||||
border-style : solid;
|
||||
padding : 10px;
|
||||
}
|
||||
|
||||
td.articleToolbar {
|
||||
border-width : 0px 0px 1px 0px;
|
||||
border-color : #c0c0c0;
|
||||
border-style : solid;
|
||||
padding : 10px;
|
||||
background : #f0f0f0;
|
||||
}
|
||||
table.main td.headlines {
|
||||
height : 25%;
|
||||
border-width : 1px 0px 0px 0px;
|
||||
border-color : #c0c0c0;
|
||||
border-style : solid;
|
||||
a.button {
|
||||
padding : 2px 5px 2px 5px;
|
||||
font-size : small;
|
||||
}
|
||||
|
||||
table.main td.prefContent {
|
||||
padding : 10px;
|
||||
border-width : 1px 0px 0px 0px;
|
||||
border-color : #c0c0c0;
|
||||
border-style : solid;
|
||||
|
||||
}
|
||||
|
||||
table.main td.headlinesToolbarBox {
|
||||
padding : 0px;
|
||||
height : 20px;
|
||||
border-width : 1px 0px 0px 0px;
|
||||
border-color : #c0c0c0;
|
||||
border-style : solid;
|
||||
}
|
||||
|
||||
table.main td.content {
|
||||
padding : 0px;
|
||||
border-width : 1px 0px 0px 0px;
|
||||
border-color : #c0c0c0;
|
||||
border-style : solid;
|
||||
}
|
||||
|
||||
table.main td.notify {
|
||||
height : 40px;
|
||||
border-width : 1px 0px 0px 0px;
|
||||
border-color : #c0c0c0;
|
||||
border-style : solid;
|
||||
font-size : x-small;
|
||||
text-align : center;
|
||||
color : gray;
|
||||
background-color : #f0f0f0;
|
||||
background-image : url("images/header_rev.png");
|
||||
background-position : top left;
|
||||
background-repeat : repeat-x;
|
||||
|
||||
}
|
||||
|
||||
.evenGrayed {
|
||||
background-color : #f0f0f0;
|
||||
color : #909090;
|
||||
}
|
||||
|
||||
.oddGrayed {
|
||||
color : #909090;
|
||||
}
|
||||
|
||||
.even {
|
||||
background-color : #f0f0f0;
|
||||
}
|
||||
|
||||
.evenUnread {
|
||||
background-color : #f0f0f0;
|
||||
font-weight : bold;
|
||||
}
|
||||
|
||||
.oddUnread {
|
||||
font-weight : bold;
|
||||
}
|
||||
|
||||
.invisible {
|
||||
display : none;
|
||||
}
|
||||
|
||||
table.prefAddFeed td {
|
||||
padding : 2px;
|
||||
}
|
||||
|
||||
table.prefAddFeed input {
|
||||
width : 250px;
|
||||
}
|
||||
|
||||
table.prefFeedList tr.title td, table.prefFilterList tr.title td,
|
||||
table.headlinesList tr.title td {
|
||||
font-weight : bold;
|
||||
border-width : 0px 0px 1px 0px;
|
||||
border-color : #f0f0f0;
|
||||
border-style : solid;
|
||||
}
|
||||
|
||||
.evenUnreadSelected, .evenSelectedUnread {
|
||||
background-color : #e0e0ff;
|
||||
font-weight : bold;
|
||||
|
@ -251,132 +273,51 @@ table.prefFeedList tr.title td, table.prefFilterList tr.title td,
|
|||
color : #909090;
|
||||
}
|
||||
|
||||
.button {
|
||||
border : 1px solid #d0d0d0;
|
||||
background-image : url("images/button.png");
|
||||
background-position : top;
|
||||
background-repeat : repeat-x;
|
||||
background-color : white;
|
||||
color : black;
|
||||
.evenGrayed {
|
||||
background-color : #f0f0f0;
|
||||
color : #909090;
|
||||
}
|
||||
|
||||
/* .button:hover {
|
||||
background : white;
|
||||
text-decoration : none;
|
||||
color : black;
|
||||
} */
|
||||
|
||||
a.button {
|
||||
padding : 2px 5px 2px 5px;
|
||||
.oddGrayed {
|
||||
color : #909090;
|
||||
}
|
||||
|
||||
|
||||
.buttonWarn {
|
||||
border : 1px solid #d0d0d0;
|
||||
background-image : url("images/button.png");
|
||||
background-position : top;
|
||||
background-repeat : repeat-x;
|
||||
background-color : white;
|
||||
color : black;
|
||||
padding : 2px 5px 2px 5px;
|
||||
font-size : small;
|
||||
.even {
|
||||
background-color : #f0f0f0;
|
||||
}
|
||||
|
||||
.buttonWarn:hover {
|
||||
background : #fff0f0;
|
||||
text-decoration : none;
|
||||
color : black;
|
||||
.evenUnread {
|
||||
background-color : #f0f0f0;
|
||||
font-weight : bold;
|
||||
}
|
||||
|
||||
td.headlineUpdateMark {
|
||||
width : 25px;
|
||||
text-align : center;
|
||||
.oddUnread {
|
||||
font-weight : bold;
|
||||
}
|
||||
|
||||
div.errorBox {
|
||||
border : 1px solid #c0c0c0;
|
||||
padding : 20px;
|
||||
margin : 20px;
|
||||
background : #f0f0f0;
|
||||
}
|
||||
|
||||
tr.titleTop, tr.titleBottom, tr.titleTopBottom {
|
||||
background : #f0f0f0;
|
||||
}
|
||||
|
||||
td.titleIcon {
|
||||
border-width : 0px 0px 1px 0px;
|
||||
border-color : #d0d0d0;
|
||||
border-style : solid;
|
||||
}
|
||||
|
||||
tr.titleTop td {
|
||||
padding : 5px 10px 0px 10px;
|
||||
}
|
||||
|
||||
tr.titleBottom td {
|
||||
padding : 3px 10px 5px 10px;
|
||||
border-width : 0px 0px 1px 0px;
|
||||
border-color : #d0d0d0;
|
||||
border-style : solid;
|
||||
}
|
||||
|
||||
tr.titleTopBottom td {
|
||||
padding : 3px 10px 5px 10px;
|
||||
border-width : 1px 0px 1px 0px;
|
||||
border-color : #d0d0d0;
|
||||
border-style : solid;
|
||||
}
|
||||
|
||||
td.post {
|
||||
padding : 20px;
|
||||
}
|
||||
|
||||
#piggie {
|
||||
width : 400;
|
||||
height : 400;
|
||||
left : 50;
|
||||
background-color : white;
|
||||
.invisible {
|
||||
display : none;
|
||||
z-index : 3;
|
||||
background-image : url("http://madoka.spb.ru/stuff/fox/piggie.png");
|
||||
background-position : center center;
|
||||
background-repeat : no-repeat;
|
||||
position : absolute;
|
||||
border : 1px solid pink;
|
||||
margin-left : auto;
|
||||
margin-right : auto;
|
||||
-moz-border-radius : 10px;
|
||||
opacity : 0.8;
|
||||
}
|
||||
|
||||
img.feedIcon {
|
||||
margin : 3px;
|
||||
border : 1px solid #c0c0c0;
|
||||
input {
|
||||
border : 1px solid #a0a0a0;
|
||||
}
|
||||
|
||||
#iedit_title, #iedit_link, #iedit_regexp, #iedit_descr {
|
||||
width : 100%;
|
||||
padding-left : 2px;
|
||||
/* preferences */
|
||||
|
||||
table.prefAddFeed td {
|
||||
padding : 2px;
|
||||
}
|
||||
|
||||
div.expPane {
|
||||
margin : 15px;
|
||||
table.prefAddFeed input {
|
||||
width : 250px;
|
||||
}
|
||||
|
||||
iframe.feedsFrame {
|
||||
width : 100%;
|
||||
height : 90%;
|
||||
border-width : 0px;
|
||||
margin : 0px;
|
||||
padding : 0px;
|
||||
}
|
||||
|
||||
iframe.contentFrame, iframe.headlinesFrame {
|
||||
width : 100%;
|
||||
border-width : 0px;
|
||||
padding : 0px;
|
||||
margin : 0px;
|
||||
height : 100%;
|
||||
table.prefFeedList tr.title td, table.prefFilterList tr.title td,
|
||||
table.headlinesList tr.title td {
|
||||
font-weight : bold;
|
||||
border-width : 0px 0px 1px 0px;
|
||||
border-color : #f0f0f0;
|
||||
border-style : solid;
|
||||
}
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@ function feedlist_callback() {
|
|||
function refetch_callback() {
|
||||
|
||||
if (xmlhttp_rpc.readyState == 4) {
|
||||
notify("All feeds updated");
|
||||
notify("All feeds updated.");
|
||||
|
||||
active_feed_id = frames["feeds-frame"].document.getElementById("ACTFEEDID").innerHTML;
|
||||
|
||||
|
|
23
tt-rss.php
23
tt-rss.php
|
@ -15,12 +15,20 @@
|
|||
<table width="100%" height="100%" cellspacing=0 cellpadding=0 class="main">
|
||||
<tr>
|
||||
<td class="header" valign="middle" colspan="2">
|
||||
Tiny Tiny RSS
|
||||
<img src="images/ttrss_logo.png" alt="logo">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="toolbar" colspan="2">
|
||||
<table width="100%" cellspacing="0" cellpadding="0">
|
||||
<td class="mainToolbar" colspan="2">
|
||||
|
||||
<table width='100%' cellspacing='0' cellpadding='0'>
|
||||
<td><span id="notify"><span id="notify_body"></span></td>
|
||||
<td align='right'>
|
||||
<input type="submit" onclick="gotoPreferences()"
|
||||
class="button" value="Preferences"></td>
|
||||
</table>
|
||||
|
||||
<!-- <table width="100%" cellspacing="0" cellpadding="0">
|
||||
<td valign="middle">
|
||||
<table id="notify"><tr><td width="100%" id="notify_body"> </td>
|
||||
<td><img onclick="javascript:notify('')" alt="Close"
|
||||
|
@ -28,7 +36,7 @@
|
|||
</td>
|
||||
<td class="toolbar" valign="middle" align="right">
|
||||
<a href="prefs.php" class="button">Preferences</a></td>
|
||||
</tr></table>
|
||||
</tr></table> -->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -50,7 +58,7 @@
|
|||
|
||||
</td>
|
||||
<td valign="top" class="headlinesToolbarBox">
|
||||
<table width="100%">
|
||||
<table width="100%" cellpadding="0" cellspacing="0">
|
||||
|
||||
<!-- <tr><td id="headlinesTitle" class="headlinesTitle">
|
||||
|
||||
|
@ -91,7 +99,8 @@
|
|||
</tr><tr>
|
||||
<td id="headlines" class="headlines" valign="top">
|
||||
<iframe name="headlines-frame"
|
||||
id="headlines-frame" class="headlinesFrame"> </iframe>
|
||||
id="headlines-frame" class="headlinesFrame"
|
||||
src="backend.php?op=error&msg=No%20feed%20selected."></iframe>
|
||||
</td>
|
||||
</tr><tr>
|
||||
<td class="content" id="content" valign="top">
|
||||
|
@ -99,7 +108,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="notify">
|
||||
<td colspan="2" class="footer">
|
||||
<a href="http://bah.spb.su/~fox/tt-rss/">Tiny-Tiny RSS</a> v<?= VERSION ?> © 2005 Andrew Dolgov
|
||||
<? if (WEB_DEMO_MODE) { ?>
|
||||
<br>Running in demo mode, some functionality is disabled.
|
||||
|
|
14
viewfeed.js
14
viewfeed.js
|
@ -31,19 +31,29 @@ function view(id, feed_id) {
|
|||
|
||||
var crow = document.getElementById("RROW-" + id);
|
||||
|
||||
var f_doc = parent.frames["feeds-frame"].document;
|
||||
|
||||
if (crow.className.match("Unread")) {
|
||||
var umark = parent.frames["feeds-frame"].document.getElementById("FEEDU-" + feed_id);
|
||||
var umark = f_doc.getElementById("FEEDU-" + feed_id);
|
||||
|
||||
umark.innerHTML = umark.innerHTML - 1;
|
||||
crow.className = crow.className.replace("Unread", "");
|
||||
|
||||
if (umark.innerHTML == "0") {
|
||||
var feedr = parent.frames["feeds-frame"].document.getElementById("FEEDR-" + feed_id);
|
||||
var feedr = f_doc.getElementById("FEEDR-" + feed_id);
|
||||
feedr.className = feedr.className.replace("Unread", "");
|
||||
|
||||
var feedctr = f_doc.getElementById("FEEDCTR-" + feed_id);
|
||||
|
||||
if (feedctr) {
|
||||
feedctr.innerHTML = "";
|
||||
}
|
||||
}
|
||||
|
||||
total_unread--;
|
||||
}
|
||||
|
||||
|
||||
cleanSelected("headlinesList");
|
||||
|
||||
var upd_img_pic = document.getElementById("FUPDPIC-" + id);
|
||||
|
|
Loading…
Reference in a new issue