summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-04-01 10:09:22 +0400
committerAndrew Dolgov <[email protected]>2013-04-01 10:09:22 +0400
commita2a3d5a3aa937441e8cf29fd2d7626e6dade879c (patch)
treec29e451c32a1be5cfc8468d0051fd706221dd29c
parentb4f83063cc59daff04887a585b1a3c1e5880e9d0 (diff)
add (disabled) per-feed view_settings handling placeholder
-rw-r--r--classes/feeds.php14
-rw-r--r--include/functions.php20
-rw-r--r--index.php15
-rw-r--r--js/feedlist.js38
-rw-r--r--js/tt-rss.js4
-rw-r--r--js/viewfeed.js4
6 files changed, 78 insertions, 17 deletions
diff --git a/classes/feeds.php b/classes/feeds.php
index 0b46155cf..2826f175e 100644
--- a/classes/feeds.php
+++ b/classes/feeds.php
@@ -835,8 +835,20 @@ class Feeds extends Handler_Protected {
ccache_update($this->link, $feed, $_SESSION["uid"], $cat_view);
}
+/* if (is_numeric($feed) && $feed > 0) {
+ $view_settings = db_escape_string($this->link, json_encode(array(
+ "view_mode" => $view_mode, "order_by" => $order_by)));
+
+ $table = $cat_view ? "ttrss_feed_categories" : "ttrss_feeds";
+
+ db_query($this->link, "UPDATE $table SET view_settings = '$view_settings'
+ WHERE id = '$feed' AND owner_uid = " . $_SESSION["uid"]);
+ } else {
+ set_pref($this->link, "_DEFAULT_VIEW_MODE", $view_mode);
+ set_pref($this->link, "_DEFAULT_VIEW_ORDER_BY", $order_by);
+ } */
+
set_pref($this->link, "_DEFAULT_VIEW_MODE", $view_mode);
- set_pref($this->link, "_DEFAULT_VIEW_LIMIT", $limit);
set_pref($this->link, "_DEFAULT_VIEW_ORDER_BY", $order_by);
/* bump login timestamp if needed */
diff --git a/include/functions.php b/include/functions.php
index 3bb158c05..1c1b73a37 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -1138,7 +1138,7 @@
array_push($ret_arr, $cv);
- $result = db_query($link, "SELECT id AS cat_id, value AS unread,
+ $result = db_query($link, "SELECT id AS cat_id, view_settings, value AS unread,
(SELECT COUNT(id) FROM ttrss_feed_categories AS c2
WHERE c2.parent_cat = ttrss_feed_categories.id) AS num_children
FROM ttrss_feed_categories, ttrss_cat_counters_cache
@@ -1149,6 +1149,13 @@
while ($line = db_fetch_assoc($result)) {
$line["cat_id"] = (int) $line["cat_id"];
+ /* if ($line["view_settings"])
+ $view_settings = @json_decode($line["view_settings"]);
+ else
+ $view_settings = null; */
+
+ $view_settings = null;
+
if ($line["num_children"] > 0) {
$child_counter = getCategoryChildrenUnread($link, $line["cat_id"], $_SESSION["uid"]);
} else {
@@ -1156,6 +1163,7 @@
}
$cv = array("id" => $line["cat_id"], "kind" => "cat",
+ "vs" => $view_settings,
"counter" => $line["unread"] + $child_counter);
array_push($ret_arr, $cv);
@@ -1465,7 +1473,7 @@
$ret_arr = array();
- $query = "SELECT ttrss_feeds.id,
+ $query = "SELECT ttrss_feeds.id, view_settings,
ttrss_feeds.title,
".SUBSTRING_FOR_DATE."(ttrss_feeds.last_updated,1,19) AS last_updated,
last_error, value AS count
@@ -1490,8 +1498,16 @@
if (date('Y') - date('Y', strtotime($line['last_updated'])) > 2)
$last_updated = '';
+ /* if ($line["view_settings"])
+ $view_settings = @json_decode($line["view_settings"]);
+ else
+ $view_settings = null; */
+
+ $view_settings = null;
+
$cv = array("id" => $id,
"updated" => $last_updated,
+ "vs" => $view_settings,
"counter" => (int) $count,
"has_img" => (int) $has_img);
diff --git a/index.php b/index.php
index 371c4aff3..6753ed59d 100644
--- a/index.php
+++ b/index.php
@@ -169,7 +169,7 @@
&lt;&lt;</button>
<select name="view_mode" title="<?php echo __('Show articles') ?>"
- onchange="viewModeChanged()"
+ onchange="viewModeChanged(event)"
dojoType="dijit.form.Select">
<option selected="selected" value="adaptive"><?php echo __('Adaptive') ?></option>
<option value="all_articles"><?php echo __('All Articles') ?></option>
@@ -182,20 +182,15 @@
</select>
<select title="<?php echo __('Sort articles') ?>"
- onchange="viewModeChanged()"
+ onchange="viewModeChanged(event)"
dojoType="dijit.form.Select" name="order_by">
<option selected="selected" value="default"><?php echo __('Default') ?></option>
<option value="feed_dates"><?php echo __('Newest first') ?></option>
<option value="date_reverse"><?php echo __('Oldest first') ?></option>
</select>
- <!-- deprecated -->
- <button dojoType="dijit.form.Button" name="update" style="display : none"
- onclick="viewCurrentFeed()">
- <?php echo __('Update') ?></button>
-
<select title="<?php echo __('Mark feed as read') ?>"
- onchange="catchupCurrentFeed(this)"
+ onchange="catchupCurrentFeed(event)"
dojoType="dijit.form.Select" name="catchup_feed">
<option selected="selected" value="default"><?php echo __('Mark as read') ?></option>
<option value="all"><?php echo __('All articles') ?></option>
@@ -204,6 +199,10 @@
<option value="2weeks"><?php echo __('Older than two weeks') ?></option>
</select>
+ <button dojoType="dijit.form.Button"
+ onclick="viewCurrentFeed()">
+ <?php echo __('Refresh') ?></button>
+
</form>
<div class="actionChooser">
diff --git a/js/feedlist.js b/js/feedlist.js
index 9d643142b..bde96c4db 100644
--- a/js/feedlist.js
+++ b/js/feedlist.js
@@ -2,6 +2,7 @@ var _infscroll_disable = 0;
var _infscroll_request_sent = 0;
var _search_query = false;
var _viewfeed_last = 0;
+var view_settings = [];
var counters_last_request = 0;
@@ -92,6 +93,37 @@ function viewfeed(feed, method, is_cat, offset, background, infscroll_req) {
Form.enable("main_toolbar_form");
+ /* var toolbar = document.forms["main_toolbar_form"];
+ var ft = is_cat ? 'C' : 'F';
+
+ _viewmode_disabled = Math.round(new Date().getTime());
+
+ if (feed != getActiveFeedId() || is_cat != activeFeedIsCat()) {
+ var vs = view_settings[ft + ':' + feed];
+ if (vs) {
+ dijit.getEnclosingWidget(toolbar.view_mode).attr('value',
+ vs.view_mode);
+
+ dijit.getEnclosingWidget(toolbar.order_by).attr('value',
+ vs.order_by);
+ } else {
+ dijit.getEnclosingWidget(toolbar.view_mode).attr('value',
+ getInitParam("default_view_mode"));
+
+ dijit.getEnclosingWidget(toolbar.order_by).attr('value',
+ getInitParam("default_view_order_by"));
+ }
+
+ } else if (parseInt(feed) > 0) {
+ var ft = is_cat ? 'C' : 'F';
+
+ var view_mode = dijit.getEnclosingWidget(toolbar.view_mode).attr('value');
+ var order_by = dijit.getEnclosingWidget(toolbar.order_by).attr('value');
+
+ view_settings[ft + ':' + feed] = {'view_mode': view_mode,
+ 'order_by': order_by};
+ } */
+
var toolbar_query = Form.serialize("main_toolbar_form");
var query = "?op=feeds&method=view&feed=" + feed + "&" +
@@ -214,6 +246,12 @@ function parse_counters(elems, scheduled_call) {
var error = elems[l].error;
var has_img = elems[l].has_img;
var updated = elems[l].updated;
+ var vs = elems[l].vs;
+
+ if (vs) {
+ var ft = (kind == "cat") ? "C" : "F";
+ view_settings[ft + ":" + id] = vs;
+ }
if (id == "global-unread") {
global_unread = ctr;
diff --git a/js/tt-rss.js b/js/tt-rss.js
index 6c921c258..5f8604f94 100644
--- a/js/tt-rss.js
+++ b/js/tt-rss.js
@@ -752,10 +752,6 @@ function viewModeChanged() {
return viewCurrentFeed('');
}
-function viewLimitChanged() {
- return viewCurrentFeed('');
-}
-
function rescoreCurrentFeed() {
var actid = getActiveFeedId();
diff --git a/js/viewfeed.js b/js/viewfeed.js
index 0ef890622..a163dda21 100644
--- a/js/viewfeed.js
+++ b/js/viewfeed.js
@@ -52,9 +52,9 @@ function headlines_callback2(transport, offset, background, infscroll_req) {
setActiveFeedId(feed_id, is_cat);
- dijit.getEnclosingWidget(
+ /* dijit.getEnclosingWidget(
document.forms["main_toolbar_form"].update).attr('disabled',
- is_cat || feed_id <= 0);
+ is_cat || feed_id <= 0); */
try {
if (infscroll_req == false) {