Allen WordPress-Usern ein neues Passwort senden

| | Allgemein, Programmierung, Web

Nach einer längeren Pause auf meinem Blog hab ich heute etwas mit gebracht. Wer WordPress mit vielen Benutzern verwenden will, hat besonders beim Anlegen der User das Problem das man im nach hinein kein Passwort mehr versenden kann.

Und genau aus diesem Grund habe ich vor kurzem mal ein kleines Script geschrieben.

<?php
   /*
   Plugin Name: User Password Sender
   Plugin URI: http://www.koli-design.de/
   Description: With this tool you can send each WP user a random Password
   Author: Marc Horst
   Author URI: http://www.koli-design.de/
   Version: 1.0.1
*/
add_action('admin_menu', 'add_dashboard_menu');
function add_dashboard_menu(){
        add_menu_page( "User Password Send","UP SEND", "activate_plugins", "up", "main", "", 3 );
}

function randomPassword() {
    $alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
    $pass = '';                           //password is a string
    $alphaLength = strlen($alphabet) - 1; //put the length -1 in cache
    for ($i = 0; $i < 10; $i++) {
        $n = mt_rand(0, $alphaLength);    
        $pass = $pass.$alphabet[$n];      //append a random character
    }
    return ($pass); 
}

function main() {
        global $users;
        $userslist = get_users_of_blog();
        
        if(isset($_POST['update'])) {
                
                foreach($_POST['selected'] as $value) {
                        $pass = randomPassword();
                        $userdata = get_userdata($value);
                        $newtext = $_POST['text'];
                        $newtext = str_replace(array("%USERNAME","%PASS","<br>"),array($userdata->user_login,$pass,"<br />"),$newtext);
                        echo $value." - ".$userdata->user_email;
                        echo " - ";
                        echo $pass;
                        echo "<br />";
                        wp_set_password($pass,$value);
                        $header  = 'MIME-Version: 1.0' . "\r\n";
                        $header .= 'Content-type: text/html; charset=utf-8' . "\r\n";

                        // zusätzliche Header
                        $header .= 'From: <no-reply@'.$_SERVER['HTTP_HOST'].'>' . "\r\n";
                        
                        //TODO: Betreff muss Dynamisiert werden, Sender auch 
                        mail($userdata->user_email,"neues PW",$newtext, $header);
                        echo "erfolg";
                        
                        unset($pass);
                }
        
        }
        else {
                ?>
                </br >
                <h3>Text</h3>
                <small>%PASS, %USERNAME</small>
                <form method="post">
                <input type="hidden" name="update" ></input>
                <textarea name="text" style="width: 50%; height: 200px;"></textarea><br /></br >
                <h3>Select Users</h3>
                <select multiple="multiple" name="selected[]">

                        <?php
                        
                        foreach($userslist as $user) {
                        $user = (array) $user;
                                echo '<option value="'.$user["user_id"].'">'.$user["display_name"].'</option>';
                        }
                        
                        ?>
                        </select>
                        </br ></br >
                        <input type="submit"></input>
                </select>
                </form>
                <?php
        }
        return true;
        
}
?>

Ich hoffe das es einigen Hilft!

Neueste Beiträge

Warum der Air Assist unverzichtbar ist – Mein Erfahrungsbericht

Nachdem ich meinen ATOMSTACK A12 Ultra Laser[*] und die R2 V2 Drehwalze[*] in Betrieb genommen hatte, war es nur eine Frage der Zeit, bis ich mir zusätzlich ein Air Assist System zugelegt habe. Ich entschied mich für das DEWALLIE Air Assist Set[*], und ich kann schon vorweg sagen: Es war eine der besten Ergänzungen für meine Lasergravur-Setups, vor allem beim Arbeiten mit Holz!


Weiter >>

Mein neues Setup: Der ATOMSTACK R2 V2 Drehwalze und A12 Ultra/Pro Laser – Perfekt für Gravuren auf runden Objekten!

Als ich mir kürzlich den ATOMSTACK A12 Ultra Laser[*] zugelegt habe, war mir schnell klar, dass ich das volle Potenzial dieses leistungsstarken Gravierers ausschöpfen wollte. Also habe ich nicht lange gezögert und gleich die ATOMSTACK R2 V2 Drehwalze[*] dazu gekauft, die es ermöglicht, zylindrische Objekte wie Trinkflaschen, Gläser oder Stifte zu gravieren.


Weiter >>

ATOMSTACK 12 Ultra / PRO

Ich habe mir kürzlich den Atomstack A12 Ultra Laser[*] gegönnt, und ich muss sagen, ich bin wirklich beeindruckt! Mit seiner 12W Hochleistung und der fortschrittlichen Laserstrahl-Kompressionstechnologie schneidet er mühelos durch verschiedene Materialien, und die Präzision ist einfach erstklassig. Der Aufbau ging dank des stabilen Aluminiumrahmens und der gut durchdachten Plug-and-Play-Struktur super schnell.


Weiter >>

Die perfekte Hülle für dein iPhone 15: Die TORRAS Dr. Ultra Dünn Hülle

Wenn du auf der Suche nach einer Hülle bist, die dein iPhone 15 (oder auch alle anderen Modele wie 14 oder 16[*]) perfekt schützt und dabei trotzdem unglaublich dünn und stilvoll ist, dann solltest du dir die TORRAS Dr. Ultra Dünn Hülle[*] unbedingt ansehen. Als stolzer Besitzer eines neuen iPhones habe ich mich erneut für diese Hülle entschieden – und das aus gutem Grund, denn ich habe sie bereits für mein altes iPhone 12 genutzt und war damals schon begeistert.


Weiter >>