Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl -w
- use strict;
- use Encode;
- use utf8;
- use DBI;
- use Asterisk::AGI;
- my $db_user = 'defparser';
- my $db_password = 'rjkJyjxrf';
- my $db_database = 'defcodes1';
- my $db_host = 'localhost';
- my $AGI = new Asterisk::AGI;
- my %input_var = $AGI->ReadParse();
- my ($base, $stament);
- my $my_number = $input_var{"arg_1"};
- my @splitted_number = split_number($my_number);
- $base = DBI->connect( "DBI:mysql:database=$db_database;host=$db_host", $db_user, $db_password ) or die "Не могу подключиться к базе: ".$base->errstr."\n";
- $stament = $base->prepare('SELECT `def_operator`, `def_region` FROM `def_codes` WHERE `def_code` = '.$splitted_number[1].' AND ( '.$splitted_number[2].' BETWEEN `def_start` AND `def_stop`) LIMIT 1');
- if (!$stament) {
- print "Не могу подготовить запрос к выполнению:". $base->errstr."\n";
- next;
- }
- if ( !$stament->execute() ){
- print "Не могу выполнить запрос к базе: ".$stament->errstr."\n";
- next;
- }
- my $fields_ref = $stament->fetchrow_arrayref;
- my ( $t_def_operator, $t_def_region ) = @{ $fields_ref };
- if (defined $t_def_operator) {
- $AGI->set_variable("mobile_way", decode("utf8", $t_def_operator)." ".decode("utf8", $t_def_region)) ;
- }
- exit 0;
- sub split_number {
- my $number = shift;
- my @split_number;
- $split_number[0] = substr $number, 0, 1;
- $split_number[1] = substr $number, 1, 3;
- $split_number[2] = substr $number, 4, 7;
- return @split_number;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement