0, "prt_id" => "1", "dst_nome" => "");
*/
$fields = array("bkp_id" => "0", "tp_id" => "0");
/*
* Data atual
*/
$dataAtualBD = date('Y-m-d');
$msgBkp = $msgErroDisp = "Erro ao realizar o backup Manual!";
try {
/*
* Alimenta os campos do array $field com valores de uma requisição get ou post.
*/
foreach ($_REQUEST as $key => $value) {
if (array_key_exists($key, $fields)) {
$fields[$key] = trim($value);
}
}
if (isset($_POST["btConsulta"])) {
$tpId = $fields["tp_id"];
if ($tableName) {
$fields[$nomeRegId] = GetCurrVal($tableName);
}
$jsStartup[] = "window.opener.ResetForm();";
$jsStartup[] = "window.setTimeout(\"Close()\", 5000);";
if (!$tpId) {
throw new Exception("Informe o \"Tipo\"!");
}
if (($tpId == 1) && (soNumero($dataAtual) != '') && (!is_date($dataAtual))) {
throw new Exception("Data informada inválida!");
}
$dataBkp = date("d/m/Y");
$dataBkp = (soNumero($dataAtual) ? FormatDtMssql($dataAtual) : FormatDtMssql($dataBkp));
$result = '';
$ret = array();
$cmd = sprintf("/var/lib/asterisk/scripts/backup/backup.php %s %s %s %s %s %s", "manual", $fields["tp_id"], $download_diferencial, $dataBkp, GetLogin(), $_ENV['env']);
exec($cmd, $ret, $result);
$msgErro = implode($ret);
if (($tpId == 1) && StringClass::ContemTexto($msgErro, "existem arquivos para realizar")) {
$msgBkp = $msgErroDisp = "Não existem arquivos disponíveis ou já foram descarregados!";
throw new Exception($msgErroDisp);
}
if (!StringClass::ContemTexto($msgErro, "Backup efetuado com sucesso") &&
StringClass::ContemTexto($msgErro, "Backup efetuado com erro")) {
$msgBkp = $msgErro;
throw new Exception($msgErro);
}
if (StringClass::ContemTexto($msgErro, "Backup efetuado com sucesso") &&
StringClass::ContemTexto($msgErro, "Backup efetuado com erro")) {
$msgBkp = $msgErro;
throw new Exception("Backup concluído com sucesso mas nem todos foram concluídos sem erro");
}
$msg = "Backup concluído!";
if (StringClass::ContemTexto($msgErro, "Backup efetuado com sucesso") &&
!StringClass::ContemTexto($msgErro, "Backup efetuado com erro")) {
$msgBkp = $msg = "Backup Gerado com sucesso!";
}
}
} catch (Exception $ex) {
$erro++;
$msgBkp = $msg = $ex->getMessage();
}
$lita_tipos = GetBkpTipo($dbcon, $fields["tp_id"]);
foreach ($fields as $key => $value) {
$smarty->assign($key, $value);
}
$smarty->assign("tituloFormulario", $tituloFormulario);
$smarty->assign("nomeRegId", $nomeRegId);
$smarty->assign("regId", $regId);
$smarty->assign("tp_id", $fields["tp_id"]);
$smarty->assign("lita_tipos", $lita_tipos);
$smarty->assign("dataBakup", $dataAtual);
$smarty->assign("download_diferencial", $download_diferencial);
$smarty->assign("msg", $msg);
$smarty->assign("erro", $erro);
$smarty->assign("msgBkp", $msgBkp);
GetTemplate($smarty, $nomeTpl);
function GetBkpTipo($db, $id) {
$sel = '';
if (!$id) {
$sel = "selected";
}
$item = "";
$query = "SELECT tp_id AS id, tp_desc AS desc FROM pbx_backup_tipo ORDER BY 2";
$result = pg_query($db, $query);
while ($row = pg_fetch_array($result)) {
$spid = $row["id"];
$desc = $row["desc"];
if ($spid == $id) {
$sel = "selected";
} else {
$sel = "";
}
$item .= "";
}
return $item;
}