more mobile prototyping (2) - add collapse support, etc
This commit is contained in:
parent
2f4685371a
commit
42096f5202
|
@ -1,7 +1,37 @@
|
||||||
<?
|
<?
|
||||||
|
|
||||||
|
function render_feeds_select_list($link) {
|
||||||
|
|
||||||
|
$owner_uid = $_SESSION["uid"];
|
||||||
|
|
||||||
|
if (GLOBAL_ENABLE_LABELS && get_pref($link, 'ENABLE_LABELS')) {
|
||||||
|
|
||||||
|
$result = db_query($link, "SELECT id,sql_exp,description FROM
|
||||||
|
ttrss_labels WHERE owner_uid = '$owner_uid' ORDER by description");
|
||||||
|
|
||||||
|
while ($line = db_fetch_assoc($result)) {
|
||||||
|
print "<option>" . $line["description"] . "</option>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = db_query($link, "SELECT id,title
|
||||||
|
FROM ttrss_feeds WHERE ttrss_feeds.owner_uid = '$owner_uid'
|
||||||
|
ORDER BY title");
|
||||||
|
|
||||||
|
while ($line = db_fetch_assoc($result)) {
|
||||||
|
print "<option> " . $line["title"] . "</option>";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function render_feeds_list($link, $tags = false) {
|
function render_feeds_list($link, $tags = false) {
|
||||||
|
|
||||||
|
print "<div id=\"heading2\"><a href=\"logout.php\">Logout »</a></div>";
|
||||||
|
|
||||||
|
print "<div id=\"heading\">";
|
||||||
|
print "My feeds";
|
||||||
|
print "</div>";
|
||||||
|
|
||||||
print "<ul class=\"feedList\">";
|
print "<ul class=\"feedList\">";
|
||||||
|
|
||||||
$owner_uid = $_SESSION["uid"];
|
$owner_uid = $_SESSION["uid"];
|
||||||
|
@ -114,8 +144,6 @@
|
||||||
|
|
||||||
$lnum = 0;
|
$lnum = 0;
|
||||||
|
|
||||||
$total_unread = 0;
|
|
||||||
|
|
||||||
$category = "";
|
$category = "";
|
||||||
|
|
||||||
while ($line = db_fetch_assoc($result)) {
|
while ($line = db_fetch_assoc($result)) {
|
||||||
|
@ -171,8 +199,6 @@
|
||||||
$class .= "Selected";
|
$class .= "Selected";
|
||||||
}
|
}
|
||||||
|
|
||||||
$total_unread += $unread;
|
|
||||||
|
|
||||||
if ($category != $tmp_category && get_pref($link, 'ENABLE_FEED_CATS')) {
|
if ($category != $tmp_category && get_pref($link, 'ENABLE_FEED_CATS')) {
|
||||||
|
|
||||||
if ($category) {
|
if ($category) {
|
||||||
|
@ -215,12 +241,10 @@
|
||||||
$cat_id = sprintf("%d", $cat_id);
|
$cat_id = sprintf("%d", $cat_id);
|
||||||
|
|
||||||
print "<li class=\"feedCat\">
|
print "<li class=\"feedCat\">
|
||||||
<a href=\"FIXME\">$tmp_category</a>
|
<a href=\"?subop=tc&id=$cat_id\">$tmp_category</a>
|
||||||
<a href=\"?go=vcat&id=$cat_id\">
|
<a href=\"?go=vcat&id=$cat_id\">
|
||||||
<span class=\"$catctr_class\">($cat_unread unread)$ellipsis</span></a></li>";
|
<span class=\"$catctr_class\">($cat_unread unread)$ellipsis</span></a></li>";
|
||||||
|
|
||||||
// !!! NO SPACE before <ul...feedCatList - breaks firstChild DOM function
|
|
||||||
// -> keyboard navigation, etc.
|
|
||||||
print "<li id=\"feedCatHolder\" class=\"$holder_class\"><ul class=\"feedCatList\" id=\"FCATLIST-$cat_id\">";
|
print "<li id=\"feedCatHolder\" class=\"$holder_class\"><ul class=\"feedCatList\" id=\"FCATLIST-$cat_id\">";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -531,12 +555,19 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print "<div id=\"heading2\"><a href=\"tt-rss.php\">My feeds »</a></div>";
|
||||||
|
|
||||||
|
print "<div id=\"heading\">";
|
||||||
|
if (file_exists("../icons/$feed.ico") && filesize("../icons/$feed.ico") > 0) {
|
||||||
|
print "<img class=\"tinyFeedIcon\" src=\"../icons/$feed.ico\">";
|
||||||
|
}
|
||||||
|
|
||||||
|
print "$feed_title";
|
||||||
|
print "</div>";
|
||||||
|
|
||||||
if (db_num_rows($result) > 0) {
|
if (db_num_rows($result) > 0) {
|
||||||
|
|
||||||
if (!get_pref($link, 'COMBINED_DISPLAY_MODE')) {
|
print "<table class=\"headlines\" cellspacing=\"0\" width=\"100%\">";
|
||||||
print "<table class=\"headlinesList\" id=\"headlinesList\"
|
|
||||||
cellspacing=\"0\" width=\"100%\">";
|
|
||||||
}
|
|
||||||
|
|
||||||
$lnum = 0;
|
$lnum = 0;
|
||||||
|
|
||||||
|
@ -587,6 +618,8 @@
|
||||||
|
|
||||||
print "<tr class='$class'>";
|
print "<tr class='$class'>";
|
||||||
|
|
||||||
|
print "<td class='hlMarkedPic'>$marked_pic</td>";
|
||||||
|
|
||||||
print "<td class='hlContent'>$content_link";
|
print "<td class='hlContent'>$content_link";
|
||||||
|
|
||||||
if ($line["feed_title"]) {
|
if ($line["feed_title"]) {
|
||||||
|
@ -596,9 +629,7 @@
|
||||||
|
|
||||||
print "</td";
|
print "</td";
|
||||||
|
|
||||||
print "<td class='hlMarkedPic'>$marked_pic</td>";
|
print "<td class=\"hlUpdated\"><nobr>$updated_fmt</nobr></td>";
|
||||||
|
|
||||||
print "<td class=\"hlUpdated\"><nobr>$updated_fmt </nobr></td>";
|
|
||||||
|
|
||||||
print "</tr>";
|
print "</tr>";
|
||||||
|
|
||||||
|
@ -613,4 +644,173 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function render_article($link) {
|
||||||
|
|
||||||
|
$id = db_escape_string($_GET["id"]);
|
||||||
|
$feed_id = db_escape_string($_GET["feed"]);
|
||||||
|
|
||||||
|
$result = db_query($link, "SELECT rtl_content FROM ttrss_feeds
|
||||||
|
WHERE id = '$feed_id' AND owner_uid = " . $_SESSION["uid"]);
|
||||||
|
|
||||||
|
if (db_num_rows($result) == 1) {
|
||||||
|
$rtl_content = sql_bool_to_bool(db_fetch_result($result, 0, "rtl_content"));
|
||||||
|
} else {
|
||||||
|
$rtl_content = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($rtl_content) {
|
||||||
|
$rtl_tag = "dir=\"RTL\"";
|
||||||
|
$rtl_class = "RTL";
|
||||||
|
} else {
|
||||||
|
$rtl_tag = "";
|
||||||
|
$rtl_class = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = db_query($link, "UPDATE ttrss_user_entries
|
||||||
|
SET unread = false,last_read = NOW()
|
||||||
|
WHERE ref_id = '$id' AND feed_id = '$feed_id' AND owner_uid = " . $_SESSION["uid"]);
|
||||||
|
|
||||||
|
$result = db_query($link, "SELECT title,link,content,feed_id,comments,int_id,
|
||||||
|
SUBSTRING(updated,1,16) as updated,
|
||||||
|
(SELECT icon_url FROM ttrss_feeds WHERE id = feed_id) as icon_url,
|
||||||
|
num_comments,
|
||||||
|
author
|
||||||
|
FROM ttrss_entries,ttrss_user_entries
|
||||||
|
WHERE id = '$id' AND ref_id = id");
|
||||||
|
|
||||||
|
print "<html><head>
|
||||||
|
<title>Tiny Tiny RSS : Article $id</title>
|
||||||
|
<link rel=\"stylesheet\" href=\"tt-rss.css\" type=\"text/css\">";
|
||||||
|
|
||||||
|
$user_theme = $_SESSION["theme"];
|
||||||
|
if ($user_theme) {
|
||||||
|
print "<link rel=\"stylesheet\" type=\"text/css\"
|
||||||
|
href=\"themes/$user_theme/theme.css\">";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (get_pref($link, 'USE_COMPACT_STYLESHEET')) {
|
||||||
|
print "<link rel=\"stylesheet\" type=\"text/css\"
|
||||||
|
href=\"tt-rss_compact.css\"/>";
|
||||||
|
} else {
|
||||||
|
print "<link title=\"Compact Stylesheet\" rel=\"alternate stylesheet\"
|
||||||
|
type=\"text/css\" href=\"tt-rss_compact.css\"/>";
|
||||||
|
}
|
||||||
|
|
||||||
|
print "<script type=\"text/javascript\" src=\"functions.js\"></script>
|
||||||
|
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
|
||||||
|
</head><body $rtl_tag>";
|
||||||
|
|
||||||
|
if ($result) {
|
||||||
|
|
||||||
|
$line = db_fetch_assoc($result);
|
||||||
|
|
||||||
|
if ($line["icon_url"]) {
|
||||||
|
$feed_icon = "<img class=\"feedIcon\" src=\"" . $line["icon_url"] . "\">";
|
||||||
|
} else {
|
||||||
|
$feed_icon = " ";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* if ($line["comments"] && $line["link"] != $line["comments"]) {
|
||||||
|
$entry_comments = "(<a href=\"".$line["comments"]."\">Comments</a>)";
|
||||||
|
} else {
|
||||||
|
$entry_comments = "";
|
||||||
|
} */
|
||||||
|
|
||||||
|
$num_comments = $line["num_comments"];
|
||||||
|
$entry_comments = "";
|
||||||
|
|
||||||
|
if ($num_comments > 0) {
|
||||||
|
if ($line["comments"]) {
|
||||||
|
$comments_url = $line["comments"];
|
||||||
|
} else {
|
||||||
|
$comments_url = $line["link"];
|
||||||
|
}
|
||||||
|
$entry_comments = "<a href=\"$comments_url\">$num_comments comments</a>";
|
||||||
|
} else {
|
||||||
|
if ($line["comments"] && $line["link"] != $line["comments"]) {
|
||||||
|
$entry_comments = "<a href=\"".$line["comments"]."\">comments</a>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
print "<div class=\"postReply\">";
|
||||||
|
|
||||||
|
print "<div class=\"postHeader\"><table width=\"100%\">";
|
||||||
|
|
||||||
|
$entry_author = $line["author"];
|
||||||
|
|
||||||
|
if ($entry_author) {
|
||||||
|
$entry_author = " - by $entry_author";
|
||||||
|
}
|
||||||
|
|
||||||
|
print "<tr><td><a href=\"" . $line["link"] . "\">" . $line["title"] .
|
||||||
|
"</a>$entry_author</td>";
|
||||||
|
|
||||||
|
$parsed_updated = date(get_pref($link, 'LONG_DATE_FORMAT'),
|
||||||
|
strtotime($line["updated"]));
|
||||||
|
|
||||||
|
print "<td class=\"postDate$rtl_class\">$parsed_updated</td>";
|
||||||
|
|
||||||
|
print "</tr>";
|
||||||
|
|
||||||
|
$tmp_result = db_query($link, "SELECT DISTINCT tag_name FROM
|
||||||
|
ttrss_tags WHERE post_int_id = " . $line["int_id"] . "
|
||||||
|
ORDER BY tag_name");
|
||||||
|
|
||||||
|
$tags_str = "";
|
||||||
|
$f_tags_str = "";
|
||||||
|
|
||||||
|
$num_tags = 0;
|
||||||
|
|
||||||
|
while ($tmp_line = db_fetch_assoc($tmp_result)) {
|
||||||
|
$num_tags++;
|
||||||
|
$tag = $tmp_line["tag_name"];
|
||||||
|
$tag_str = "<a href=\"javascript:parent.viewfeed('$tag')\">$tag</a>, ";
|
||||||
|
|
||||||
|
if ($num_tags == 5) {
|
||||||
|
$tags_str .= "<a href=\"javascript:showBlockElement('allEntryTags')\">...</a>";
|
||||||
|
} else if ($num_tags < 5) {
|
||||||
|
$tags_str .= $tag_str;
|
||||||
|
}
|
||||||
|
$f_tags_str .= $tag_str;
|
||||||
|
}
|
||||||
|
|
||||||
|
$tags_str = preg_replace("/, $/", "", $tags_str);
|
||||||
|
$f_tags_str = preg_replace("/, $/", "", $f_tags_str);
|
||||||
|
|
||||||
|
// $truncated_link = truncate_string($line["link"], 60);
|
||||||
|
|
||||||
|
if ($tags_str || $entry_comments) {
|
||||||
|
print "<tr><td width='50%'>
|
||||||
|
$entry_comments</td>
|
||||||
|
<td align=\"right\">$tags_str</td></tr>";
|
||||||
|
}
|
||||||
|
|
||||||
|
print "</table></div>";
|
||||||
|
|
||||||
|
print "<div class=\"postIcon\">" . $feed_icon . "</div>";
|
||||||
|
print "<div class=\"postContent\">";
|
||||||
|
|
||||||
|
if (db_num_rows($tmp_result) > 5) {
|
||||||
|
print "<div id=\"allEntryTags\">Tags: $f_tags_str</div>";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (get_pref($link, 'OPEN_LINKS_IN_NEW_WINDOW')) {
|
||||||
|
$line["content"] = preg_replace("/href=/i", "target=\"_new\" href=", $line["content"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
print $line["content"] . "</div>";
|
||||||
|
|
||||||
|
print "</div>";
|
||||||
|
|
||||||
|
print "<script type=\"text/javascript\">
|
||||||
|
update_all_counters('$feed_id');
|
||||||
|
</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
print "</body></html>";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
body {
|
body {
|
||||||
padding : 0px;
|
padding : 0px;
|
||||||
margin : 0px;
|
margin : 0px;
|
||||||
width : 640px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input {
|
input {
|
||||||
|
@ -23,18 +22,23 @@ input {
|
||||||
color : black;
|
color : black;
|
||||||
}
|
}
|
||||||
|
|
||||||
#opsel {
|
|
||||||
margin-top : 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#heading {
|
#heading {
|
||||||
padding : 2px;
|
padding : 2px;
|
||||||
|
background-color : white;
|
||||||
|
border-width : 0px 0px 1px 0px;
|
||||||
|
border-style : solid;
|
||||||
|
border-color : #c0c0c0;
|
||||||
|
font-weight : bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#heading2 {
|
||||||
|
float : right;
|
||||||
}
|
}
|
||||||
|
|
||||||
#content {
|
#content {
|
||||||
border-width : 1px 0px 0px 0px;
|
/* border-width : 1px 0px 0px 0px;
|
||||||
border-style : solid;
|
border-style : solid;
|
||||||
border-color : #c0c0c0;
|
border-color : #c0c0c0; */
|
||||||
background-image : url("../images/vgrad_light_rev.png");
|
background-image : url("../images/vgrad_light_rev.png");
|
||||||
background-position : top left;
|
background-position : top left;
|
||||||
background-repeat : repeat-x;
|
background-repeat : repeat-x;
|
||||||
|
@ -140,4 +144,16 @@ ul.feedlist li.tagUnread {
|
||||||
display : none;
|
display : none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
table.headlines td.hlUpdated {
|
||||||
|
font-size : small;
|
||||||
|
color : gray;
|
||||||
|
text-align : right;
|
||||||
|
width : 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.headlines td.hlMarkedPic {
|
||||||
|
width : 25px;
|
||||||
|
text-align : center;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,24 @@
|
||||||
|
|
||||||
login_sequence($link);
|
login_sequence($link);
|
||||||
|
|
||||||
|
/* perform various redirect-needing subops */
|
||||||
|
|
||||||
|
$subop = db_escape_string($_GET["subop"]);
|
||||||
|
$go = $_GET["go"];
|
||||||
|
|
||||||
|
if ($subop == "tc" && !$go) {
|
||||||
|
|
||||||
|
$cat_id = db_escape_string($_GET["id"]);
|
||||||
|
|
||||||
|
if ($cat_id != 0) {
|
||||||
|
db_query($link, "UPDATE ttrss_feed_categories SET
|
||||||
|
collapsed = NOT collapsed WHERE id = '$cat_id' AND owner_uid = " .
|
||||||
|
$_SESSION["uid"]);
|
||||||
|
header("Location: tt-rss.php");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
@ -23,32 +41,14 @@
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<div id="heading">
|
|
||||||
|
|
||||||
<div id="opsel">
|
|
||||||
<form method="GET">
|
|
||||||
<select name="go">
|
|
||||||
<option>Feeds</option>
|
|
||||||
<option disabled>Preferences</option>
|
|
||||||
<option disabled>--------------</option>
|
|
||||||
<option disabled>[user feed list]</option>
|
|
||||||
<option disabled>--------------</option>
|
|
||||||
<option>Logout</option>
|
|
||||||
</select>
|
|
||||||
<input type="submit" value="Go">
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="content">
|
<div id="content">
|
||||||
<?
|
<?
|
||||||
$go = $_GET["go"];
|
if (!$go) {
|
||||||
|
|
||||||
if (!$go || $go == "Feeds") {
|
|
||||||
render_feeds_list($link);
|
render_feeds_list($link);
|
||||||
} else if ($go == "vf") {
|
} else if ($go == "vf") {
|
||||||
render_headlines($link);
|
render_headlines($link);
|
||||||
|
} else if ($go == "view") {
|
||||||
|
render_article($link);
|
||||||
} else {
|
} else {
|
||||||
print "Function not implemented";
|
print "Function not implemented";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue