X-Git-Url: https://ruin.nu/git/?p=NDIRC.git;a=blobdiff_plain;f=Commands%2FUsermgm.pm;h=2b6176041287019a27c1c5af76e5a191612ba0bf;hp=a5e3abf8a70ff478cc01e5ac9640b112e2760722;hb=57134323940284d9e14e7a2860e5dae0a551c938;hpb=445fc8eeeb37b4728b1d7608862e772856eebb19 diff --git a/Commands/Usermgm.pm b/Commands/Usermgm.pm index a5e3abf..2b61760 100644 --- a/Commands/Usermgm.pm +++ b/Commands/Usermgm.pm @@ -549,4 +549,45 @@ ORDER BY amount*(metal+crystal+eonium)*CASE WHEN $1 = t1 THEN 1.0 ELSE 0.6 END D } }; +command getpass => { + help => q(Gives new users a random password.), + type => q(pm) +}, class extends NDIRC::Command { + +########################################################### +# Written by Guy Malachi http://guymal.com +# 18 August, 2002 +########################################################### + sub generate_random_string + { + my $length_of_randomstring=shift;# the length of + # the random string to generate + + my @chars=('a'..'z','A'..'Z','0'..'9','_'); + my $random_string; + foreach (1..$length_of_randomstring) + { + # rand @chars will generate a random + # number between 0 and scalar @chars + $random_string .= $chars[rand @chars]; + } + return $random_string; + } + + method execute ($c,$msg) { + my $dbh = $c->model; + + my $password = generate_random_string 16; + my $update = $dbh->do(q{ +UPDATE users SET password = $1 +WHERE uid = $2 AND password IS NULL + },undef,$password,$c->uid); + if ($update > 0){ + $c->reply("Password set to: $password (you can change it on webbie)"); + }else{ + $c->reply("Couldn't set password. Either it has already been set or you don't have an account"); + } + } +}; + 1;