|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<title>Tiny Tiny RSS Notifier Options</title>
|
|
|
|
<link rel="stylesheet" href="style.css" type="text/css"/>
|
|
|
|
<script type="text/javascript" src="lib/prototype.js"></script>
|
|
|
|
<script type="text/javascript" src="lib/scriptaculous/scriptaculous.js?load=effects,dragdrop,controls"></script>
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
function save() {
|
|
|
|
|
|
|
|
var s = $("status");
|
|
|
|
|
|
|
|
s.innerHTML = "Options saved successfully.";
|
|
|
|
|
|
|
|
var f = document.forms['options'];
|
|
|
|
|
|
|
|
if (f.site_url.value.length > 0)
|
|
|
|
localStorage['site_url'] = f.site_url.value;
|
|
|
|
else {
|
|
|
|
s.innerHTML = "Error: Site url cannot be blank.";
|
|
|
|
new Effect.Highlight(f.site_url);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (f.login.value.length > 0)
|
|
|
|
localStorage['login'] = f.login.value;
|
|
|
|
else {
|
|
|
|
s.innerHTML = "Error: Login cannot be blank.";
|
|
|
|
new Effect.Highlight(f.login);
|
|
|
|
}
|
|
|
|
|
|
|
|
var update_interval = parseInt(f.update_interval.value);
|
|
|
|
|
|
|
|
if (update_interval > 0)
|
|
|
|
localStorage['update_interval'] = f.update_interval.value;
|
|
|
|
else {
|
|
|
|
s.innerHTML = "Error: Update interval must be greater than zero.";
|
|
|
|
new Effect.Highlight(f.update_interval);
|
|
|
|
}
|
|
|
|
|
|
|
|
localStorage['show_badge'] = (f.show_badge.checked) ? "1" : "0";
|
|
|
|
localStorage['show_fresh'] = (f.show_fresh.checked) ? "1" : "0";
|
|
|
|
localStorage['single_user'] = (f.single_user.checked) ? "1" : "0";
|
|
|
|
|
|
|
|
var d = new Date();
|
|
|
|
|
|
|
|
localStorage["prefs_updated"] = d.getTime();
|
|
|
|
|
|
|
|
Element.show(s);
|
|
|
|
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
function single_user_toggle() {
|
|
|
|
var f = document.forms['options'];
|
|
|
|
|
|
|
|
f.login.disabled = f.single_user.checked;
|
|
|
|
}
|
|
|
|
|
|
|
|
function init() {
|
|
|
|
var f = document.forms['options'];
|
|
|
|
|
|
|
|
if (localStorage['site_url'])
|
|
|
|
f.site_url.value = localStorage['site_url'];
|
|
|
|
else
|
|
|
|
f.site_url.value = "http://example.dom/tt-rss/";
|
|
|
|
|
|
|
|
if (localStorage['login'])
|
|
|
|
f.login.value = localStorage['login'];
|
|
|
|
else
|
|
|
|
f.login.value = "user";
|
|
|
|
|
|
|
|
if (localStorage['update_interval'])
|
|
|
|
f.update_interval.value = localStorage['update_interval'];
|
|
|
|
else
|
|
|
|
f.update_interval.value = '15';
|
|
|
|
|
|
|
|
if (localStorage['show_badge'])
|
|
|
|
f.show_badge.checked = localStorage['show_badge'] == "1";
|
|
|
|
else
|
|
|
|
f.show_badge.checked = true;
|
|
|
|
|
|
|
|
if (localStorage['show_fresh'])
|
|
|
|
f.show_fresh.checked = localStorage['show_fresh'] == "1";
|
|
|
|
else
|
|
|
|
f.show_fresh.checked = false;
|
|
|
|
|
|
|
|
if (localStorage['single_user'])
|
|
|
|
f.single_user.checked = localStorage['single_user'] == "1";
|
|
|
|
else
|
|
|
|
f.single_user.checked = false;
|
|
|
|
|
|
|
|
single_user_toggle();
|
|
|
|
|
|
|
|
var last_updated = $('last_updated');
|
|
|
|
|
|
|
|
var d = new Date();
|
|
|
|
|
|
|
|
d.setTime(localStorage["last_updated"]);
|
|
|
|
|
|
|
|
|
|
|
|
last_updated.innerHTML = d;
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style type="text/css">
|
|
|
|
fieldset {
|
|
|
|
border : 0px;
|
|
|
|
margin : 0px;
|
|
|
|
clear : left;
|
|
|
|
line-height : 25px;
|
|
|
|
}
|
|
|
|
|
|
|
|
div#status {
|
|
|
|
font-size : 14px;
|
|
|
|
color : #88b0ff;
|
|
|
|
}
|
|
|
|
|
|
|
|
label {
|
|
|
|
width : 250px;
|
|
|
|
display : block;
|
|
|
|
float : left;
|
|
|
|
text-align : right;
|
|
|
|
padding-right : 1em;
|
|
|
|
}
|
|
|
|
|
|
|
|
p.last-updated {
|
|
|
|
color : gray;
|
|
|
|
}
|
|
|
|
fieldset span.note {
|
|
|
|
color : gray;
|
|
|
|
font-style : italic;
|
|
|
|
}
|
|
|
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
<body onload="init()">
|
|
|
|
<div class="floatingLogo"><img src="images/ttrss_logo.png"></div>
|
|
|
|
|
|
|
|
<h1>Tiny Tiny RSS Notifier</h1>
|
|
|
|
|
|
|
|
<p class='last-updated'>Last update: <span id="last_updated">N/A</span></p>
|
|
|
|
|
|
|
|
<div style='display : none' id="status"></div>
|
|
|
|
|
|
|
|
<h2>Options</h2>
|
|
|
|
|
|
|
|
<form name="options" id="options" onsubmit="return save()">
|
|
|
|
<fieldset>
|
|
|
|
<label>URL of your Tiny Tiny RSS installation:</label>
|
|
|
|
<input name="site_url" size="60" value=""/>
|
|
|
|
</fieldset>
|
|
|
|
|
|
|
|
<fieldset>
|
|
|
|
<label>Login:</label>
|
|
|
|
<input name="login" size="30" value=""/>
|
|
|
|
</fieldset>
|
|
|
|
|
|
|
|
<fieldset>
|
|
|
|
<label>Single-user mode:</label>
|
|
|
|
<input name="single_user" onchange="single_user_toggle()"
|
|
|
|
type="checkbox" value="1"/>
|
|
|
|
</fieldset>
|
|
|
|
|
|
|
|
<fieldset>
|
|
|
|
<label>Update interval (in minutes):</label>
|
|
|
|
<input name="update_interval" size="30" value=""/>
|
|
|
|
</fieldset>
|
|
|
|
|
|
|
|
<fieldset>
|
|
|
|
<label>Show badge:</label>
|
|
|
|
<input name="show_badge" type="checkbox" value="1"/>
|
|
|
|
</fieldset>
|
|
|
|
|
|
|
|
<fieldset>
|
|
|
|
<label>Badge shows fresh articles:</label>
|
|
|
|
<input name="show_fresh" type="checkbox" value="1"/>
|
|
|
|
<span class="note">(requires Tiny Tiny RSS 1.4.1 or trunk)</span>
|
|
|
|
</fieldset>
|
|
|
|
|
|
|
|
<input type="submit" value="Save"/>
|
|
|
|
</form>
|
|
|
|
|
|
|
|
<p>Copyright © 2010
|
|
|
|
<a target="_blank" href="http://tt-rss.org">Andrew Dolgov</a>.
|
|
|
|
Licensed under GNU GPL version 2.</p>
|
|
|
|
|
|
|
|
</body>
|