#!/usr/bin/perl -w

# script to send sms's with gsmqueue.pl.
# script copies message from STDIN to /var/gsm/out directory
# where the gsmqueue.pl script reads and sends them.
# number can be either in STDIN or be given as first parameter for
# script.
#
# example:
#
# echo "MESSAGE"|sendsms.pl 381641769071
#
# or number in file:
#
# (a.txt contains following text:)
# NUMBER: 381641769071
# MESSAGETEXT IS HERE
#
# cat a.txt|sendsms.pl
#

my $number="";
my $message="";

my $outfolder = "/var/gsm/out";

if ($ARGV[0]) {$number=$ARGV[0];}

while (<STDIN>) { 
               if (/^NUMBER:/ && $number eq "") { 
                        chomp;
                        $number = $_;
                        $number =~ s/NUMBER//g;
                        $number =~ s/://g;
                        $number =~ s/\s//g;
		} else {
			$message .= $_ ;
		}
	}

# Send only if we have values for both number and 
if ($message ne "" && $number ne "") {
	if ($number =~ /,/) {
		my @numbers = split (/,/,$number);
		foreach $number (@numbers) {
			my $tempfile=`mktemp $outfolder/sendsms.out.XXXXXX`;
			open T, ">$tempfile" ||  
			die "Cannot create tempfile ($outfolder/sendsms.out.XXXXXX) : $_";
			print T "NUMBER: $number\n$message";
			close T;
		}
	}
	else
	{
		my $tempfile=`mktemp $outfolder/sendsms.out.XXXXXX`;
		open T, ">$tempfile" || 
		die "Cannot create tempfile ($outfolder/sendsms.out.XXXXXX) : $_";
		print T "NUMBER: $number\n$message";
		close T;
	}
}
