userDetails -> infoBox, feed infobox, user details improvements
This commit is contained in:
parent
8dcfffd01e
commit
c6c3a07f01
3 changed files with 110 additions and 18 deletions
66
backend.php
66
backend.php
|
@ -1011,6 +1011,8 @@
|
|||
FROM
|
||||
ttrss_feeds WHERE owner_uid = '".$_SESSION["uid"]."' ORDER by title");
|
||||
|
||||
print "<div id=\"infoBox\">PLACEHOLDER</div>";
|
||||
|
||||
print "<p><table width=\"100%\" class=\"prefFeedList\" id=\"prefFeedList\">";
|
||||
print "<tr class=\"title\">
|
||||
<td> </td><td>Select</td><td width=\"30%\">Title</td>
|
||||
|
@ -1132,6 +1134,8 @@
|
|||
|
||||
print "
|
||||
Selection:
|
||||
<input type=\"submit\" class=\"button\"
|
||||
onclick=\"javascript:selectedFeedDetails()\" value=\"Details\">
|
||||
<input type=\"submit\" class=\"button\"
|
||||
onclick=\"javascript:editSelectedFeed()\" value=\"Edit\">
|
||||
<input type=\"submit\" class=\"button\"
|
||||
|
@ -1927,7 +1931,7 @@
|
|||
ttrss_users
|
||||
ORDER by login");
|
||||
|
||||
print "<div id=\"prefUserDetails\">PLACEHOLDER</div>";
|
||||
print "<div id=\"infoBox\">PLACEHOLDER</div>";
|
||||
|
||||
print "<p><table width=\"100%\" class=\"prefUserList\" id=\"prefUserList\">";
|
||||
|
||||
|
@ -2041,9 +2045,11 @@
|
|||
|
||||
$uid = sprintf("%d", $_GET["id"]);
|
||||
|
||||
print "<div class='userDetails'>";
|
||||
print "<div class='infoBoxContents'>";
|
||||
|
||||
$result = db_query($link, "SELECT login,last_login,access_level
|
||||
$result = db_query($link, "SELECT login,last_login,access_level,
|
||||
(SELECT COUNT(int_id) FROM ttrss_user_entries
|
||||
WHERE owner_uid = id) AS stored_articles
|
||||
FROM ttrss_users
|
||||
WHERE id = '$uid'");
|
||||
|
||||
|
@ -2059,10 +2065,12 @@
|
|||
$login = db_fetch_result($result, 0, "login");
|
||||
$last_login = db_fetch_result($result, 0, "last_login");
|
||||
$access_level = db_fetch_result($result, 0, "access_level");
|
||||
$stored_articles = db_fetch_result($result, 0, "stored_articles");
|
||||
|
||||
print "<tr><td>Username</td><td>$login</td></tr>";
|
||||
print "<tr><td>Access level</td><td>$access_level</td></tr>";
|
||||
print "<tr><td>Last logged in</td><td>$last_login</td></tr>";
|
||||
print "<tr><td>Stored articles</td><td>$stored_articles</td></tr>";
|
||||
|
||||
$result = db_query($link, "SELECT COUNT(id) as num_feeds FROM ttrss_feeds
|
||||
WHERE owner_uid = '$uid'");
|
||||
|
@ -2073,11 +2081,12 @@
|
|||
|
||||
/* $result = db_query($link, "SELECT
|
||||
SUM(LENGTH(content)+LENGTH(title)+LENGTH(link)+LENGTH(guid)) AS db_size
|
||||
FROM ttrss_entries WHERE owner_uid = '$uid'");
|
||||
FROM ttrss_user_entries,ttrss_entries
|
||||
WHERE owner_uid = '$uid' AND ref_id = id");
|
||||
|
||||
$db_size = round(db_fetch_result($result, 0, "db_size") / 1024);
|
||||
|
||||
print "<tr><td>Approx. DB size</td><td>$db_size KBytes</td></tr>"; */
|
||||
print "<tr><td>Approx. used DB size</td><td>$db_size KBytes</td></tr>"; */
|
||||
|
||||
print "</table>";
|
||||
|
||||
|
@ -2107,12 +2116,57 @@
|
|||
|
||||
print "<div align='center'>
|
||||
<input type='submit' class='button'
|
||||
onclick=\"closeUserDetails()\" value=\"Close this window\"></div>";
|
||||
onclick=\"closeInfoBox()\" value=\"Close this window\"></div>";
|
||||
|
||||
// print "</body></html>";
|
||||
|
||||
}
|
||||
|
||||
if ($op == "feed-details") {
|
||||
|
||||
$feed_id = $_GET["id"];
|
||||
|
||||
$result = db_query($link,
|
||||
"SELECT
|
||||
title,feed_url,last_updated,
|
||||
(SELECT COUNT(int_id) FROM ttrss_user_entries
|
||||
WHERE feed_id = id) AS total,
|
||||
(SELECT COUNT(int_id) FROM ttrss_user_entries
|
||||
WHERE feed_id = id AND unread = true) AS unread,
|
||||
(SELECT COUNT(int_id) FROM ttrss_user_entries
|
||||
WHERE feed_id = id AND marked = true) AS marked
|
||||
FROM ttrss_feeds
|
||||
WHERE id = '$feed_id' AND owner_uid = ".$_SESSION["uid"]);
|
||||
|
||||
if (db_num_rows($result) == 0) return;
|
||||
|
||||
$title = db_fetch_result($result, 0, "title");
|
||||
$last_updated = db_fetch_result($result, 0, "last_updated");
|
||||
$feed_url = db_fetch_result($result, 0, "feed_url");
|
||||
$total = db_fetch_result($result, 0, "total");
|
||||
$unread = db_fetch_result($result, 0, "unread");
|
||||
$marked = db_fetch_result($result, 0, "marked");
|
||||
|
||||
print "<div class=\"infoBoxContents\"><h1>$title</h1>";
|
||||
|
||||
print "<table width='100%'>";
|
||||
|
||||
print "<tr><td>Feed URL</td><td><a href=\"$feed_url\">$feed_url</a></td></tr>";
|
||||
print "<tr><td>Last updated</td><td>$last_updated</td></tr>";
|
||||
print "<tr><td>Total articles</td><td>$total</td></tr>";
|
||||
print "<tr><td>Unread articles</td><td>$unread</td></tr>";
|
||||
print "<tr><td>Starred articles</td><td>$marked</td></tr>";
|
||||
|
||||
print "</table>";
|
||||
|
||||
print "</div>";
|
||||
|
||||
print "<div align='center'>
|
||||
<input type='submit' class='button'
|
||||
onclick=\"closeInfoBox()\" value=\"Close this window\"></div>";
|
||||
|
||||
}
|
||||
|
||||
db_close($link);
|
||||
?>
|
||||
|
||||
|
|
48
prefs.js
48
prefs.js
|
@ -119,11 +119,13 @@ function userlist_callback() {
|
|||
}
|
||||
}
|
||||
|
||||
function userdetails_callback() {
|
||||
var container = document.getElementById('prefUserDetails');
|
||||
function infobox_callback() {
|
||||
var container = document.getElementById('infoBox');
|
||||
if (xmlhttp.readyState == 4) {
|
||||
container.innerHTML=xmlhttp.responseText;
|
||||
container.style.display = "block";
|
||||
if (container) {
|
||||
container.innerHTML=xmlhttp.responseText;
|
||||
container.style.display = "block";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -880,7 +882,34 @@ function selectedUserDetails() {
|
|||
var id = rows[0];
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=user-details&id=" + id, true);
|
||||
xmlhttp.onreadystatechange=userdetails_callback;
|
||||
xmlhttp.onreadystatechange=infobox_callback;
|
||||
xmlhttp.send(null);
|
||||
|
||||
}
|
||||
|
||||
function selectedFeedDetails() {
|
||||
|
||||
if (!xmlhttp_ready(xmlhttp)) {
|
||||
printLockingError();
|
||||
return
|
||||
}
|
||||
|
||||
var rows = getSelectedFeeds();
|
||||
|
||||
if (rows.length == 0) {
|
||||
notify("No feeds are selected.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (rows.length > 1) {
|
||||
notify("Please select one feed.");
|
||||
return;
|
||||
}
|
||||
|
||||
var id = rows[0];
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=feed-details&id=" + id, true);
|
||||
xmlhttp.onreadystatechange=infobox_callback;
|
||||
xmlhttp.send(null);
|
||||
|
||||
}
|
||||
|
@ -993,6 +1022,11 @@ function updatePrefsList() {
|
|||
|
||||
function selectTab(id) {
|
||||
|
||||
if (!xmlhttp_ready(xmlhttp)) {
|
||||
printLockingError();
|
||||
return
|
||||
}
|
||||
|
||||
if (id == "feedConfig") {
|
||||
updateFeedList();
|
||||
} else if (id == "filterConfig") {
|
||||
|
@ -1066,7 +1100,7 @@ function dispOptionHelp(event, sender) {
|
|||
|
||||
} */
|
||||
|
||||
function closeUserDetails() {
|
||||
var d = document.getElementById('prefUserDetails');
|
||||
function closeInfoBox() {
|
||||
var d = document.getElementById('infoBox');
|
||||
d.style.display = "none";
|
||||
}
|
||||
|
|
14
tt-rss.css
14
tt-rss.css
|
@ -425,7 +425,7 @@ div.helpResponse {
|
|||
border : 1px solid #f0f0f0;
|
||||
}
|
||||
|
||||
div.userDetails {
|
||||
div.infoBoxContents {
|
||||
background-image : url("images/vgrad_light_rev2.png");
|
||||
background-position : top left;
|
||||
background-repeat : repeat-x;
|
||||
|
@ -434,14 +434,14 @@ div.userDetails {
|
|||
border : 1px solid #f0f0f0;
|
||||
}
|
||||
|
||||
div.helpResponse h1, div.userDetails h1 {
|
||||
div.helpResponse h1, div.infoBoxContents h1 {
|
||||
border-width : 0px 0px 1px 0px;
|
||||
border-style : solid;
|
||||
border-color : #c0c0c0;
|
||||
font-size : 16pt;
|
||||
}
|
||||
|
||||
div.helpResponse h2, div.userDetails h2 {
|
||||
div.helpResponse h2, div.infoBoxContents h2 {
|
||||
border-width : 0px 0px 0px 0px;
|
||||
font-size : 12pt;
|
||||
}
|
||||
|
@ -581,13 +581,17 @@ table.innerLoginForm td {
|
|||
padding : 3px 3px 5px 3px;
|
||||
}
|
||||
|
||||
#prefUserDetails {
|
||||
#infoBox {
|
||||
position : absolute;
|
||||
margin-left : 30%;
|
||||
background-color : white;
|
||||
width : 30%;
|
||||
z-index : 3;
|
||||
border : 1px solid #c0c0c0;
|
||||
display : none;
|
||||
padding-bottom : 10px;
|
||||
display : none;
|
||||
}
|
||||
|
||||
div.small, p.small {
|
||||
font-size : x-small;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue