]> ruin.nu Git - NDIRC.git/commitdiff
Added getpass
authorMichael Andreen <harv@ruin.nu>
Thu, 9 Jul 2009 13:26:59 +0000 (15:26 +0200)
committerMichael Andreen <harv@ruin.nu>
Thu, 9 Jul 2009 13:26:59 +0000 (15:26 +0200)
Commands/Channel.pm

index c30c632650d0b17ffd43a430f66f1d7bc002428e..ad627b3d835e37f9891c670405375faf70755db5 100644 (file)
@@ -102,4 +102,43 @@ sub hostname
        $c->reply('Your hostname is: '.$c->host);
 }
 
+###########################################################
+# 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;
+}
+
+sub getpass
+       : Help(Gives new users a random password.)
+       : Type(pm)
+{
+       my ($self,$c,$msg) = @_;
+       my $dbh = $c->model;
+
+       my $password = generate_random_string 10;
+       my $update = $dbh->do(q{
+UPDATE users SET password = MD5( ? )
+WHERE hostmask ILIKE ? AND password =''
+               },undef,$password,$c->host);
+       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;