]> git.wh0rd.org - tt-rss.git/commitdiff
add (disabled) per-feed view_settings handling placeholder
authorAndrew Dolgov <fox@madoka.volgo-balt.ru>
Mon, 1 Apr 2013 06:09:22 +0000 (10:09 +0400)
committerAndrew Dolgov <fox@madoka.volgo-balt.ru>
Mon, 1 Apr 2013 06:09:22 +0000 (10:09 +0400)
classes/feeds.php
include/functions.php
index.php
js/feedlist.js
js/tt-rss.js
js/viewfeed.js

index 0b46155cf4b282e42fece79242489b35b374b784..2826f175eb7476856ef7f10bf1509fb22ae1e0a8 100644 (file)
@@ -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 */
index 3bb158c0588464d4b70d9ac8f6f10885aede845c..1c1b73a376480b52bcc3669ded3238ac9dd19cf4 100644 (file)
 
                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
                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 {
                        }
 
                        $cv = array("id" => $line["cat_id"], "kind" => "cat",
+                               "vs" => $view_settings,
                                "counter" => $line["unread"] + $child_counter);
 
                        array_push($ret_arr, $cv);
 
                $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
                        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);
 
index 371c4aff331b34630ad5498538cce82b85e586bb..6753ed59d51b4a7a1b8aa0f7d3f6265f8056049b 100644 (file)
--- a/index.php
+++ b/index.php
                        &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>
                </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>
                        <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">
index 9d643142b09382d1be20e262e7971f0c03417a65..bde96c4db9a968ea907de90af0f37d5dfa401cb2 100644 (file)
@@ -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;
index 6c921c25872360347643e54d5cf437135b04270a..5f8604f94aa354f57b9b8d125a6ce7ac0a564b83 100644 (file)
@@ -752,10 +752,6 @@ function viewModeChanged() {
        return viewCurrentFeed('');
 }
 
-function viewLimitChanged() {
-       return viewCurrentFeed('');
-}
-
 function rescoreCurrentFeed() {
 
        var actid = getActiveFeedId();
index 0ef890622d65fb02be681a2088ea8b895f8d054f..a163dda21e66e4c2b2f41ff93eb8d18325d8a41a 100644 (file)
@@ -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) {