|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Arquivo de template para o formul<EFBFBD>rio.
|
|
|
|
|
*/
|
|
|
|
|
$nomeTpl = "cadastros/backup/bkpManual.htm";
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Layout para formulario.
|
|
|
|
|
*/
|
|
|
|
|
$tpLayout = 1;
|
|
|
|
|
$dataAtual = isset($_POST['dataBakup']) ? $_POST['dataBakup'] : date("d/m/Y");
|
|
|
|
|
$erro = 0;
|
|
|
|
|
$msg = 'Nova Configura<EFBFBD><EFBFBD>o para "Backup"!';
|
|
|
|
|
$login = GetLogin();
|
|
|
|
|
$download_diferencial = isset($_POST['download_diferencial']) ? $_POST['download_diferencial'] : '0';
|
|
|
|
|
|
|
|
|
|
$janH = 220;
|
|
|
|
|
/*
|
|
|
|
|
* Indique o nome do sistema, este nome ser<EFBFBD> usado para compor mensagens ao usu<EFBFBD>rios.ex:
|
|
|
|
|
* $nomeProg = "Cliente";
|
|
|
|
|
* $msg = "N<EFBFBD>o foi poss<EFBFBD>vel excuir o $nomeProg selecionado!";
|
|
|
|
|
*/
|
|
|
|
|
$nomeProg = "\"Configura<EFBFBD><EFBFBD>o\"";
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Titulo para o formulario.
|
|
|
|
|
*/
|
|
|
|
|
$tituloFormulario = "Backup Manual";
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Nome da tabela onde sera feito o insert, so deve ser informado se hover um campo autoinc.
|
|
|
|
|
*/
|
|
|
|
|
$tableName = 'pbx_backup';
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Indique o nome do campo que representa a chave primaria na tabela ou outro uniquekey que possa
|
|
|
|
|
* ser usado para editar um excluir um registro.
|
|
|
|
|
*/
|
|
|
|
|
$nomeRegId = 'bkp_id';
|
|
|
|
|
$regId = $_FORMS[$nomeRegId];
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Representa os campos da tabela e variaves de formulario.
|
|
|
|
|
* ex.: $fields = array("dst_id" => 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<EFBFBD><EFBFBD>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<EFBFBD>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<EFBFBD>o existem arquivos dispon<EFBFBD>veis ou j<EFBFBD> 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<EFBFBD>do com sucesso mas nem todos foram conclu<EFBFBD>dos sem erro");
|
|
|
|
|
}
|
|
|
|
|
$msg = "Backup conclu<EFBFBD>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 = "<option value=\"0\" $sel>------------</option>";
|
|
|
|
|
$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 .= "<option value=\"$spid\" $sel>$desc</option>";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $item;
|
|
|
|
|
}
|