' . esc_html__( 'Sign-in', 'sirius-press' ) . '

'; foreach ( $errors as $e ) { printf( '

%s

', esc_html( $e ) ); } foreach ( $notes as $n ) { printf( '

%s

', esc_html( $n ) ); } echo '
'; wp_nonce_field( 'sirius_auth_settings' ); echo ''; echo ''; echo ''; echo ''; echo ''; submit_button(); echo '
'; echo '

' . esc_html__( 'Accounts without a wallet', 'sirius-press' ) . '

'; if ( ! $stranded ) { echo '

' . esc_html__( 'Every account here can sign in with a wallet.', 'sirius-press' ) . '

'; } else { echo '

' . esc_html__( 'These accounts can only sign in with a password. Turning passwords off locks them out.', 'sirius-press' ) . '

'; echo ''; foreach ( $stranded as $user ) { printf( '', esc_url( get_edit_user_link( $user->ID ) ), esc_html( $user->user_login ), esc_html( implode( ', ', $user->roles ) ) ); } echo '
' . esc_html__( 'Account', 'sirius-press' ) . '' . esc_html__( 'Role', 'sirius-press' ) . '
%s%s
'; } echo '

' . esc_html__( 'For other plugins', 'sirius-press' ) . '

'; echo '

' . esc_html__( 'A plugin that wants a fresh signature before something irreversible can call sirius_press_confirmation_challenge() and post the answer to:', 'sirius-press' ) . '

'; echo '

' . esc_html( rest_url( 'sirius-press/v1/confirm' ) ) . '

'; echo ''; } /** Accounts that would be locked out if passwords were turned off. */ private static function accounts_without_wallets() { return get_users( array( 'meta_query' => array( 'relation' => 'OR', array( 'key' => SP_Identity::META_ADDRESS, 'compare' => 'NOT EXISTS', ), array( 'key' => SP_Identity::META_ADDRESS, 'value' => '', 'compare' => '=', ), ), 'number' => 50, ) ); } }