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 ""; 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 = " \n"; return $arqs; } function ValidaArquivoIndisponivilidade() { $arq = $_FILES['ind_file']['name']; return !empty($_POST["listaArqIndisponivel"]) || (empty($_POST["listaArqIndisponivel"]) && ( stripos($arq, "mp3") !== false )); } ?>