atualizar senhas users

 avatar
unknown
php
a year ago
1.9 kB
11
Indexable
<?php
/*
Plugin Name: Atualizar Senhas
Description: Atualiza a senha de todos os usuários não administradores para uma senha padrão.
Version: 1.0
Author: Refatorando
*/

add_action('admin_menu', 'atualizar_senhas_menu');

function atualizar_senhas_menu() {
    add_menu_page(
        'Atualizar Senhas',
        'Atualizar Senhas',
        'manage_options',
        'atualizar-senhas',
        'atualizar_senhas_page'
    );
}

function atualizar_senhas_page() {
    if (!current_user_can('manage_options')) {
        wp_die('Você não tem permissão para acessar esta página.');
    }

    if (isset($_POST['atualizar_senhas_submit'])) {
        atualizar_senhas();
    }

    ?>
    <div class="wrap">
        <h1>Atualizar Senhas</h1>
        <form method="post" action="">
            <p>Ao clicar no botão, a senha de todos os usuários não administradores será atualizada para uma senha padrão.</p>
            <input type="submit" name="atualizar_senhas_submit" class="button-primary" value="Atualizar Senhas">
        </form>
    </div>
    <?php
}

function atualizar_senhas() {
    global $wpdb;

    // senha padrão definida
    $senha_padrao = 'senhapadrao123';

    // gera o hash da senha padrão
    $senha_hash = wp_hash_password($senha_padrao);

    // executa a query
    $result = $wpdb->query(
        $wpdb->prepare(
            "UPDATE {$wpdb->prefix}users 
            SET user_pass = %s 
            WHERE ID NOT IN (SELECT user_id FROM {$wpdb->prefix}usermeta WHERE meta_key = '{$wpdb->prefix}capabilities' AND meta_value LIKE '%administrator%')",
            $senha_hash
        )
    );

    if ($result !== false) {
        echo '<div class="updated notice"><p>Senhas atualizadas com sucesso!</p></div>';
    } else {
        echo '<div class="error notice"><p>Ocorreu um erro ao atualizar as senhas.</p></div>';
    }
}
Editor is loading...
Leave a Comment