diff options
author | Andrew Dolgov <[email protected]> | 2009-12-17 20:35:49 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2009-12-17 20:35:49 +0300 |
commit | 3e0923463f1cc0ec3943cd7e7d8f1e194a2c9015 (patch) | |
tree | 1db5fbeea24b6d60a88b3a9a2d6d909775d584ef | |
parent | ea520dd6acc5e535f8554b8bb4e72ee16de10fc8 (diff) |
mobile: fix page to page navigation
-rw-r--r-- | lib/iui/iui.js | 26 | ||||
-rw-r--r-- | mobile/article.php | 3 | ||||
-rw-r--r-- | mobile/feed.php | 5 | ||||
-rw-r--r-- | mobile/functions.php | 126 | ||||
-rw-r--r-- | mobile/index.php | 13 |
5 files changed, 111 insertions, 62 deletions
diff --git a/lib/iui/iui.js b/lib/iui/iui.js index 6001b27bc..d47cbddb2 100644 --- a/lib/iui/iui.js +++ b/lib/iui/iui.js @@ -203,7 +203,7 @@ addEventListener("click", function(event) iui.showPage($(link.hash.substr(1))); setTimeout(unselect, 500); } - else if (link == $("backButton")) { + if (link == $("backButton")) { history.back(); } else if (link.getAttribute("type") == "submit") { @@ -233,7 +233,10 @@ addEventListener("click", function(event) else if (!link.target) { link.setAttribute("selected", "progress"); - iui.showPageByHref(link.href, null, null, null, unselect); + + var backwards = link.getAttribute("backwards"); + + iui.showPageByHref(link.href, null, null, null, unselect, backwards); } else return; @@ -361,6 +364,25 @@ function updatePage(page, fromPage) else backButton.style.display = "none"; } + + + var backButton = $("myBackButton"); + if (backButton) + { + var label = page.getAttribute("myBackLabel"); + + if (label) + { + backButton.style.display = "inline"; + backButton.innerHTML = label; + backButton.href = page.getAttribute("myBackHref"); + backButton.target = page.getAttribute("myBackTarget"); + backButton.setAttribute("backwards", "true"); + } + else + backButton.style.display = "none"; + } + } function slidePages(fromPage, toPage, backwards) diff --git a/mobile/article.php b/mobile/article.php index 28fef041f..2379e9395 100644 --- a/mobile/article.php +++ b/mobile/article.php @@ -22,7 +22,8 @@ $id = db_escape_string($_REQUEST["id"]); $feed_id = db_escape_string($_REQUEST["feed"]); + $cat_id = db_escape_string($_REQUEST["cat"]); - render_article($link, $id, $feed_id); + render_article($link, $id, $feed_id, $cat_id); ?> diff --git a/mobile/feed.php b/mobile/feed.php index c729cc341..610dd6adf 100644 --- a/mobile/feed.php +++ b/mobile/feed.php @@ -20,8 +20,9 @@ login_sequence($link, true); - $feed = db_escape_string($_REQUEST["id"]); + $feed_id = db_escape_string($_REQUEST["id"]); + $cat_id = db_escape_string($_REQUEST["cat"]); - render_headlines_list($link, $feed); + render_headlines_list($link, $feed_id, $cat_id); ?> diff --git a/mobile/functions.php b/mobile/functions.php index bc4582134..b7b842b65 100644 --- a/mobile/functions.php +++ b/mobile/functions.php @@ -33,15 +33,16 @@ $title = getCategoryTitle($link, $cat_id); - print "<ul id='cat-$cat_id' title='$title'>"; + print "<ul id='cat-$cat_id' title='$title' myBackLabel='Feeds' + myBackHref='index.php' myBackTarget='_self'>"; - print "<li><a href='#cat-actions'>".__('Actions...')."</a></li>"; +// print "<li><a href='#cat-actions'>".__('Actions...')."</a></li>"; while ($line = db_fetch_assoc($result)) { $id = $line["id"]; $unread = $line["unread"]; - $unread = rand(0, 100); +// $unread = rand(0, 100); if ($unread > 0) { $line["title"] = $line["title"] . " ($unread)"; @@ -56,7 +57,7 @@ $icon_url = "../images/blank_icon.gif"; } - print "<li class='$class'><a href='feed.php?id=$id'>" . + print "<li class='$class'><a href='feed.php?id=$id&cat=$cat_id'>" . "<img class='tinyIcon' src='$icon_url'/>". $line["title"] . "</a></li>"; } @@ -164,12 +165,12 @@ print "</ul>"; } - function render_headlines_list($link, $feed_id, $is_cat = false) { + function render_headlines_list($link, $feed_id, $cat_id) { $feed_id = $feed_id; $limit = 30; $filter = ''; - $is_cat = $is_cat; + $is_cat = false; $view_mode = 'adaptive'; /* do not rely on params below */ @@ -184,7 +185,10 @@ $result = $qfh_ret[0]; $feed_title = $qfh_ret[1]; - print "<ul id=\"feed-$feed_id\" title=\"$feed_title\" selected=\"true\">"; + $cat_title = getCategoryTitle($link, $cat_id); + + print "<ul id=\"feed-$feed_id\" title=\"$feed_title\" selected=\"true\" + myBackLabel='$cat_title' myBackHref='cat.php?id=$cat_id'>"; while ($line = db_fetch_assoc($result)) { $id = $line["id"]; @@ -195,7 +199,8 @@ $class = 'oldItem'; } - print "<li class='$class'><a href='article.php?id=$id&feed=$feed_id'>"; + print "<li class='$class'> + <a href='article.php?id=$id&feed=$feed_id&cat=$cat_id'>"; print $line["title"]; print "</a></li>"; @@ -205,7 +210,7 @@ } - function render_article($link, $id, $feed_id) { + function render_article($link, $id, $feed_id, $cat_id) { $query = "SELECT title,link,content,feed_id,comments,int_id, marked,unread,published, @@ -217,56 +222,67 @@ $result = db_query($link, $query); - $line = db_fetch_assoc($result); - - if (get_pref($link, 'HEADLINES_SMART_DATE')) { - $updated_fmt = smart_date_time(strtotime($line["updated"])); - } else { - $short_date = get_pref($link, 'SHORT_DATE_FORMAT'); - $updated_fmt = date($short_date, strtotime($line["updated"])); - } - - $title = $line["title"]; - $link = $line["link"]; - - print "<div class=\"panel\" id=\"article-$id\" title=\"$title\" - selected=\"true\">"; - -// print "<h2><a target='_blank' href='$link'>$title</a></h2>"; - - print "<fieldset>"; - - print "<div class=\"row\">"; - print "<label id='title'><a target='_blank' href='$link'>$title</a></label>"; - print "</div>"; + if (db_num_rows($result) != 0) { - $is_starred = (sql_bool_to_bool($line["marked"])) ? "true" : "false"; - $is_published = (sql_bool_to_bool($line["published"])) ? "true" : "false"; + $line = db_fetch_assoc($result); - print "<div class=\"row\"> - <label>Starred</label> - <div class=\"toggle\" onclick=\"toggleMarked($id, this)\" toggled=\"$is_starred\"><span class=\"thumb\"></span><span class=\"toggleOn\">ON</span><span class=\"toggleOff\">OFF</span></div> - </div>"; - - print "<div class=\"row\"> - <label>Published</label> - <div class=\"toggle\" onclick=\"togglePublished($id, this)\" toggled=\"$is_published\"><span class=\"thumb\"></span><span class=\"toggleOn\">ON</span><span class=\"toggleOff\">OFF</span></div> - </div>"; - - - print "<div class=\"row\">"; - print "<label id='updated'>Updated:</label>"; - print "<input enabled='false' name='updated' disabled value='$updated_fmt'/>"; - print "</div>"; - - print "</fieldset>"; - - print "<p>"; - print $line["content"]; - print "</p>"; + $tmp_result = db_query($link, "UPDATE ttrss_user_entries + SET unread = false,last_read = NOW() + WHERE ref_id = '$id' + AND owner_uid = " . $_SESSION["uid"]); + if (get_pref($link, 'HEADLINES_SMART_DATE')) { + $updated_fmt = smart_date_time(strtotime($line["updated"])); + } else { + $short_date = get_pref($link, 'SHORT_DATE_FORMAT'); + $updated_fmt = date($short_date, strtotime($line["updated"])); + } + + $title = $line["title"]; + $article_link = $line["link"]; + + $feed_title = getFeedTitle($link, $feed_id, false); + + print "<div class=\"panel\" id=\"article-$id\" title=\"$title\" + selected=\"true\" + myBackLabel='$feed_title' myBackHref='feed.php?id=$feed_id&cat=$cat_id'>"; + + // print "<h2><a target='_blank' href='$link'>$title</a></h2>"; + + print "<fieldset>"; + + print "<div class=\"row\">"; + print "<label id='title'><a target='_blank' href='$article_link'>$title</a></label>"; + print "</div>"; + + $is_starred = (sql_bool_to_bool($line["marked"])) ? "true" : "false"; + $is_published = (sql_bool_to_bool($line["published"])) ? "true" : "false"; + + print "<div class=\"row\"> + <label>Starred</label> + <div class=\"toggle\" onclick=\"toggleMarked($id, this)\" toggled=\"$is_starred\"><span class=\"thumb\"></span><span class=\"toggleOn\">ON</span><span class=\"toggleOff\">OFF</span></div> + </div>"; + + print "<div class=\"row\"> + <label>Published</label> + <div class=\"toggle\" onclick=\"togglePublished($id, this)\" toggled=\"$is_published\"><span class=\"thumb\"></span><span class=\"toggleOn\">ON</span><span class=\"toggleOff\">OFF</span></div> + </div>"; + + + print "<div class=\"row\">"; + print "<label id='updated'>Updated:</label>"; + print "<input enabled='false' name='updated' disabled value='$updated_fmt'/>"; + print "</div>"; + + print "</fieldset>"; + + print "<p>"; + print $line["content"]; + print "</p>"; + + print "</div>"; - print "</div>"; + } } ?> diff --git a/mobile/index.php b/mobile/index.php index a2c51093c..4d5cf1e9c 100644 --- a/mobile/index.php +++ b/mobile/index.php @@ -42,6 +42,16 @@ color : gray; } + #myBackButton { + display: none; + left: 6px; + right: auto; + padding: 0; + max-width: 55px; + border-width: 0 8px 0 14px; + -webkit-border-image: url(../lib/iui/backButton.png) 0 8 0 14; + } + img.tinyIcon { max-width : 16px; max-height : 16px; @@ -58,13 +68,12 @@ function togglePublished(id, elem) { alert(id + " => " + elem.getAttribute('toggled')); } - </script> <body> <div class="toolbar"> <h1 id="pageTitle"></h1> - <a id="backButton" class="button" href="#"></a> + <a id="myBackButton" class="button" href="#"></a> <a class="button" target="_self" href="logout.php">Logout</a> </div> |