add rpc method to export feedbrowser data; update schema

This commit is contained in:
Andrew Dolgov 2011-04-20 12:06:30 +04:00
parent 34846e514f
commit afb875ccd7
5 changed files with 36 additions and 0 deletions

View file

@ -834,6 +834,38 @@
return; return;
} }
if ($subop == "fbExport") {
// TODO: change to _POST
$access_key = db_escape_string($_REQUEST["key"]);
// TODO: rate limit checking using last_connected
$result = db_query($link, "SELECT id FROM ttrss_linked_instances
WHERE access_key = '$access_key'");
if (db_num_rows($result) == 1) {
$instance_id = db_fetch_result($result, 0, "id");
$result = db_query($link, "SELECT feed_url, title, subscribers
FROM ttrss_feedbrowser_cache ORDER BY subscribers DESC LIMIT 100");
$feeds = array();
while ($line = db_fetch_assoc($result)) {
array_push($feeds, $line);
}
db_query($link, "UPDATE ttrss_linked_instances SET last_connected = NOW()
WHERE id = '$instance_id'");
print json_encode(array("feeds" => $feeds));
} else {
print json_encode(array("error" => array("code" => 6)));
}
return;
}
print json_encode(array("error" => array("code" => 7, print json_encode(array("error" => array("code" => 7,
"message" => "Unknown method: $subop"))); "message" => "Unknown method: $subop")));
} }

View file

@ -429,6 +429,7 @@ create table ttrss_access_keys (id integer not null primary key auto_increment,
foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) TYPE=InnoDB DEFAULT CHARSET=UTF8; foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) TYPE=InnoDB DEFAULT CHARSET=UTF8;
create table ttrss_linked_instances (id integer not null primary key auto_increment, create table ttrss_linked_instances (id integer not null primary key auto_increment,
last_connected datetime not null,
access_key varchar(250) not null, access_key varchar(250) not null,
access_url text not null) TYPE=InnoDB DEFAULT CHARSET=UTF8; access_url text not null) TYPE=InnoDB DEFAULT CHARSET=UTF8;

View file

@ -389,6 +389,7 @@ create table ttrss_access_keys (id serial not null primary key,
owner_uid integer not null references ttrss_users(id) on delete cascade); owner_uid integer not null references ttrss_users(id) on delete cascade);
create table ttrss_linked_instances (id serial not null primary key, create table ttrss_linked_instances (id serial not null primary key,
last_connected timestamp not null,
access_key varchar(250) not null, access_key varchar(250) not null,
access_url text not null); access_url text not null);

View file

@ -1,6 +1,7 @@
begin; begin;
create table ttrss_linked_instances (id integer not null primary key auto_increment, create table ttrss_linked_instances (id integer not null primary key auto_increment,
last_connected timestamp not null,
access_key varchar(250) not null, access_key varchar(250) not null,
access_url text not null) TYPE=InnoDB DEFAULT CHARSET=UTF8; access_url text not null) TYPE=InnoDB DEFAULT CHARSET=UTF8;

View file

@ -1,6 +1,7 @@
begin; begin;
create table ttrss_linked_instances (id serial not null primary key, create table ttrss_linked_instances (id serial not null primary key,
last_connected datetime not null,
access_key varchar(250) not null, access_key varchar(250) not null,
access_url text not null); access_url text not null);