From 6f068202d7e472be431ddde436e4623a6a6d20b9 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 4 Jan 2010 12:12:31 +0300 Subject: [PATCH] rework the way DEFAULT_ARTICLE_LIMIT works, remove limit toolbar dropdown (bump schema) --- backend.php | 2 +- modules/pref-prefs.php | 4 ++++ sanity_check.php | 2 +- schema/ttrss_schema_mysql.sql | 6 +++--- schema/ttrss_schema_pgsql.sql | 6 +++--- schema/versions/mysql/61.sql | 9 +++++++++ schema/versions/pgsql/61.sql | 9 +++++++++ tt-rss.js | 1 - tt-rss.php | 29 +++++------------------------ viewfeed.js | 18 ++++++------------ 10 files changed, 41 insertions(+), 45 deletions(-) create mode 100644 schema/versions/mysql/61.sql create mode 100644 schema/versions/pgsql/61.sql diff --git a/backend.php b/backend.php index e1cc82a12..f1b9cd343 100644 --- a/backend.php +++ b/backend.php @@ -264,7 +264,7 @@ $feed = db_escape_string($_REQUEST["feed"]); $subop = db_escape_string($_REQUEST["subop"]); $view_mode = db_escape_string($_REQUEST["view_mode"]); - $limit = db_escape_string($_REQUEST["limit"]); + $limit = (int) get_pref($link, "DEFAULT_ARTICLE_LIMIT"); $cat_view = db_escape_string($_REQUEST["cat"]); $next_unread_feed = db_escape_string($_REQUEST["nuf"]); $offset = db_escape_string($_REQUEST["skip"]); diff --git a/modules/pref-prefs.php b/modules/pref-prefs.php index 8159f0f01..7d1c95d49 100644 --- a/modules/pref-prefs.php +++ b/modules/pref-prefs.php @@ -105,6 +105,10 @@ // print "$pref_name : $type_name : $value
"; + if ($pref_name == 'DEFAULT_ARTICLE_LIMIT' && $value == 0) { + $value = 30; + } + db_query($link, "UPDATE ttrss_user_prefs SET value = '$value' WHERE pref_name = '$pref_name' AND owner_uid = ".$_SESSION["uid"]); diff --git a/sanity_check.php b/sanity_check.php index b8384a61a..00c7925c4 100644 --- a/sanity_check.php +++ b/sanity_check.php @@ -2,7 +2,7 @@ require_once "functions.php"; define('EXPECTED_CONFIG_VERSION', 18); - define('SCHEMA_VERSION', 60); + define('SCHEMA_VERSION', 61); if (!file_exists("config.php")) { print "Fatal Error: You forgot to copy diff --git a/schema/ttrss_schema_mysql.sql b/schema/ttrss_schema_mysql.sql index 68611c94e..878f5a900 100644 --- a/schema/ttrss_schema_mysql.sql +++ b/schema/ttrss_schema_mysql.sql @@ -238,7 +238,7 @@ create table ttrss_tags (id integer primary key auto_increment, create table ttrss_version (schema_version int not null) TYPE=InnoDB; -insert into ttrss_version values (60); +insert into ttrss_version values (61); create table ttrss_enclosures (id serial not null primary key, content_url text not null, @@ -282,8 +282,8 @@ insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_ 'Experimental support for virtual feeds based on user crafted SQL queries. This feature is highly experimental and at this point not user friendly. Use with caution.'); insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('DEFAULT_UPDATE_INTERVAL', 3, '30', 'Default interval between feed updates (in minutes)',1); -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('DEFAULT_ARTICLE_LIMIT', 3, '0', 'Default article limit',2, - 'Default limit for articles to display, any custom number you like (0 - disables).'); + +insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('DEFAULT_ARTICLE_LIMIT', 3, '30', 'Amount of articles to display at once',2); insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('ALLOW_DUPLICATE_POSTS', 1, 'true', 'Allow duplicate posts',1, 'This option is useful when you are reading several planet-type aggregators with partially colliding userbase. When disabled, it forces same posts from different feeds to appear only once.'); diff --git a/schema/ttrss_schema_pgsql.sql b/schema/ttrss_schema_pgsql.sql index f2b0e808d..93791ebb2 100644 --- a/schema/ttrss_schema_pgsql.sql +++ b/schema/ttrss_schema_pgsql.sql @@ -210,7 +210,7 @@ create index ttrss_tags_owner_uid_index on ttrss_tags(owner_uid); create table ttrss_version (schema_version int not null); -insert into ttrss_version values (60); +insert into ttrss_version values (61); create table ttrss_enclosures (id serial not null primary key, content_url text not null, @@ -248,8 +248,8 @@ insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_ 'Experimental support for virtual feeds based on user crafted SQL queries. This feature is highly experimental and at this point not user friendly. Use with caution.'); insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('DEFAULT_UPDATE_INTERVAL', 3, '30', 'Default interval between feed updates (in minutes)',1); -insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('DEFAULT_ARTICLE_LIMIT', 3, '0', 'Default article limit',2, - 'Default limit for articles to display, any custom number you like (0 - disables).'); + +insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('DEFAULT_ARTICLE_LIMIT', 3, '30', 'Amount of articles to display at once',2); insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('ALLOW_DUPLICATE_POSTS', 1, 'true', 'Allow duplicate posts',1, 'This option is useful when you are reading several planet-type aggregators with partially colliding userbase. When disabled, it forces same posts from different feeds to appear only once.'); diff --git a/schema/versions/mysql/61.sql b/schema/versions/mysql/61.sql new file mode 100644 index 000000000..209a7ba55 --- /dev/null +++ b/schema/versions/mysql/61.sql @@ -0,0 +1,9 @@ +begin; + +update ttrss_prefs set short_desc = 'Amount of articles to display at once', help_text = '', def_value = '30' where pref_name = 'DEFAULT_ARTICLE_LIMIT'; + +update ttrss_user_prefs set value = '30' where pref_name = 'DEFAULT_ARTICLE_LIMIT' and value = '0'; + +update ttrss_version set schema_version = 61; + +commit; diff --git a/schema/versions/pgsql/61.sql b/schema/versions/pgsql/61.sql new file mode 100644 index 000000000..209a7ba55 --- /dev/null +++ b/schema/versions/pgsql/61.sql @@ -0,0 +1,9 @@ +begin; + +update ttrss_prefs set short_desc = 'Amount of articles to display at once', help_text = '', def_value = '30' where pref_name = 'DEFAULT_ARTICLE_LIMIT'; + +update ttrss_user_prefs set value = '30' where pref_name = 'DEFAULT_ARTICLE_LIMIT' and value = '0'; + +update ttrss_version set schema_version = 61; + +commit; diff --git a/tt-rss.js b/tt-rss.js index 824727291..27432be75 100644 --- a/tt-rss.js +++ b/tt-rss.js @@ -514,7 +514,6 @@ function init_second_stage() { var toolbar = document.forms["main_toolbar_form"]; dropboxSelect(toolbar.view_mode, getInitParam("default_view_mode")); - dropboxSelect(toolbar.limit, getInitParam("default_view_limit")); dropboxSelect(toolbar.order_by, getInitParam("default_view_order_by")); daemon_enabled = getInitParam("daemon_enabled") == 1; diff --git a/tt-rss.php b/tt-rss.php index de08e7a9c..eb607a20d 100644 --- a/tt-rss.php +++ b/tt-rss.php @@ -226,7 +226,8 @@ - @@ -235,36 +236,16 @@ - +   - - - 15, 30 => 30, 60 => 60, 0 => __("All")); - - $def_art_limit = get_pref($link, 'DEFAULT_ARTICLE_LIMIT'); - - if ($def_art_limit >= 0 && !array_key_exists($def_art_limit, $limits)) { - $limits[$def_art_limit] = $def_art_limit; - } - - asort($limits); - - if (!$def_art_limit) { - $def_art_limit = 30; - } - - print_select_hash("limit", $def_art_limit, $limits, - 'onchange="viewLimitChanged()"'); - - ?> -   e.scrollHeight - 100) { - if (!_infscroll_disable) { - debug("more cowbell!"); - viewNextFeedPage(); - } + if (e.scrollTop + e.offsetHeight > e.scrollHeight - 100) { + if (!_infscroll_disable) { + debug("more cowbell!"); + viewNextFeedPage(); } }