diff --git a/defaults/yacy.init b/defaults/yacy.init index 7e0bf4319..5a71518d1 100644 --- a/defaults/yacy.init +++ b/defaults/yacy.init @@ -906,6 +906,7 @@ content.phpbb3.dbtype = mysql content.phpbb3.dbhost = localhost content.phpbb3.dbport = 3306 content.phpbb3.dbname = forum +content.phpbb3.tableprefix = phpbb_ content.phpbb3.dbuser = notroot content.phpbb3.dbpw = joshua content.phpbb3.ppf = 1000 diff --git a/htroot/ContentIntegrationPHPBB3_p.html b/htroot/ContentIntegrationPHPBB3_p.html index be9a3eab3..d49992b70 100644 --- a/htroot/ContentIntegrationPHPBB3_p.html +++ b/htroot/ContentIntegrationPHPBB3_p.html @@ -36,6 +36,9 @@
Name of the database on the host
+
Table prefix string for table names
+
+
User that can access the database
diff --git a/htroot/ContentIntegrationPHPBB3_p.java b/htroot/ContentIntegrationPHPBB3_p.java index 1bbfe5ea3..c17f941d6 100644 --- a/htroot/ContentIntegrationPHPBB3_p.java +++ b/htroot/ContentIntegrationPHPBB3_p.java @@ -46,6 +46,7 @@ public class ContentIntegrationPHPBB3_p { String dbhost = post.get("content.phpbb3.dbhost", ""); int dbport = post.getInt("content.phpbb3.dbport", 3306); String dbname = post.get("content.phpbb3.dbname", ""); + String prefix = post.get("content.phpbb3.tableprefix", ""); String dbuser = post.get("content.phpbb3.dbuser", ""); String dbpw = post.get("content.phpbb3.dbpw", ""); int ppf = post.getInt("content.phpbb3.ppf", 1000); @@ -56,6 +57,7 @@ public class ContentIntegrationPHPBB3_p { sb.setConfig("content.phpbb3.dbhost", dbhost); sb.setConfig("content.phpbb3.dbport", dbport); sb.setConfig("content.phpbb3.dbname", dbname); + sb.setConfig("content.phpbb3.tableprefix", prefix); sb.setConfig("content.phpbb3.dbuser", dbuser); sb.setConfig("content.phpbb3.dbpw", dbpw); sb.setConfig("content.phpbb3.ppf", ppf); @@ -68,6 +70,7 @@ public class ContentIntegrationPHPBB3_p { dbhost, dbport, dbname, + prefix, dbuser, dbpw ); @@ -92,6 +95,7 @@ public class ContentIntegrationPHPBB3_p { dbhost, dbport, dbname, + prefix, dbuser, dbpw ); @@ -114,6 +118,7 @@ public class ContentIntegrationPHPBB3_p { prop.putHTML("content.phpbb3.dbhost", sb.getConfig("content.phpbb3.dbhost", "")); prop.putHTML("content.phpbb3.dbport", sb.getConfig("content.phpbb3.dbport", "")); prop.putHTML("content.phpbb3.dbname", sb.getConfig("content.phpbb3.dbname", "")); + prop.putHTML("content.phpbb3.tableprefix", sb.getConfig("content.phpbb3.tableprefix", "")); prop.putHTML("content.phpbb3.dbuser", sb.getConfig("content.phpbb3.dbuser", "")); prop.putHTML("content.phpbb3.dbpw", sb.getConfig("content.phpbb3.dbpw", "")); prop.putHTML("content.phpbb3.ppf", sb.getConfig("content.phpbb3.ppf", "")); diff --git a/source/de/anomic/content/dao/PhpBB3Dao.java b/source/de/anomic/content/dao/PhpBB3Dao.java index 771c51457..593a2798e 100644 --- a/source/de/anomic/content/dao/PhpBB3Dao.java +++ b/source/de/anomic/content/dao/PhpBB3Dao.java @@ -47,7 +47,7 @@ import de.anomic.yacy.yacyURL; public class PhpBB3Dao implements Dao { private Connection conn = null; - private String urlstub; + private String urlstub, prefix; private HashMap users; public PhpBB3Dao( @@ -56,10 +56,12 @@ public class PhpBB3Dao implements Dao { String host, int port, String dbname, + String prefix, String user, String pw) throws Exception { this.conn = getConnection(dbType, host, port, dbname, user, pw); this.urlstub = urlstub; + this.prefix = prefix; this.users = new HashMap(); } @@ -103,7 +105,7 @@ public class PhpBB3Dao implements Dao { public Date first() { StringBuilder sql = new StringBuilder(256); - sql.append("select min(post_time) from phpbb_posts"); + sql.append("select min(post_time) from " + prefix + "posts"); Statement stmt = null; ResultSet rs = null; try { @@ -124,7 +126,7 @@ public class PhpBB3Dao implements Dao { public Date latest() { StringBuilder sql = new StringBuilder(256); - sql.append("select max(post_time) from phpbb_posts"); + sql.append("select max(post_time) from " + prefix + "posts"); Statement stmt = null; ResultSet rs = null; try { @@ -148,7 +150,7 @@ public class PhpBB3Dao implements Dao { ResultSet rs = null; try { stmt = conn.createStatement(); - rs = stmt.executeQuery("select count(*) from phpbb_posts"); + rs = stmt.executeQuery("select count(*) from " + prefix + "posts"); if (rs.next()) { return rs.getInt(1); } @@ -164,7 +166,7 @@ public class PhpBB3Dao implements Dao { public DCEntry get(int item) { StringBuilder sql = new StringBuilder(256); - sql.append("select * from phpbb_posts where post_id = "); + sql.append("select * from " + prefix + "posts where post_id = "); sql.append(item); return getOne(sql); } @@ -172,7 +174,7 @@ public class PhpBB3Dao implements Dao { public BlockingQueue query(int from, int until, int queueSize) { // define the sql query final StringBuilder sql = new StringBuilder(256); - sql.append("select * from phpbb_posts where post_id >= "); + sql.append("select * from " + prefix + "posts where post_id >= "); sql.append(from); if (until > from) { sql.append(" and post_id < "); @@ -187,7 +189,7 @@ public class PhpBB3Dao implements Dao { public BlockingQueue query(Date from, int queueSize) { // define the sql query final StringBuilder sql = new StringBuilder(256); - sql.append("select * from phpbb_posts where post_time >= "); + sql.append("select * from " + prefix + "posts where post_time >= "); sql.append(from.getTime() / 1000); sql.append(" order by post_id"); @@ -286,7 +288,7 @@ public class PhpBB3Dao implements Dao { if (nick != null) return nick; StringBuilder sql = new StringBuilder(256); - sql.append("select * from phpbb_users where user_id = "); + sql.append("select * from " + prefix + "users where user_id = "); sql.append(poster_id); Statement stmt = null; ResultSet rs = null; @@ -375,6 +377,7 @@ public class PhpBB3Dao implements Dao { "localhost", 3306, "forum", + "forum_", "root", "" );