diff --git a/include/functions.php b/include/functions.php index ac9cce90f04300e2c9c87f163f36b6c6ebe48c32..68271ff732abb495a7ac866a8db049042600631d 100644 --- a/include/functions.php +++ b/include/functions.php @@ -1,6 +1,6 @@ <?php define('EXPECTED_CONFIG_VERSION', 26); - define('SCHEMA_VERSION', 101); + define('SCHEMA_VERSION', 102); $fetch_last_error = false; $pluginhost = false; diff --git a/mobile/mobile-functions.php b/mobile/mobile-functions.php index ffd7ba80d10b9c91f456c2104be78228ffb84897..65bba55df4e764df11f62fad4b3fdbf8118a357c 100644 --- a/mobile/mobile-functions.php +++ b/mobile/mobile-functions.php @@ -349,7 +349,7 @@ $qfh_ret = queryFeedHeadlines($link, $feed_id, $limit, $view_mode, $is_cat, $search, $search_mode, $match_on, - "score DESC, date_entered DESC", $offset); + "score DESC, date_entered ".(mobile_get_pref($link, 'REVERSE_HEADLINES') ? 'ASC' : 'DESC'), $offset); $result = $qfh_ret[0]; $feed_title = $qfh_ret[1]; diff --git a/mobile/mobile.js b/mobile/mobile.js index 2771a8a40f48abbf9f1fc0f0a07e0dd6b71853cc..3fed3a1d70d332d112d3db42124f0aa4ff24381d 100644 --- a/mobile/mobile.js +++ b/mobile/mobile.js @@ -10,7 +10,7 @@ function toggleMarked(id, elem) { toggled = 0; } - var query = "?op=toggleMarked&id=" + id + "&mark=" + toggled; + var query = "op=toggleMarked&id=" + id + "&mark=" + toggled; new Ajax.Request(backend, { parameters: query, @@ -29,7 +29,7 @@ function togglePublished(id, elem) { toggled = 0; } - var query = "?op=togglePublished&id=" + id + "&pub=" + toggled; + var query = "op=togglePublished&id=" + id + "&pub=" + toggled; new Ajax.Request(backend, { parameters: query, @@ -49,7 +49,7 @@ function toggleUnread(id, elem) { toggled = 0; } - var query = "?op=toggleUnread&id=" + id + "&unread=" + toggled; + var query = "op=toggleUnread&id=" + id + "&unread=" + toggled; new Ajax.Request(backend, { parameters: query, @@ -69,7 +69,7 @@ function setPref(elem) { toggled = 0; } - var query = "?op=setPref&id=" + id + "&to=" + toggled; + var query = "op=setPref&id=" + id + "&to=" + toggled; new Ajax.Request(backend, { parameters: query, diff --git a/mobile/prefs.php b/mobile/prefs.php index 59c2d04aee0c126393725ae99a690a9b780f58b6..6b053dc3b0aafadc6f505c55a82d566bf0e7d560 100644 --- a/mobile/prefs.php +++ b/mobile/prefs.php @@ -46,4 +46,9 @@ <div class="toggle" id="SORT_FEEDS_UNREAD" onclick="setPref(this)" toggled="<?php echo mobile_pref_toggled($link, "SORT_FEEDS_UNREAD") ?>"><span class="thumb"></span><span class="toggleOn"><?php echo __('ON') ?></span><span class="toggleOff"><?php echo __('OFF') ?></span></div> </div> +<div class="row"> + <label><?php echo __('Reverse headline order (oldest first)') ?></label> + <div class="toggle" id="REVERSE_HEADLINES" onclick="setPref(this)" toggled="<?php echo mobile_pref_toggled($link, "REVERSE_HEADLINES") ?>"><span class="thumb"></span><span class="toggleOn"><?php echo __('ON') ?></span><span class="toggleOff"><?php echo __('OFF') ?></span></div> +</div> + </fieldset> diff --git a/plugins/owncloud/owncloud.php b/plugins/owncloud/owncloud.php index e63ff959cbfd42228eb0532c3474e9f20d25b96f..b846241b87efab923466994ee2f4fb0358b9f81d 100644 --- a/plugins/owncloud/owncloud.php +++ b/plugins/owncloud/owncloud.php @@ -16,12 +16,57 @@ class OwnCloud extends Plugin { $this->host = $host; $host->add_hook($host::HOOK_ARTICLE_BUTTON, $this); + $host->add_hook($host::HOOK_PREFS_TAB, $this); + } + + function save() { + $owncloud_url = db_escape_string($_POST["owncloud_url"]); + $this->host->set($this, "owncloud", $owncloud_url); + echo "Value set to $owncloud_url"; } function get_js() { return file_get_contents(dirname(__FILE__) . "/owncloud.js"); } + function hook_prefs_tab($args) { + if ($args != "prefPrefs") return; + + print "<div dojoType=\"dijit.layout.AccordionPane\" title=\"".__("Owncloud")."\">"; + + print "<br/>"; + + $value = $this->host->get($this, "owncloud"); + print "<form dojoType=\"dijit.form.Form\">"; + + print "<script type=\"dojo/method\" event=\"onSubmit\" args=\"evt\"> + evt.preventDefault(); + if (this.validate()) { + console.log(dojo.objectToQuery(this.getValues())); + new Ajax.Request('backend.php', { + parameters: dojo.objectToQuery(this.getValues()), + onComplete: function(transport) { + notify_info(transport.responseText); + } + }); + } + </script>"; + + print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"op\" value=\"pluginhandler\">"; + print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"method\" value=\"save\">"; + print "<input dojoType=\"dijit.form.TextBox\" style=\"display : none\" name=\"plugin\" value=\"owncloud\">"; + print "<table width=\"100%\" class=\"prefPrefsList\">"; + print "<tr><td width=\"40%\">".__("Owncloud url")."</td>"; + print "<td class=\"prefValue\"><input dojoType=\"dijit.form.ValidationTextBox\" required=\"1\" name=\"owncloud_url\" regExp='^(http|https)://.*' value=\"$value\"></td></tr>"; + print "</table>"; + print "<p><button dojoType=\"dijit.form.Button\" type=\"submit\">".__("Save")."</button>"; + + print "</form>"; + + print "</div>"; #pane + + } + function hook_article_button($line) { return "<img src=\"".theme_image($this->link, "plugins/owncloud/owncloud.png")."\" style=\"cursor : pointer\" style=\"cursor : pointer\" @@ -31,21 +76,18 @@ class OwnCloud extends Plugin { function getOwnCloud() { $id = db_escape_string($_REQUEST['id']); - + $result = db_query($this->link, "SELECT title, link FROM ttrss_entries, ttrss_user_entries WHERE id = '$id' AND ref_id = id AND owner_uid = " .$_SESSION['uid']); - + if (db_num_rows($result) != 0) { $title = truncate_string(strip_tags(db_fetch_result($result, 0, 'title')), 100, '...'); $article_link = db_fetch_result($result, 0, 'link'); } - - $own_url = ""; - if (defined('OWNCLOUD_URL')) { - $own_url = OWNCLOUD_URL; - } + + $own_url = $this->host->get($this, "owncloud"); print json_encode(array("title" => $title, "link" => $article_link, "id" => $id, "ownurl" => $own_url)); diff --git a/schema/ttrss_schema_mysql.sql b/schema/ttrss_schema_mysql.sql index d4531308f80c92f2f4bf6757a8f940e081742025..10320b5b7d52e09072b3f37d78fc40b8546e8c6b 100644 --- a/schema/ttrss_schema_mysql.sql +++ b/schema/ttrss_schema_mysql.sql @@ -309,7 +309,7 @@ create table ttrss_tags (id integer primary key auto_increment, create table ttrss_version (schema_version int not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8; -insert into ttrss_version values (101); +insert into ttrss_version values (102); create table ttrss_enclosures (id integer primary key auto_increment, content_url text not null, @@ -455,6 +455,8 @@ insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) valu insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_ENABLED_PLUGINS', 2, '', '', 1); +insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_MOBILE_REVERSE_HEADLINES', 1, 'false', '', 1); + update ttrss_prefs set access_level = 1 where pref_name in ('ON_CATCHUP_SHOW_NEXT_FEED', 'SORT_HEADLINES_BY_FEED_DATE', 'VFEED_GROUP_BY_FEED', diff --git a/schema/ttrss_schema_pgsql.sql b/schema/ttrss_schema_pgsql.sql index f52d4191d30fe30384cc65368daf0b156d7a5d62..33c32d181b483ec675831405836d9c31a9842d40 100644 --- a/schema/ttrss_schema_pgsql.sql +++ b/schema/ttrss_schema_pgsql.sql @@ -257,7 +257,7 @@ create index ttrss_tags_post_int_id_idx on ttrss_tags(post_int_id); create table ttrss_version (schema_version int not null); -insert into ttrss_version values (101); +insert into ttrss_version values (102); create table ttrss_enclosures (id serial not null primary key, content_url text not null, @@ -395,6 +395,8 @@ insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) valu insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_ENABLED_PLUGINS', 2, '', '', 1); +insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_MOBILE_REVERSE_HEADLINES', 1, 'false', '', 1); + update ttrss_prefs set access_level = 1 where pref_name in ('ON_CATCHUP_SHOW_NEXT_FEED', 'SORT_HEADLINES_BY_FEED_DATE', 'VFEED_GROUP_BY_FEED', diff --git a/schema/versions/mysql/102.sql b/schema/versions/mysql/102.sql new file mode 100644 index 0000000000000000000000000000000000000000..ccf5ef3b3523e8ab165527a7814f87c5e7823404 --- /dev/null +++ b/schema/versions/mysql/102.sql @@ -0,0 +1,7 @@ +begin; + +insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_MOBILE_REVERSE_HEADLINES', 1, 'false', '', 1); + +update ttrss_version set schema_version = 102; + +commit; diff --git a/schema/versions/pgsql/102.sql b/schema/versions/pgsql/102.sql new file mode 100644 index 0000000000000000000000000000000000000000..ccf5ef3b3523e8ab165527a7814f87c5e7823404 --- /dev/null +++ b/schema/versions/pgsql/102.sql @@ -0,0 +1,7 @@ +begin; + +insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_MOBILE_REVERSE_HEADLINES', 1, 'false', '', 1); + +update ttrss_version set schema_version = 102; + +commit;