initial mysql schema, db abstraction layer
parent
0eef53fe3c
commit
648472a7f3
@ -0,0 +1,70 @@
|
||||
<?
|
||||
|
||||
require_once "config.php";
|
||||
|
||||
function db_connect($host, $user, $pass, $db) {
|
||||
if (DB_TYPE == "pgsql") {
|
||||
|
||||
return pg_connect("host=$host dbname=$db user=$user password=$pass");
|
||||
|
||||
} else if (DB_TYPE == "mysql") {
|
||||
$link = mysql_connect($host, $user, $pass);
|
||||
if ($link) {
|
||||
mysql_select_db($db, $link);
|
||||
}
|
||||
return $link;
|
||||
}
|
||||
}
|
||||
|
||||
function db_escape_string($s) {
|
||||
if (DB_TYPE == "pgsql") {
|
||||
return pg_escape_string($s);
|
||||
} else {
|
||||
return mysql_escape_string($s);
|
||||
}
|
||||
}
|
||||
|
||||
function db_query($link, $query) {
|
||||
if (DB_TYPE == "pgsql") {
|
||||
return pg_query($link, $query);
|
||||
} else if (DB_TYPE == "mysql") {
|
||||
return mysql_query($query, $link);
|
||||
}
|
||||
}
|
||||
|
||||
function db_fetch_assoc($result) {
|
||||
if (DB_TYPE == "pgsql") {
|
||||
return pg_fetch_assoc($result);
|
||||
} else if (DB_TYPE == "mysql") {
|
||||
return mysql_fetch_assoc($result);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function db_num_rows($result) {
|
||||
if (DB_TYPE == "pgsql") {
|
||||
return pg_num_rows($link, $query);
|
||||
} else if (DB_TYPE == "mysql") {
|
||||
return mysql_num_rows($link, $query);
|
||||
}
|
||||
}
|
||||
|
||||
function db_fetch_result($result, $row, $param) {
|
||||
if (DB_TYPE == "pgsql") {
|
||||
return pg_fetch_result($result, $row, $param);
|
||||
} else if (DB_TYPE == "mysql") {
|
||||
// FIXME
|
||||
$line = mysql_fetch_assoc($result);
|
||||
return $line[$param];
|
||||
}
|
||||
}
|
||||
|
||||
function db_close($link) {
|
||||
if (DB_TYPE == "pgsql") {
|
||||
|
||||
return pg_close($link);
|
||||
|
||||
} else if (DB_TYPE == "mysql") {
|
||||
return mysql_close($link);
|
||||
}
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
drop table if exists ttrss_entries;
|
||||
drop table if exists ttrss_feeds;
|
||||
|
||||
create table ttrss_feeds (id integer not null auto_increment primary key,
|
||||
title varchar(200) not null unique,
|
||||
feed_url varchar(250) unique not null,
|
||||
icon_url varchar(250) not null default '',
|
||||
last_updated timestamp default null);
|
||||
|
||||
alter table ttrss_feeds ENGINE=InnoDB;
|
||||
|
||||
insert into ttrss_feeds (title,feed_url) values ('Footnotes', 'http://gnomedesktop.org/node/feed');
|
||||
insert into ttrss_feeds (title,feed_url) values ('Freedesktop.org', 'http://planet.freedesktop.org/rss20.xml');
|
||||
insert into ttrss_feeds (title,feed_url) values ('Planet Debian', 'http://planet.debian.org/rss20.xml');
|
||||
insert into ttrss_feeds (title,feed_url) values ('Planet GNOME', 'http://planet.gnome.org/rss20.xml');
|
||||
insert into ttrss_feeds (title,feed_url) values ('Planet Ubuntu', 'http://planet.ubuntulinux.org/rss20.xml');
|
||||
|
||||
insert into ttrss_feeds (title,feed_url) values ('Monologue', 'http://www.go-mono.com/monologue/index.rss');
|
||||
|
||||
insert into ttrss_feeds (title,feed_url) values ('Latest Linux Kernel Versions',
|
||||
'http://kernel.org/kdist/rss.xml');
|
||||
|
||||
insert into ttrss_feeds (title,feed_url) values ('RPGDot Newsfeed',
|
||||
'http://www.rpgdot.com/team/rss/rss0.xml');
|
||||
|
||||
insert into ttrss_feeds (title,feed_url) values ('Digg.com News',
|
||||
'http://digg.com/rss/index.xml');
|
||||
|
||||
insert into ttrss_feeds (title,feed_url) values ('Technocrat.net',
|
||||
'http://syndication.technocrat.net/rss');
|
||||
|
||||
create table ttrss_entries (id integer not null primary key auto_increment,
|
||||
feed_id int id not null,
|
||||
updated timestamp not null,
|
||||
title varchar(250) not null,
|
||||
guid varchar(250) not null unique,
|
||||
link varchar(250) not null,
|
||||
content text not null,
|
||||
content_hash varchar(250) not null,
|
||||
last_read timestamp,
|
||||
marked boolean not null default 'false',
|
||||
date_entered timestamp not null,
|
||||
no_orig_date boolean not null default 'false',
|
||||
comments varchar(250) not null default '',
|
||||
unread boolean not null default true);
|
||||
|
||||
alter table ttrss_entries ENGINE=InnoDB;
|
||||
|
||||
drop table if exists ttrss_filters;
|
||||
drop table if exists ttrss_filter_types;
|
||||
|
||||
create table ttrss_filter_types (id integer primary key,
|
||||
name varchar(120) unique not null,
|
||||
description varchar(250) not null unique);
|
||||
|
||||
alter table ttrss_filter_types ENGINE=InnoDB;
|
||||
|
||||
insert into ttrss_filter_types (id,name,description) values (1, 'title', 'Title');
|
||||
insert into ttrss_filter_types (id,name,description) values (2, 'content', 'Content');
|
||||
insert into ttrss_filter_types (id,name,description) values (3, 'both',
|
||||
'Title or Content');
|
||||
|
||||
create table ttrss_filters (id serial primary key,
|
||||
filter_type integer not null,
|
||||
regexp varchar(250) not null,
|
||||
description varchar(250) not null default '');
|
||||
|
||||
alter table ttrss_filters ENGINE=InnoDB;
|
||||
|
Loading…
Reference in New Issue