|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* To change this template, choose Tools | Templates
|
|
|
|
|
* and open the template in the editor.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
function GetTypesForm() {
|
|
|
|
|
return array('texto', 'numero', 'data', 'dataHora', 'arquivo', 'alpha', 'alphanumerico');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetLinhasSelect($dbCon, $tableName, $tableWhere, $fieldsSelect, $fields, $fieldParamConsulta, $fieldsTypes, &$fieldsForm, $arKeyDb, $arOperacao, $defOperacao = 'insert', $ini = 0) {
|
|
|
|
|
// Campos que v<EFBFBD>o retornar do banco na consulta
|
|
|
|
|
$fildQuery = ArSelectToStr($fieldsSelect);
|
|
|
|
|
$arFieldSelect = explode(',', $fildQuery);
|
|
|
|
|
$fieldImg = $fieldsForm['fieldImg'];
|
|
|
|
|
$fieldImgOper = $fieldsForm['fieldImgOper'];
|
|
|
|
|
|
|
|
|
|
//link default para novo registro
|
|
|
|
|
$lkInsertDef = GetOperacoes($defOperacao, $arOperacao['arqCampanha'], 0);
|
|
|
|
|
|
|
|
|
|
if ($ini) {
|
|
|
|
|
$colspan = (count($arFieldSelect) + count($arOperacao));
|
|
|
|
|
$fieldsForm['linhas'] = sprintf('<tr%s><td align="center" colspan="%s">%s %s</td></tr>', $class, $colspan, 'Informe os parametros e clique em consultar!', $lkInsertDef);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
// Formata a clausula where
|
|
|
|
|
$where = is_array($tableWhere) ? ArWhereToStr($tableWhere, $fieldParamConsulta, $fieldsForm) : $tableWhere;
|
|
|
|
|
|
|
|
|
|
// Formata a query
|
|
|
|
|
$query = sprintf('select %s from %s where %s', $fildQuery, $tableName, $where);
|
|
|
|
|
$result = pg_query($dbCon, $query);
|
|
|
|
|
|
|
|
|
|
$class = $fieldsForm['classLinha'];
|
|
|
|
|
$class = empty($class) ? "" : " class=\"$class\" ";
|
|
|
|
|
|
|
|
|
|
if ($result && pg_num_rows($result)) {
|
|
|
|
|
|
|
|
|
|
$linha = "";
|
|
|
|
|
|
|
|
|
|
while ($row = pg_fetch_array($result)) {
|
|
|
|
|
$linha .= sprintf('<tr%s>', $class);
|
|
|
|
|
foreach ($fieldsSelect as $key => $value) {
|
|
|
|
|
if ($value) {
|
|
|
|
|
$vl = $row[$key];
|
|
|
|
|
$linha .= sprintf('<td align="%s">%s</td>', GetAlignForm($fieldsTypes[$key]), FormataValue($row, $fieldsTypes, $vl, $fieldImg[$key], $fieldImgOper[$key]));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
foreach ($arOperacao as $key => $value) {
|
|
|
|
|
$linha .= sprintf('<td align="center">%s</td>', GetOperacoes($key, $value, $row[$arKeyDb[0]]));
|
|
|
|
|
}
|
|
|
|
|
$linha .= '</tr>';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$fieldsForm['linhas'] = $linha;
|
|
|
|
|
} else {
|
|
|
|
|
$colspan = (count($arFieldSelect) + count($arOperacao));
|
|
|
|
|
$fieldsForm['linhas'] = sprintf('<tr%s><td align="center" colspan="%s">%s %s</td></tr>', $class, $colspan, 'Nenhum registro encontrado!', $lkInsertDef);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetCabecalioSelect($arSelect, $arDisplay, &$arFieldForm, $arType, $arOperacao) {
|
|
|
|
|
$class = $arFieldForm['clasHead'];
|
|
|
|
|
$class = empty($arFieldForm['clasHead']) ? '' : " clas=\"$class\" ";
|
|
|
|
|
$str = sprintf("<tr%s>", $class);
|
|
|
|
|
|
|
|
|
|
foreach ($arSelect as $key => $value) {
|
|
|
|
|
if ($value) {
|
|
|
|
|
$str .= sprintf('<th align="%s">%s</th>', GetAlignForm($arType[$key]), $arDisplay[$key]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
$oper = count($arOperacao);
|
|
|
|
|
$str .= $oper ? sprintf('<th align="center" colspan="%s">Opera<EFBFBD><EFBFBD>es</th>', $oper) : "";
|
|
|
|
|
$str .= '</tr>';
|
|
|
|
|
$arFieldForm['headLinhas'] = $str;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetAlignForm($type) {
|
|
|
|
|
$tp = explode(',', $type);
|
|
|
|
|
|
|
|
|
|
switch ($tp[0]) {
|
|
|
|
|
case 'texto' :
|
|
|
|
|
case 'alpha' :
|
|
|
|
|
case 'alphanumerico' : return 'left';
|
|
|
|
|
case 'numero': return 'right';
|
|
|
|
|
case 'data':
|
|
|
|
|
case 'dataHora': return 'center';
|
|
|
|
|
default : return 'center';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function FormataValue($rowDados, $fieldsTypes, $vl, $fieldImg, $fieldImgOper) {
|
|
|
|
|
if (isset($fieldImg)) {
|
|
|
|
|
$imgs = explode(';', $fieldImg);
|
|
|
|
|
foreach ($imgs as $imgValus) {
|
|
|
|
|
$arImg = explode(':', $imgValus);
|
|
|
|
|
if ($arImg[1] == $vl) {
|
|
|
|
|
if (isset($fieldImgOper)) {
|
|
|
|
|
$arOper = explode(',', $fieldImgOper);
|
|
|
|
|
$varUrl = sprintf('&%s=%s', $arOper[2], $rowDados[$arOper[2]]);
|
|
|
|
|
return GetLinkForm($varUrl, $arOper[3], $arOper[0], $arOper[6], $arOper[4], $arOper[5], $arImg[2]);
|
|
|
|
|
//'jnAtvCampanha,,cmp_id,116,610, 275, Ativa<EFBFBD><EFBFBD>o/Destiva<EFBFBD><EFBFBD>o Campanha!'
|
|
|
|
|
}
|
|
|
|
|
return sprintf('<img src="%s" border="0" Title="%s">', $arImg[1], $arImg[2]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return $vl;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ArWhereToStr($arWhere, $arParam, $arForm) {
|
|
|
|
|
$str = "";
|
|
|
|
|
/*
|
|
|
|
|
* O array $arWhere tem como chave($key) o campo da busca
|
|
|
|
|
* e o valor($value) operador a ser utilizado utilizado
|
|
|
|
|
*
|
|
|
|
|
* O array $arParam sua chave <EFBFBD> igual a chave em $arForm que
|
|
|
|
|
* cont<EFBFBD>m os valores vindos dos formularios
|
|
|
|
|
*/
|
|
|
|
|
foreach ($arWhere as $key => $value) {
|
|
|
|
|
$campoBusca = $key;
|
|
|
|
|
$operadorBusca = $value;
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Esta funcao retorna a chave do array passado no primeiro parametro
|
|
|
|
|
* quando o valor deste array coincidir com o valor passado no segundo
|
|
|
|
|
* parametro
|
|
|
|
|
*/
|
|
|
|
|
$KeyValor = ArKeyFromValue($arParam, $key);
|
|
|
|
|
|
|
|
|
|
$valorBusca = (strtolower($operadorBusca) == 'like') ? QuotedStr(PreparaLike($arForm[$KeyValor])) : QuotedStr($arForm[$KeyValor]);
|
|
|
|
|
|
|
|
|
|
$str .= (empty($str) ? "" : " AND ") . sprintf('%s %s %s', $campoBusca, $operadorBusca, $valorBusca);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $str;
|
|
|
|
|
//$tableWhere = array('cmp_descricao' => 'like');
|
|
|
|
|
//$fieldParamConsulta = array('txtConsulta' => 'cmp_descricao');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ArSelectToStr($arFields) {
|
|
|
|
|
global $fieldsDefault;
|
|
|
|
|
$str = "";
|
|
|
|
|
foreach ($arFields as $key => $value) {
|
|
|
|
|
if ($value) {
|
|
|
|
|
if ($value == 2)
|
|
|
|
|
$key = QuotedStr($fieldsDefault[$key]) . ' as ' . $key;
|
|
|
|
|
if (empty($str)) {
|
|
|
|
|
$str = $key;
|
|
|
|
|
} else {
|
|
|
|
|
$str .= ', ' . $key;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return " " . $str . " ";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ArKeyFromValue($ar, $val) {
|
|
|
|
|
foreach ($ar as $key => $value) {
|
|
|
|
|
if ($val == $value) {
|
|
|
|
|
return $key;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetVarForm($arSource, &$arDest) {
|
|
|
|
|
foreach ($arSource as $key => $values)
|
|
|
|
|
$arDest[$key] = $arSource[$key];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetOperacoes($oper, $param, $key, $paramAux = '') {
|
|
|
|
|
$prm = explode(',', $param);
|
|
|
|
|
|
|
|
|
|
$idProg = $GLOBALS['idProg'];
|
|
|
|
|
$nomeJanela = $prm[0];
|
|
|
|
|
$imagem = $prm[1];
|
|
|
|
|
$campoKey = $prm[2];
|
|
|
|
|
$progId = $prm[3];
|
|
|
|
|
$wJan = $prm[4];
|
|
|
|
|
$hJan = $prm[5];
|
|
|
|
|
$title = $prm[6];
|
|
|
|
|
|
|
|
|
|
if ($oper == 'insert') {
|
|
|
|
|
$lk = GetLinkFormInsert($nomeJanela, $imagem);
|
|
|
|
|
} else if ($oper == 'update') {
|
|
|
|
|
$varUrl = sprintf('&%s=%s', $campoKey, $key);
|
|
|
|
|
$lk = GetLinkFormUpdate($varUrl, $nomeJanela, $imagem);
|
|
|
|
|
} else if ($oper == 'delete') {
|
|
|
|
|
$nomeFuncao = 'DeletaRegistro';
|
|
|
|
|
$lk = GetFormDelete($idProg, $key, $paramAux, $nomeFuncao, $imagem);
|
|
|
|
|
} else {
|
|
|
|
|
$varUrl = sprintf('&%s=%s', $campoKey, $key);
|
|
|
|
|
$lk = GetLinkForm($varUrl, $progId, $nomeJanela, $title, $wJan, $hJan, $imagem);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $lk;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetFormDelete($idProg, $id, $param, $nomeFuncao, $imagem = "") {
|
|
|
|
|
/*
|
|
|
|
|
* $param: passar parametro de url completo ex.: &nomeVar=valor
|
|
|
|
|
*/
|
|
|
|
|
$link = "";
|
|
|
|
|
$img = "";
|
|
|
|
|
$imgDef = empty($imagem) ? "imgSite/fecha16.png" : $imagem;
|
|
|
|
|
$atributos = "resizable=NO,scrollbars=NO";
|
|
|
|
|
$janW = $GLOBALS["janW"] ? $GLOBALS["janW"] : 500;
|
|
|
|
|
$janH = $GLOBALS["janH"] ? $GLOBALS["janH"] : 400;
|
|
|
|
|
$action = FORM_DELETE;
|
|
|
|
|
|
|
|
|
|
$img = "<img src=\"$imgDef\" width=\"16\" height=\"16\" border=\"0\" title=\"Apaga este registro!\">";
|
|
|
|
|
$link = "<a href=\"javaScript:$nomeFuncao('$idProg', '$id' , '$param');\">$img</a>";
|
|
|
|
|
return $link;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function InsertDefault(&$arForm, $arDefault) {
|
|
|
|
|
foreach ($arDefault as $key => $value) {
|
|
|
|
|
if (!$arForm[$key]) {
|
|
|
|
|
$arForm[$key] = $arDefault[$key];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetAcaoForm($arForm) {
|
|
|
|
|
/*
|
|
|
|
|
* Retorna o dipo de acao que o usuario esta realizando
|
|
|
|
|
* com base no parametro formAction
|
|
|
|
|
*/
|
|
|
|
|
if (isset($arForm["btGravar"]) && ($arForm["btGravar"] == "Salvar"))
|
|
|
|
|
return FORM_SAVE;
|
|
|
|
|
else if ((isset($arForm["btConsulta"]) && ($arForm["btConsulta"] == "Consultar")) || (!isset($arForm["formAction"])))
|
|
|
|
|
return FORM_SELECT;
|
|
|
|
|
if (isset($arForm["formAction"]) && ($arForm["formAction"] == FORM_NEW))
|
|
|
|
|
return FORM_NEW;
|
|
|
|
|
else if (isset($arForm["formAction"]) && ($arForm["formAction"] == FORM_UPDATE))
|
|
|
|
|
return FORM_UPDATE;
|
|
|
|
|
else if (isset($arForm["formAction"]) && ($arForm["formAction"] == FORM_DELETE))
|
|
|
|
|
return FORM_DELETE;
|
|
|
|
|
else
|
|
|
|
|
return $arForm["formAction"];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function ModificaAction(&$fieldsForm, $arFuncoes, $arChange) {
|
|
|
|
|
$modif = 0;
|
|
|
|
|
foreach ($arFuncoes as $value) {
|
|
|
|
|
if (isset($fieldsForm[$value]))
|
|
|
|
|
$modif = 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($modif) {
|
|
|
|
|
$fieldsForm['formAction'] = FORM_UNDEF;
|
|
|
|
|
} else if (!isset($fieldsForm['btGravar'])) {
|
|
|
|
|
foreach ($arChange as $key => $value) {
|
|
|
|
|
if (isset($fieldsForm[$key]))
|
|
|
|
|
$fieldsForm['formAction'] = $value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function fmtMsg($str, $silent = 1) {
|
|
|
|
|
$arReplace = array("'", "\n");
|
|
|
|
|
if (!$silent)
|
|
|
|
|
$GLOBALS['jsStartup'][] = sprintf("alert('%s');", trim(str_replace($arReplace, "", $str)));
|
|
|
|
|
return sprintf('<span style="font-size: 12px; font-weight:bold; color:#0000FF;">%s</span>', $str);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function fmtErro($str, $erroAnexo = '') {
|
|
|
|
|
if (!empty($erroAnexo) && IsAdmin()) {
|
|
|
|
|
$arReplace = array("^", "~", "`", "'", "'", "\n");
|
|
|
|
|
$GLOBALS['jsStartup'][] = sprintf("alert('%s %s');", $str, trim(str_replace($arReplace, "", RemoveAcentos($erroAnexo))));
|
|
|
|
|
$strJs = $str;
|
|
|
|
|
$str = sprintf('<span style="font-size: 12px; font-weight:bold; color:#000000;">%s</span>
|
|
|
|
|
<span style="font-size: 12px; font-style:italic; color:#FF0000;">Erro: %s</span', $str, $erroAnexo);
|
|
|
|
|
} else {
|
|
|
|
|
$GLOBALS['jsStartup'][] = "alert('$str');";
|
|
|
|
|
$str = sprintf('<span style="font-size: 12px; font-weight:bold; color:#FF0000;"> %s</span>', $str);
|
|
|
|
|
}
|
|
|
|
|
return $str;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetLinkForm($varUrl, $idProg, $nomeJanela, $title = "", $wJan = 0, $hJan = 0, $imagem = "", $text = '') {
|
|
|
|
|
$link = "";
|
|
|
|
|
$img = "";
|
|
|
|
|
$imgDef = empty($imagem) ? "imgSite/desel12.gif" : $imagem;
|
|
|
|
|
$atributos = "resizable=NO,scrollbars=NO";
|
|
|
|
|
$janW = $wJan ? $wJan : ($GLOBALS["janW"] ? $GLOBALS["janW"] : 500);
|
|
|
|
|
$janH = $hJan ? $hJan : ($GLOBALS["janH"] ? $GLOBALS["janH"] : 400);
|
|
|
|
|
$titleImg = !empty($title) ? $title : 'Opera<EFBFBD><EFBFBD>es';
|
|
|
|
|
$action = FORM_UNDEF;
|
|
|
|
|
$img = "<img src=\"$imgDef\" border=\"0\" title=\"$titleImg\" align=\"absmiddle\" style=\"vertical-align: middle\">";
|
|
|
|
|
$link = "<a href=\"javaScript:NovaJanela('index.php?idProg=$idProg&formAction=$action$varUrl', '$nomeJanela', '$janW', '$janH', '$atributos');\">$img$text</a>";
|
|
|
|
|
|
|
|
|
|
return $link;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
?>
|