#!/usr/bin/perl -w
#
# Speaks the text in $ARGV[0].
# Caches text-to-speech conversions as 8-kHz .WAV files.
use Asterisk::AGI; use File::Basename; use Digest::MD5 qw(md5_hex);
use DBI;
#use DateTime::MySql;
use strict;
use constant MENU_HOY => 1;
use constant MENU_FUTURO => 2;
use constant MENU_REPEAT => 3;
my $introduction_audio = 'rnc-events-intro.wav';
my $menuoption = MENU_REPEAT;
#give us an object like thing
my $self = {};
#
my $sounddir = "/var/lib/asterisk/sounds";
#call a main function
&main( $self );
sub main {
open(foo,">/tmp/foo");
print foo "something";
close(foo);
my $self = shift;
# set up communications w/ Asterisk
# $self->{'agi'} = setup_agi;
my $agi = new Asterisk::AGI;
my %input = $agi->ReadParse();
# $agi->verbose('algo',1);
#make sure we play the introduction
# introduce_calendar( $self );
#$menuoption = $agi->stream_file( $introduction_audio );
$menuoption = $agi->stream_file('event-2');
# #conectamos a la base de datos
# my $dbh = open_dbi();
# my $sqlhoy = qq{ SELECT nombre FROM eventos};# where fecha = $today};
# my $sthhoy = $dbh->prepare( $sqlhoy );
# $sthhoy->execute();
# my $sqlfuturo = qq{ SELECT nombre FROM eventos};# where fecha > $today};
# my $sthfuturo = $dbh->prepare( $sqlhoy );
# $sthfuturo->execute();
# $dbh->disconnect();
# event_loop( $self )
}
sub event_loop {
my $self = shift;
#lee lo que se ingresa?
#
my ($nameh);
# $sthhoy->bind_columns( undef, \$nameh);
my ($namef);
#$sthfuturo->bind_columns( undef, \$namef);
my $wavefile;
while ($menuoption){
if ($menuoption==MENU_HOY){ #voy a repetir los eventos de hoy
# while( $sthhoy->fetch() ) {
$wavefile=$nameh.'wav';
#$agi->get_data($wavefile,10_000, 1);
$self->{'agi'}->stream_file('beep')
# }
}
elsif ($menuoption==MENU_FUTURO){ #voy a repetir los eventos de maniana
# while( $sthfuturo->fetch() ) {
$wavefile=$namef.'wav';
#$agi->get_data($wavefile,10_000, 1);
$self->{'agi'}->stream_file('beep')
# }
}
elsif ($menuoption==MENU_REPEAT){ #vuelvo a darle para elegir
$menuoption = $self->{'agi'}->stream_file($introduction_audio);
$self->{'agi'}->stream_file('beep')
}
else { #me voy pues no apreto nada, le doy gracias
$self->{'agi'}->stream_file('rnc-thanks');
$self->{'agi'}->hangup;
}
}
}
#sub setup_agi {
# my $agi = new Asterisk::AGI;
# $agi->ReadParse();
# return ($agi);
#}
sub introduce_calendar {
my $self = shift;
# first we play the introduction
$menuoption = $self->{'agi'}->stream_file( $introduction_audio );
#$menuoption = $self->{'agi'}->get_data( $introduction_audio, 10_000, 1 );
return 1;
}
# Get our DB connection
sub open_dbi{
# Declare and initialize variables
my $host = 'localhost';
my $db = '';
my $db_user = '';
my $db_password = '';
# Connect to the requested server
my $dbh = DBI->connect("dbi:mysql:$db:$host", "$db_user", "$db_password");
return $dbh;
}#end: open_dbi