IPB4 Improve
IPB4 prefix, group, lastvisit support added.
This commit is contained in:
parent
283b5aebb7
commit
648e71cf0f
@ -45,7 +45,9 @@ public class MySQL implements DataSource {
|
|||||||
private HikariDataSource ds;
|
private HikariDataSource ds;
|
||||||
|
|
||||||
private String phpBbPrefix;
|
private String phpBbPrefix;
|
||||||
|
private String IPBPrefix;
|
||||||
private int phpBbGroup;
|
private int phpBbGroup;
|
||||||
|
private int IPBGroup;
|
||||||
private String wordpressPrefix;
|
private String wordpressPrefix;
|
||||||
|
|
||||||
public MySQL(Settings settings) throws ClassNotFoundException, SQLException {
|
public MySQL(Settings settings) throws ClassNotFoundException, SQLException {
|
||||||
@ -96,6 +98,8 @@ public class MySQL implements DataSource {
|
|||||||
this.hashAlgorithm = settings.getProperty(SecuritySettings.PASSWORD_HASH);
|
this.hashAlgorithm = settings.getProperty(SecuritySettings.PASSWORD_HASH);
|
||||||
this.phpBbPrefix = settings.getProperty(HooksSettings.PHPBB_TABLE_PREFIX);
|
this.phpBbPrefix = settings.getProperty(HooksSettings.PHPBB_TABLE_PREFIX);
|
||||||
this.phpBbGroup = settings.getProperty(HooksSettings.PHPBB_ACTIVATED_GROUP_ID);
|
this.phpBbGroup = settings.getProperty(HooksSettings.PHPBB_ACTIVATED_GROUP_ID);
|
||||||
|
this.IPBPrefix = settings.getProperty(HooksSettings.IPB_TABLE_PREFIX);
|
||||||
|
this.IPBGroup = settings.getProperty(HooksSettings.IPB_ACTIVATED_GROUP_ID);
|
||||||
this.wordpressPrefix = settings.getProperty(HooksSettings.WORDPRESS_TABLE_PREFIX);
|
this.wordpressPrefix = settings.getProperty(HooksSettings.WORDPRESS_TABLE_PREFIX);
|
||||||
this.poolSize = settings.getProperty(DatabaseSettings.MYSQL_POOL_SIZE);
|
this.poolSize = settings.getProperty(DatabaseSettings.MYSQL_POOL_SIZE);
|
||||||
if (poolSize == -1) {
|
if (poolSize == -1) {
|
||||||
@ -334,8 +338,39 @@ public class MySQL implements DataSource {
|
|||||||
pst.close();
|
pst.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (hashAlgorithm == HashAlgorithm.IPB4){
|
||||||
if (hashAlgorithm == HashAlgorithm.PHPBB) {
|
sql = "SELECT " + col.ID + " FROM " + tableName + " WHERE " + col.NAME + "=?;";
|
||||||
|
pst = con.prepareStatement(sql);
|
||||||
|
pst.setString(1, auth.getNickname());
|
||||||
|
rs = pst.executeQuery();
|
||||||
|
if (rs.next()){
|
||||||
|
// Update player group in core_members
|
||||||
|
sql = "UPDATE " + IPBPrefix + tableName + " SET "+ tableName + ".member_group_id=? WHERE " + col.NAME + "=?;";
|
||||||
|
pst2 = con.prepareStatement(sql);
|
||||||
|
pst2.setInt(1, IPBGroup);
|
||||||
|
pst2.setString(2, auth.getNickname());
|
||||||
|
pst2.executeUpdate();
|
||||||
|
pst2.close();
|
||||||
|
// Get current time without ms
|
||||||
|
long time = System.currentTimeMillis() / 1000;
|
||||||
|
// update joined date
|
||||||
|
sql = "UPDATE " + IPBPrefix + tableName + " SET "+ tableName + ".joined=? WHERE " + col.NAME + "=?;";
|
||||||
|
pst2 = con.prepareStatement(sql);
|
||||||
|
pst2.setLong(1, time);
|
||||||
|
pst2.setString(2, auth.getNickname());
|
||||||
|
pst2.executeUpdate();
|
||||||
|
pst2.close();
|
||||||
|
// Update last_visit
|
||||||
|
sql = "UPDATE " + IPBPrefix + tableName + " SET " + tableName + ".last_visit=? WHERE " + col.NAME + "=?;";
|
||||||
|
pst2 = con.prepareStatement(sql);
|
||||||
|
pst2.setLong(1, time);
|
||||||
|
pst2.setString(2, auth.getNickname());
|
||||||
|
pst2.executeUpdate();
|
||||||
|
pst2.close();
|
||||||
|
}
|
||||||
|
rs.close();
|
||||||
|
pst.close();
|
||||||
|
} else if (hashAlgorithm == HashAlgorithm.PHPBB) {
|
||||||
sql = "SELECT " + col.ID + " FROM " + tableName + " WHERE " + col.NAME + "=?;";
|
sql = "SELECT " + col.ID + " FROM " + tableName + " WHERE " + col.NAME + "=?;";
|
||||||
pst = con.prepareStatement(sql);
|
pst = con.prepareStatement(sql);
|
||||||
pst.setString(1, auth.getNickname());
|
pst.setString(1, auth.getNickname());
|
||||||
|
|||||||
@ -54,6 +54,14 @@ public class HooksSettings implements SettingsHolder {
|
|||||||
public static final Property<Integer> PHPBB_ACTIVATED_GROUP_ID =
|
public static final Property<Integer> PHPBB_ACTIVATED_GROUP_ID =
|
||||||
newProperty("ExternalBoardOptions.phpbbActivatedGroupId", 2);
|
newProperty("ExternalBoardOptions.phpbbActivatedGroupId", 2);
|
||||||
|
|
||||||
|
@Comment("IP Board table prefix defined during the IP Board installation process")
|
||||||
|
public static final Property<String> IPB_TABLE_PREFIX =
|
||||||
|
newProperty("ExternalBoardOptions.IPBTablePrefix", "ipb_");
|
||||||
|
|
||||||
|
@Comment("IP Board default group ID; 3 is the default registered group defined by IP Board ")
|
||||||
|
public static final Property<Integer> IPB_ACTIVATED_GROUP_ID =
|
||||||
|
newProperty("ExternalBoardOptions.IPBActivatedGroupId", 3);
|
||||||
|
|
||||||
@Comment("Wordpress prefix defined during WordPress installation")
|
@Comment("Wordpress prefix defined during WordPress installation")
|
||||||
public static final Property<String> WORDPRESS_TABLE_PREFIX =
|
public static final Property<String> WORDPRESS_TABLE_PREFIX =
|
||||||
newProperty("ExternalBoardOptions.wordpressTablePrefix", "wp_");
|
newProperty("ExternalBoardOptions.wordpressTablePrefix", "wp_");
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user