|
|
|
|
<?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<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o, verifique as configura<EFBFBD><EFBFBD>es padr<EFBFBD>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<EFBFBD>o foi poss<EFBFBD>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 <EFBFBD> obrigat<EFBFBD>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<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o";
|
|
|
|
|
$jsStartup[] = "alert('$msg');";
|
|
|
|
|
$erroNat = pg_last_error($dbcon);
|
|
|
|
|
$erroNat = stripos($erroNat, "key violates") || stripos($erroNat, "pkIndisponivel") ? "Per<EFBFBD>odo j<EFBFBD> Cadastrado" : $erroNat;
|
|
|
|
|
$msgErro = "N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>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 ));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
?>
|