ОсновноеRadiotalkПользовательское
Общие вопросы по интернет радио вещанию
6   •   Посмотреть все темы

обсудим скрипт

 

32
Razo @Razo
Доброе время сутки, скажите пожалуйста все правильно в этом скрипте, внутри цикла не важно, можете не обращать внимание, я хочу узнать правильно написан код или нет, если есть ошибки подскажите пожалуйста

use DBI;

my $host = "localhost"; # MySQL-сервер нашего хостинга
my $port = "3306"; # порт, на который открываем соединение
my $user = "ПОЛЬЗОВАТЕЛЬ_БД"; # имя пользователя
my $pass = "password"; # пароль
my $db = "ИМЯ_БД"; # имя базы данных

$dbh = DBI->connect("DBI:mysql:$db:$host:$port",$user,$pass);

sub ices_init {
print "Perl subsystem Initializing:\n";
$jingle = 0;
return 1;
}
sub ices_shutdown {
print "Perl subsystem shutting down:\n";
}
sub ices_get_next {
$sql="SELECT `time` FROM `timeline` WHERE `farmId`='1'"; // в строке time записан сколько раз будем подключать рекламы в одном часе, например там 4
$qu=$dbh->Query($sql); //запрос
@arr=$qu->FetchRow; // массив

print "Perl subsystem quering for new track:\n"; // не знаю для чего

$time=0;
@time_arr="";
for($i=0;$i<$arr[0];$i++){ //$arr[0] ровно 4
$chas=60 / $arr[0]; // 60 / 4 = 15
$time += $chas; // 15 потом 30 потом 45 потом 60
$time_arr[$i] = $time - 5; // снимаем 5 чтобы получилось от 10 до 15, от 25 до 30
}

use Time::localtime;
$tm = localtime;
$min = $tm->min; //получаем текущий минут
if(@time_arr[$min]!=""){ // проверяем если в массиве $time_arr есть текущий минута то есть не пустой подключаем рекламы
@music=`/bin/ls -1 /home/user/reklam/*.mp3`;
}
else{ // если нет то музыку
@music=`/bin/ls -1 /home/user/music/*.mp3`;
}
$num = scalar (@music);
$play=int(rand($num));
chomp $music[$play];
return $music[$play];
}
return 1;

Отредактировано Razo - 20.10.2012