"; $linkRamal = "$acao"; } /** ENVIAR EMAIL * */ if ($row["client_email"]) { $mailsend = "\"Enviar"; } else { $mailsend = ""; } /** CONTATOS */ $contatos = "\"Contatos"; $row["client_agenda"] = $row["client_agendamento"] ? date('d/m/Y H:i', strtotime($row["client_agendamento"])) : ''; $row["client_status"] = GetStatusProspect($row["client_status"], false, ($refresh || $row["client_status"] == CONF_STATUS_EXPORTADO ? TRUE : FALSE)); $row["client_tipo_contato"] = GetClientTipoContato($row["client_tipo_contato"]); $row["client_update"] = $row["client_update"] ? date('d/m/Y H:i:s', strtotime($row["client_update"])) : '-'; /** * TABELA ANOTAÇÃO */ $query1 = "SELECT cla_id, cla_anotacao, apelido, data_reg FROM pbx_cliente_anotacoes a " . "INNER JOIN pbx_usuarios b ON b.matricula::int = a.user_reg " . "WHERE client_id = '{$id}' ORDER BY data_reg DESC\n"; $sql = GetTotalRegistro($dbcon, $query1); $params = sprintf("&client_id=%s&client_razao=%s", $id, $row['client_razao_social']); $links = PaginaDados($idProg, $sql, $params, $regPagina, $offSet, $pagMostra, true); $query1 .= " LIMIT $regPagina OFFSET $offSet"; $res = pg_query($dbcon, $query1); $data = pg_fetch_all($res); $tblAnota = ''; foreach ($data as $anota) { $tblAnota .= ""; $tblAnota .= sprintf("%s", date('d/m/Y H:i:s', strtotime($anota['data_reg']))); $tblAnota .= sprintf("%s", $anota['apelido']); $tblAnota .= sprintf("%s", $anota['cla_anotacao']); $tblAnota .= ""; } $smarty->assign("links", $links); $smarty->assign("pagMostra", $pagMostra); $smarty->assign("totalReg", $totalReg); $smarty->assign('anotacao', $tblAnota); $smarty->assign('mailsend', $mailsend); $smarty->assign('contatos', $contatos); $smarty->assign('linkRamal', $linkRamal); $smarty->assign('sound', $sound); if ($result) { //valores no form foreach ($row as $key => $value) { $smarty->assign($key, $value); } } else { $acaoForm = FORM_INSERT; $msgRet = "A operação não pode ser realizada!"; $jsStartup[] = "alert('$msgRet');"; $msgRet .= pg_last_error() ? " Erro: " . pg_last_error() : ""; $smarty->assign("msg", $msgRet); } } else { $msgForm = array(); if (!validaForm($fields, $fieldsObrig, $fieldsType, $fieldsDiplay, $msgForm)) { $acaoForm = FORM_SAVE; //formata mensagem de erro para script $msgRet = ""; foreach ($msgForm as $value) { $msgRet .= "\\n" . $value; } $jsStartup[] = "alert('$msgRet');"; //formata mensagem de erro para o form $msgRet = ""; foreach ($msgForm as $value) { $msgRet .= $value . " "; } //erros no form $smarty->assign("msgErro", $msgRet); $_POST["client_status"] = GetStatusProspect($_POST["client_status"], false, $refresh); $_POST["client_tipo_contato"] = GetClientTipoContato($_POST["client_tipo_contato"]); //valores no form foreach ($fields as $value) { $smarty->assign($value, $_POST[$value]); } } else { $acaoForm = FORM_SAVE; $id = $_POST["client_id"]; $nome = QuotedStr(strtoupper($_POST["client_nome_contato"])); $status = isset($_POST["client_status"]) ? QuotedStr($_POST["client_status"]) : null; $tpContato = QuotedStr($_POST["client_tipo_contato"]); $tpDoc = QuotedStr($_POST["client_tipo_documento"]); $doc = sonumero($_POST["client_documento"]); $doc = !$doc ? "null" : QuotedStr($doc); $email = trim($_POST["client_email"]); $email = !$email ? "null" : QuotedStr($email); $fone = sonumero($_POST["client_telefone"]); $fone = !$fone ? "null" : QuotedStr($fone); if (!$_POST["client_agenda"]) { $agendamento = 'null'; } else { $agendamento = strlen($_POST["client_agenda"]) == 10 ? QuotedStr(FormatDtMssql($_POST["client_agenda"]) . " 00:00") : QuotedStr(FormatDtMssql(substr($_POST["client_agenda"], 0, 10)) . substr($_POST["client_agenda"], 10, 16)); } $user_contato = QuotedStr(GetMatricula()); $obs = trim($_POST["client_obs"]); $obs = !$obs ? null : QuotedStr($obs); $user_reg = GetIdUser(); /* * Atribui uma nova etapa de acordo com o status. */ $client_etapa = GetClienteEtapa($_POST["client_status"]); $query = "update pbx_cliente set client_tipo_documento = {$tpDoc}, client_documento = {$doc}, client_nome_contato = {$nome},$client_etapa"; if (isset($_POST["client_status"])) { $query .= "client_status = {$status},"; } if ($status != CONF_STATUS_EXPORTADO && $status) { $query .= "user_reg = {$user_reg}, client_update = now(),"; } $query .= "client_email = {$email}, client_telefone = {$fone}, client_tipo_contato = {$tpContato}, client_agendamento = {$agendamento} where client_id = {$id} "; $result = @pg_query($dbcon, $query); if ($obs) { $sql = "INSERT INTO pbx_cliente_anotacoes (client_id, cla_anotacao, user_reg) VALUES(%s, %s, %s);"; $sql = sprintf($sql, $id, $obs, $user_contato); @pg_query($dbcon, $sql); } atualizaContato($dbcon, $_POST["client_id"], $nome, $fone, $email); //valores no form foreach ($fields as $value) { if (array_search($value, $_POST) !== false) { $smarty->assign($value, $value == "client_id" ? $id : $_POST[$value]); } } if ($result) { if ($_POST['intg_agenda'] && $_POST["client_agenda"] && $_POST['client_razao_social']) { integCalendar($_POST["client_agenda"], $_POST['client_razao_social'], trim('desenv02@simplesip.com.br')); } $msgRet = "Registro alterado com sucesso!"; $jsStartup[] = "alert('$msgRet');"; $smarty->assign("msg", $msgRet); if (!$_GET['refresh']) { $jsStartup[] = "window.opener.ResetForm();"; } $jsStartup[] = "window.close();"; } else { $msgRet = "A operação não pode ser realizada!"; $jsStartup[] = "alert('$msgRet');"; $msgRet .= pg_last_error() ? (IsAdmin() ? " Erro: " . pg_last_error() : "") : ""; $smarty->assign("msg", $msgRet); } } } function atualizaContato($dbcon, $cliente, $nome, $fone, $email = 'null') { $query = "SELECT clc_id FROM pbx_cliente_contato WHERE client_id = {$cliente} AND clc_contato_principal = 1;"; $result = pg_query($dbcon, $query); $data = pg_fetch_assoc($result); if ($data) { $query = "UPDATE pbx_cliente_contato SET clc_nome = {$nome}, clc_email = {$email}, clc_fone = {$fone} WHERE clc_id = {$data['clc_id']};"; pg_query($dbcon, $query); } } function integCalendar($agenda, $empresa, $email) { if ((file_exists(CONF_PATH_INTEGRACAO . CONF_PATH_CLASS) && (file_exists(CONF_PATH_INTEGRACAO . CONF_PATH_TOKEN)) && (file_exists(CONF_PATH_INTEGRACAO . CONF_PATH_CREDENTIALS)))) { $formtData = strlen($agenda) == 10 ? FormatDtMssql($agenda) . " 00:00" : FormatDtMssql(substr($agenda, 0, 10)) . substr($agenda, 10, 16); $emails = GetAllMailAdmin(); $emails[]['email'] = $email; $gg = new GoogleCalendar(); $gg->getClient(); $dataIni = date('Y-m-d\TH:i:s-04:00', strtotime($formtData)); $dataFim = date('Y-m-d\TH:i:s-04:00', strtotime($formtData . ' +1 hours')); $link = $gg->createEventCalendar( 'APRESENTACAO COM ' . RemoveAcentos($empresa), 'AGENDAMENTO DA APRESENTACAO DOS PRODUTOS SIMPLES IP', $dataIni, $dataFim, $emails ); return $link; } } function GetClienteEtapa($status) { $query = " select ctst_nome from pbx_campanha_contato_status where ctst_id = '$status';\n"; $result = pg_query($query); $data = pg_fetch_row($result); $statusAtual = $data[0]; $novaEtapa = ''; switch ($statusAtual) { case "NOVO": $novaEtapa = 'VALIDACAO'; break; case "ATENDIDA": case "NÃO ATENDIDA": case "ELETRÔNICA": case "MUDA": case "OCUPADA": case "DESLIGOU": case "CLIENTE": case "PROSPECT": case "LEAD": case "ENVIADO": case "AGENDADO": case "INTERESSE": case "CONTABILIDADE": $novaEtapa = 'PROSPECCAO'; break; case "NÃO ENVIAR": case "RESPONDIDO" : case "REPROCESSAR": case "INVALIDO": case "SEM INTERESSE": case "EXCLUIR": case "EXPORTADO": case "REMOVER": $novaEtapa = 'FINALIZACAO'; break; } $query = "select cletp_id from pbx_cliente_etapa where cletp_descricao = '$novaEtapa';\n"; $result = pg_query($query); if (!$result || !pg_num_rows($result)) { return ''; } $data = pg_fetch_row($result); return sprintf("\ncletp_id = '%s',", $data[0]); } ?>