Upload via GUI (39 Dateien)
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
/**
|
||||
* WP Multi – Modul: Login deaktivieren (pro Benutzer)
|
||||
*
|
||||
* Automatisch aus wp-multi.php ausgelagert. Wird über den Loader in
|
||||
* wp-multi.php eingebunden (nur wenn das WP Multi Toolkit aktiv ist).
|
||||
*/
|
||||
|
||||
if (!defined('ABSPATH')) { exit; }
|
||||
|
||||
/*
|
||||
* Login deaktivieren
|
||||
*/
|
||||
|
||||
|
||||
// Checkbox zum Benutzerprofil hinzufügen
|
||||
function wp_multi_add_disable_login_checkbox($user) {
|
||||
?>
|
||||
<h3>Login deaktivieren</h3>
|
||||
<table class="form-table">
|
||||
<tr>
|
||||
<th><label for="disable_login">Login deaktivieren</label></th>
|
||||
<td>
|
||||
<input type="checkbox" name="disable_login" id="disable_login" value="1" <?php checked( get_user_meta($user->ID, 'disable_login', true), 1 ); ?> />
|
||||
<span class="description">Markiere diese Option, um den Login des Benutzers zu deaktivieren.</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
|
||||
// Speichern der Checkbox-Option
|
||||
function wp_multi_save_disable_login_checkbox($user_id) {
|
||||
if ( isset( $_POST['disable_login'] ) ) {
|
||||
update_user_meta( $user_id, 'disable_login', 1 );
|
||||
} else {
|
||||
delete_user_meta( $user_id, 'disable_login' );
|
||||
}
|
||||
}
|
||||
|
||||
// Die Checkbox in das Benutzerprofil einfügen
|
||||
add_action( 'show_user_profile', 'wp_multi_add_disable_login_checkbox' );
|
||||
add_action( 'edit_user_profile', 'wp_multi_add_disable_login_checkbox' );
|
||||
|
||||
// Speichern der Checkbox-Option
|
||||
add_action( 'personal_options_update', 'wp_multi_save_disable_login_checkbox' );
|
||||
add_action( 'edit_user_profile_update', 'wp_multi_save_disable_login_checkbox' );
|
||||
|
||||
// Login blockieren, wenn die Checkbox aktiviert ist
|
||||
function wp_multi_block_login_if_disabled($user_login, $user) {
|
||||
// Prüfen, ob der Benutzer das Flag "Login deaktivieren" gesetzt hat
|
||||
if ( get_user_meta( $user->ID, 'disable_login', true ) ) {
|
||||
// Fehlermeldung anzeigen, wenn der Login deaktiviert ist
|
||||
wp_die( 'Dein Login wurde deaktiviert. Bitte kontaktiere den Administrator.' );
|
||||
}
|
||||
}
|
||||
|
||||
// Der Filter wird bei jedem Login-Versuch angewendet
|
||||
add_action( 'wp_login', 'wp_multi_block_login_if_disabled', 10, 2 );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user