web-dev-qa-db-ja.com

SharDBプラグインでサポートされているカスタムユーザテーブル?

SharDBプラグインを試していますが、CUSTOM_USER_TABLEとCUSTOM_USER_META_TABLEの宣言を尊重しているようには見えません - カスタムテーブル名の代わりに$shardb_prefix.usersをクエリしています。このプラグインがCUSTOM_USER_TABLE定義をサポートすることになっているかどうか誰でも知っていますか?

ありがとうございます。

1
Bee

さて、これを調べて、私はSharDBに付属するdb.phpスクリプトファイルのテーブル関数(1088行目から始まる)に小さなバグを見つけました。

このコードが問題でした(db.phpの1114行目から開始)。

if ( isset( $tables['users'] ) ) {
    if( defined( 'CUSTOM_USER_TABLE' ) ) 
        $pre_tables['users'] = CUSTOM_USER_TABLE;
    if ( defined( 'CUSTOM_USER_META_TABLE' ) ) 
        $pre_tables['usermeta'] = CUSTOM_USER_META_TABLE;
}

CUSTOM_USER_TABLEとCUSTOM_USER_META_TABLEが定義されているかどうかを確認するためにテーブルリストを返す前に確認し、定義されている場合はデフォルト値を上書きします。ただし、114行目のisset( $tables['users'] )チェックのため、最初はチェックが実行されていませんでした。$ tablesはテーブル名の配列で、 'users'は配列内の値の1つです。セット。

そのため、行114を次のように変更します。

if ( isset( $pre_tables['users'] ) )

そして出来上がり。あなたはすべて設定しました

(プラグインの作者を探してバグを報告しに行きます。)

1
Bee