]> ruin.nu Git - NDIRC.git/blobdiff - Commands/SMS.pm
Introduce a uid member for the context and use it intead of the host in commands
[NDIRC.git] / Commands / SMS.pm
index 1b28dc71f094b157c1879ad78ab084317b8fa73a..eba2d650b72d79919f99a67cd83b1830a2d30e5d 100644 (file)
@@ -43,8 +43,10 @@ sub sendsms
        if ($number =~ /^\+([1-9]\d+)$/){
                $number = $1;
        }else{
-               my ($sms) = $dbh->selectrow_array(q{SELECT sms FROM users WHERE username ilike $1}
-                       ,undef,$number);
+               my ($sms) = $dbh->selectrow_array(q{
+SELECT sms FROM users WHERE username ilike $1
+       AND uid IN (SELECT uid FROM groupmembers WHERE gid = 'M')
+                       },undef,$number);
                $sms //= 'No number, or invalid user';
                if ($sms =~ /^\+([1-9]\d+)$/){
                        $number = $1;
@@ -55,10 +57,10 @@ sub sendsms
        }
        my $sms = $dbh->prepare(q{
 INSERT INTO sms (uid,number,message)
-VALUES((SELECT uid FROM users WHERE hostmask ilike $1),$2,$3)
+VALUES($1,$2,$3)
 RETURNING id
                });
-       $sms->execute($c->host,$number,$message);
+       $sms->execute($c->uid,$number,$message);
        my ($id) = $sms->fetchrow_array;
        $c->reply("Message added to queue, you can see the status with: .smsstatus $id");
 }