bee
  • 0
Новичок

пользовательские таблицы пользователей, поддерживаемые плагином SharDB?

  • 0

Я пробую подключаемый модуль SharDB, но, похоже, он не соблюдает мои объявления CUSTOM_USER_TABLE и CUSTOM_USER_META_TABLE — он запрашивает $shardb_prefix.users вместо имени моей пользовательской таблицы. Кто-нибудь знает, должен ли этот плагин поддерживать определения CUSTOM_USER_TABLE?

Спасибо!

Share
  1. Хорошо, изучив это, я обнаружил небольшую ошибку в функции таблиц (начиная со строки 1088) в файле сценария db.php, который поставляется с SharDB.

    Проблема заключалась именно в этом фрагменте кода (начиная со строки 1114 файла db.php):

    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, и перезаписывает значения по умолчанию, если они есть. Однако проверка не выполнялась в первую очередь из-за isset( $tables['users'] ) проверки в строке 114. $tables — это массив имен таблиц, «users» — одно из значений в массиве, поэтому $tables[‘users’] никогда не устанавливается.

    Поэтому измените строку 114 на:

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

    и вуаля. Все готово

    (Сейчас я найду автора плагина и сообщу об ошибке!)

    • 0

Оставить ответ

You must login to add an answer.