#!/usr/bin/php
<?php
ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
$mysql_host = shell_exec("grep MYSQLServer /etc/pure-ftpd/pureftpd-mysql.conf | awk '{ print \$2;}' | tr '\n' ' ' | sed 's/ //g'");
$mysql_user = shell_exec("grep MYSQLUser /etc/pure-ftpd/pureftpd-mysql.conf | awk '{ print \$2;}' | tr '\n' ' ' | sed 's/ //g'");
$mysql_pass = shell_exec("grep MYSQLPassword /etc/pure-ftpd/pureftpd-mysql.conf | awk '{ print \$2;}' | tr '\n' ' ' | sed 's/ //g'");
$mysql_db = shell_exec("grep MYSQLDatabase /etc/pure-ftpd/pureftpd-mysql.conf | awk '{ print \$2;}' | tr '\n' ' ' | sed 's/ //g'");

$conexao = mysqli_connect($mysql_host,$mysql_user,$mysql_pass) or die(mysqli_error($conexao));
mysqli_select_db($conexao,$mysql_db) or die(mysqli_error($conexao));

date_default_timezone_set("America/Sao_Paulo");

@parse_str($argv[1],$opcoes);

if(@is_numeric($opcoes["porta"])) {

$dados_stm = mysqli_fetch_array(mysqli_query($conexao,"SELECT porta,timezone,idioma_painel FROM streamings where porta = '".$opcoes["porta"]."'"));

$idioma = ($dados_stm["idioma_painel"] == "es") ? "es_" : "";

@file_put_contents("/home/streaming/configs/hora-certa-".$dados_stm["porta"].".conf", $dados_stm["timezone"]."|".$idioma);

echo "OK";

exit();	
}

echo "[".date("d/m/Y H:i:s")."] Processo Iniciado.\n";

$lista_portas = array_filter(glob('/home/streaming/*'), 'is_dir');

foreach ($lista_portas as $porta) {

$porta = substr($porta, strrpos($porta, '/') + 1);

if(is_numeric($porta)) {

// Verifica arquivo de confiuracao do time zone da porta

if(!file_exists("/home/streaming/configs/hora-certa-".$porta.".conf")) {

$dados_stm = mysqli_fetch_array(mysqli_query($conexao,"SELECT porta,timezone,idioma_painel FROM streamings where porta = '".$porta."'"));

if(!empty($dados_stm["porta"])) {

$idioma = ($dados_stm["idioma_painel"] == "es") ? "es_" : "";

@file_put_contents("/home/streaming/configs/hora-certa-".$dados_stm["porta"].".conf", $dados_stm["timezone"]."|".$idioma);

echo "[".$porta."] Configuracao criada -> ".$dados_stm["timezone"]."\n";
}

}

if(file_exists("/home/streaming/configs/hora-certa-".$porta.".conf")) {

// Gera o arquivo da hora certa
$config = @file_get_contents("/home/streaming/configs/hora-certa-".$porta.".conf");

list($fuso_horario, $idioma) = explode("|", $config);

if($fuso_horario) {
date_default_timezone_set("".$fuso_horario."");
}

list($hora, $minuto) = explode(":",@date("H:i"));

if($minuto == 00) {
$hora_padrao_m = "/home/streaming/hora_certa/".$idioma."masculino_".$hora.".mp3";
$hora_padrao_f = "/home/streaming/hora_certa/".$idioma."feminino_".$hora.".mp3";
} else {
$hora_padrao_m = "/home/streaming/hora_certa/".$idioma."masculino_".$hora."_".$minuto.".mp3";
$hora_padrao_f = "/home/streaming/hora_certa/".$idioma."feminino_".$hora."_".$minuto.".mp3";
}

@copy($hora_padrao_m, "/home/streaming/hora_certa/".$porta."_masculino.mp3");
@copy($hora_padrao_f, "/home/streaming/hora_certa/".$porta."_feminino.mp3");

echo "[".$porta."][".$fuso_horario."] Atualizado arquivo de hora certa.\n";

}
}
}

echo "\n[".date("d/m/Y H:i:s")."] Processo Concluído.\n\n";
?>
