|
|
<?php |
|
|
|
|
|
/* |
|
|
* To change this template, choose Tools | Templates |
|
|
* and open the template in the editor. |
|
|
*/ |
|
|
$template = "indisponivel.tpl"; |
|
|
$tpLayout = 1; |
|
|
$path_som = $_SESSION["path_som"]; |
|
|
define("DIR_INDISPONIBILIDADE", $path_som); |
|
|
$jsStartup[] = "function desabUpload(valor){document.getElementById(\"ind_file\").disabled = (valor != \"\");}"; |
|
|
|
|
|
$smarty->assign("arqIndisponivel", GetArqInd()); |
|
|
|
|
|
if (GetFormAcao() == FORM_NEW) { |
|
|
$acaoForm = FORM_INSERT; |
|
|
$dacSel = $_GET["idDac"] ? $_GET["idDac"] : ( $_SESSION["SSdacInsert"] ? $_SESSION["SSdacInsert"] : GetIdDacPadrao($dbcon, $_SESSION["SSidUser"]) ); |
|
|
|
|
|
$smarty->assign("ind_data", date('d/m/Y')); |
|
|
$smarty->assign("ind_inicio", "00:00"); |
|
|
$smarty->assign("ind_fim", "23:59"); |
|
|
$smarty->assign("listaDac", GetDac($dbcon, $dacSel)); |
|
|
//$smarty->assign("arqIndisponivel", GetArqInd()); |
|
|
} else { |
|
|
$arquivo = $_FILES["ind_file"]; |
|
|
$acaoForm = FORM_INSERT; |
|
|
|
|
|
if (!validaForm($fields, $fieldsObrig, $fieldsType, $fieldsDiplay, $msgForm) || !ValidaArquivoIndisponivilidade()) { |
|
|
if (!ValidaArquivoIndisponivilidade()) |
|
|
$msgForm[] = "Inclua apenas arquivos mp3!"; |
|
|
//formata mensagem de erro para script |
|
|
$msgRet = ""; |
|
|
foreach ($msgForm as $value) |
|
|
$msgRet .= "\\n" . $value; |
|
|
|
|
|
$jsStartup[] = "alert('$msgRet');"; |
|
|
|
|
|
//valores no form |
|
|
foreach ($fields as $value) |
|
|
$smarty->assign($value, $_POST[$value]); |
|
|
$dacSel = $_POST["listaDacs"]; |
|
|
$smarty->assign("listaDac", GetDac($dbcon, $dacSel)); |
|
|
//$smarty->assign("arqIndisponivel", GetArqInd()); |
|
|
} |
|
|
else { |
|
|
$moveFile = 1; |
|
|
if (!empty($arquivo["name"])) { |
|
|
if (!ExecutaComando('ls /', $dbcon)) { |
|
|
echo "<script language=\"JavaScript\" type=\"text/JavaScript\"> |
|
|
<!-- |
|
|
alert('Não foi possível realizar a operação, verifique as configurações padrão!'); |
|
|
window.close(); |
|
|
//--> |
|
|
</script>"; |
|
|
exit; |
|
|
} |
|
|
$nomeArq = strtolower($_FILES['ind_file']['name']); |
|
|
//$caracteres = array("ç","~","^","]","[","{","}",";",":","´",",",">","<","-","/","|","@","$","%","ã","â","á","à ","é","è","ó","ò","+","=","*","&","(",")","!","#","?","`","ã"," ","©","'","\\"); |
|
|
//$arquivo_tratado = str_replace($caracteres,"",$nomeArq); |
|
|
$arquivo_tratado = LimpaString($nomeArq); |
|
|
|
|
|
$nomeArq = DIR_INDISPONIBILIDADE . $arquivo_tratado; |
|
|
|
|
|
$moveFile = move_uploaded_file($_FILES['ind_file']['tmp_name'], $nomeArq); |
|
|
|
|
|
$nomeArq = split('\.', $nomeArq); |
|
|
$updArq = $nomeArq[0]; |
|
|
$extensao = $nomeArq[1]; |
|
|
|
|
|
if ($extensao == 'mp3') { |
|
|
$comando = "ffmpeg -y -i $updArq.mp3 -ar 8000 -ac 1 -ab 64 -f mulaw $updArq.ulaw"; |
|
|
ExecutaComando($comando, $dbcon); |
|
|
} |
|
|
|
|
|
$nomeArq = DIR_INDISPONIBILIDADE . $arquivo["name"]; |
|
|
if ($extensao == 'mp3') { |
|
|
$arqMov = DIR_INDISPONIBILIDADE . GetDirArqSom($dbcon) . $arquivo_tratado; |
|
|
|
|
|
$comando = "mv -f $updArq.mp3 $arqMov"; |
|
|
ExecutaComando($comando, $dbcon); |
|
|
} |
|
|
} |
|
|
|
|
|
if (!$moveFile) { |
|
|
$msgRet = "Não foi possível gravar o aquivo!"; |
|
|
//echo $msgRet; |
|
|
$jsStartup[] = "alert('$msgRet');"; |
|
|
|
|
|
//valores no form |
|
|
foreach ($fields as $value) |
|
|
$smarty->assign($value, $_POST[$value]); |
|
|
|
|
|
$dacSel = $_POST["listaDacs"]; |
|
|
$smarty->assign("listaDac", GetDac($dbcon, $dacSel)); |
|
|
//$smarty->assign("arqIndisponivel", GetArqInd()); |
|
|
} else if (!$_POST["ind_feriado"] && empty($arquivo["name"]) && empty($_POST["listaArqIndisponivel"])) { |
|
|
$msgRet = "arquivo de audio é obrigatório!"; |
|
|
$jsStartup[] = "alert('$msgRet');"; |
|
|
|
|
|
//valores no form |
|
|
foreach ($fields as $value) |
|
|
$smarty->assign($value, $_POST[$value]); |
|
|
|
|
|
$dacSel = $_POST["listaDacs"]; |
|
|
$smarty->assign("listaDac", GetDac($dbcon, $dacSel)); |
|
|
} else { |
|
|
|
|
|
$fer = $_POST["ind_feriado"] ? 1 : 0; |
|
|
$desc = empty($_POST["ind_descricao"]) ? 'null' : QuotedStr($_POST["ind_descricao"]); |
|
|
$arq = !empty($arquivo["name"]) ? $arquivo_tratado : $_POST["listaArqIndisponivel"]; |
|
|
|
|
|
$query = "insert into pbx_indisponivel |
|
|
( id_dac, ind_data, ind_inicio, ind_fim, id_usuario, ind_file, ind_feriado, ind_descricao) |
|
|
values(%s, %s, %s, %s, %s, %s, %s, %s)"; |
|
|
$query = sprintf($query, $_POST["listaDacs"], QuotedStr(FormatDtMssql($_POST["ind_data"])), QuotedStr($_POST["ind_inicio"]), QuotedStr($_POST["ind_fim"]), GetIdUser(), QuotedStr($arq), $fer, $desc); |
|
|
$result = @pg_query($dbcon, $query); |
|
|
|
|
|
if ($result) { |
|
|
$jsStartup[] = "window.opener.ResetForm();"; |
|
|
$msg = "Registro inserido com sucesso!"; |
|
|
$smarty->assign("msg", $msgRet); |
|
|
$jsStartup[] = "alert('$msg');"; |
|
|
$jsStartup[] = "window.close();"; |
|
|
} else { |
|
|
$msg = "Não foi possível realizar a operação"; |
|
|
$jsStartup[] = "alert('$msg');"; |
|
|
$erroNat = pg_last_error($dbcon); |
|
|
$erroNat = stripos($erroNat, "key violates") || stripos($erroNat, "pkIndisponivel") ? "Período já Cadastrado" : $erroNat; |
|
|
$msgErro = "Não foi possível realizar a operação! Erro: " . $erroNat; |
|
|
$smarty->assign("msgErro", $msgErro); |
|
|
foreach ($fields as $value) |
|
|
$smarty->assign($value, $_POST[$value]); |
|
|
$smarty->assign("ind_descricao", $_POST["ind_descricao"]); |
|
|
$dacSel = !$_POST["listaDacs"] ? $_SESSION["SSdacInsert"] : $_POST["listaDacs"]; |
|
|
$smarty->assign("listaDac", GetDac($dbcon, $dacSel)); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
function GetArqInd() { |
|
|
$diretorio = dir(DIR_INDISPONIBILIDADE); |
|
|
$arqs = " <select name=\"listaArqIndisponivel\" id=\"anuncio\" onchange=\"desabUpload(this.value)\">\n"; |
|
|
$arqs .= "<option value=\"\" selected>------------</option>\n"; |
|
|
while ($file = $diretorio->read()) { |
|
|
if ((substr($file, 0, 1) != '.') && (!stripos($file, ".old")) && ($file != 'mp3') && ($file != 'arquivos_mp3')) { |
|
|
$arq = explode('.', $file); |
|
|
$arqs .= "<option value=\"$file\">$arq[0]</option>\n"; |
|
|
} |
|
|
} |
|
|
$arqs .= "</select>\n"; |
|
|
|
|
|
return $arqs; |
|
|
} |
|
|
|
|
|
function ValidaArquivoIndisponivilidade() { |
|
|
$arq = $_FILES['ind_file']['name']; |
|
|
return !empty($_POST["listaArqIndisponivel"]) || (empty($_POST["listaArqIndisponivel"]) && ( stripos($arq, "mp3") !== false )); |
|
|
} |
|
|
|
|
|
?>
|
|
|
|