#!/usr/bin/perl -w
use strict;
use DBI();
use Getopt::Std;

my $program_name = "gsgimp-sms2db";
my $program_version = "v0.3.7 - Oct 25, 2004";

my $verbose = 1;
my $debug = 1;
my $dbname = "SMS";
my $dbhost = "localhost";
my $dbuser = "user";
my $dbpass = "pass";
my $sqltable = "SMSIN";
my $sqlfieldphone = "phone";
my $sqlfieldtext = "text";
my $usesyslog = 1;
my $syslogfacility = "local0";

my %opt;
getopts ("c:", \%opt);
my $configfile = $opt{"c"} || "/etc/alamin/gsgimp-sms2db.conf";
eval `cat $configfile`;

my ($arg_from,$arg_message) = @ARGV;

if($debug or $verbose) {
  if($usesyslog) {
    use Sys::Syslog qw(:DEFAULT setlogsock);
    setlogsock "unix";
    openlog($program_name,"pid",$syslogfacility);
  }
}

logit("info","Starting Alamin GSM SMS Gateway - $program_name - $program_version") if ($verbose);

my $dbh = DBI->connect("DBI:mysql:database=".$dbname.";host=".$dbhost, $dbuser, $dbpass, {'RaiseError' => 1});
my $sqlstat = "INSERT INTO ".$sqltable." (".$sqlfieldphone.", ".$sqlfieldtext.") VALUES ('".$arg_from."','".$arg_message."')";
logit("debug","$sqlstat") if ($debug);
my $sth = $dbh->prepare($sqlstat);
$sth->execute();
logit("info","Inserting message into ".$sqltable.", from ".$arg_from.".") if ($verbose);
$sth->finish();
$dbh->disconnect();

logit("info","Exiting.") if ($verbose);
if($debug or $verbose) {
  if($usesyslog) {
    closelog;
  }
}

sub logit {
  my ($log_type, $log_message) = @_;
  if ($usesyslog) {
    syslog($log_type,$log_message);
  }
}
