Creio que muita gente tenha tido o mesmo problema, apesar do Ocomon fornecer configurações para o LDAP, muita gente precisou utilizá-lo com o Active Directory. Nesse vou demonstrar uma forma muito fácil de se resolver isso com uma classe que encontrei na NET chamada adLDAP.
Copie somente o arquivo adLDAP.php para a pasta ../ocomon/includes/classes, ou outra se preferir. Agora entre no adLDAP.php com editor PHP ou use um editor de sua preferência. Procure as seguintes linhas e altere:
Acesse a pasta ../ocomon/includes/common e edite o arquivo login.php, altere o arquivo conforme mostrado abaixo:
session_start();
include ("../../includes/include_geral.inc.php");
include ("../../includes/functions/browser_detection.php");
include ("../../includes/classes/adLDAP.php"); #Adicionar o caminho da class adLDAP.php
Comente as linhas:
/*$conec->conLDAP(LDAP_HOST, LDAP_DOMAIN, LDAP_DN, LDAP_PASSWORD);
$conecSec = new conexao; //Para testar no LDAP Labin
$conecSec->conLDAP(LDAP_HOST, LDAP_DOMAIN_SEC, LDAP_DN, LDAP_PASSWORD);*/
//Já nesta linha ele verifica se usuário existe no Banco de Dados se não existir ele criar como usuário default
$qry="SELECT * FROM `usuarios` WHERE `login` = '".$s_usuario."'";
$qry3 = mysql_query($qry) or die('Impossível aceder à base de dados de utilizadores!!!');
$rowUSER = mysql_fetch_array($qry3);
if (($rowUSER['login'])!=($s_usuario)){
$adduser = "INSERT INTO usuarios (login, nome, password, data_inc, data_admis, email, fone, nivel, AREA, user_admin) " .
"values ('".$s_usuario."','".$s_usuario."','e267cfcd18461ce938067eca67c59f41','".date("Y-m-d")."','" .
date("Y-m-d")."','".$U_MAILG."','1234','2','2','0')";
mysql_query($adduser) or die (TRANS('ERR_INSERT').$s_usuario);
Uma dica, o usuário que ele adicionar automaticamente terá o direito somente para abrir o chamado, para classificar o usuário como administrador você deve informar manualmente.
Bom, por fim, se alguém tiver necessidade de incluir o grupo também, basta consultar a classe adLDAP ou usar o paramento $result[0]["primarygroupid"][0].
[3] Comentário enviado por bbrasil em 23/09/2009 - 14:14h
Não funcionou, estou na versão 2.0 RC6, da um erro de "ELSE" inexperado na linha 184, logo após que se coloca usuario e senha, não entendo muito de programação e não consegui identificar o erro.
$result=$adldap -> user_info($_POST['login']);
$U_MAILG=$result[0]["mail"][0];
//*****************************************************************************************************************************
$qry="SELECT * FROM `usuarios` WHERE `login` = '".$s_usuario."'";
$qry3 = mysql_query($qry) or die('Impossível aceder à base de dados de utilizadores!!!');
$rowUSER = mysql_fetch_array($qry3);
if (($rowUSER['login'])!=($s_usuario)){
$adduser = "INSERT INTO usuarios (login, nome, password, data_inc, data_admis,
email, fone, nivel, AREA, user_admin) ".
"values ('".$s_usuario."','".$result[0]["displayname"][0]."','e267cfcd18461ce938067eca67c59f41','".date("Y-m-d")."','".
date("Y-m-d")."','".$U_MAILG."','1234','2','".$result[0]["primarygroupid"][0]."','0')";
mysql_query($adduser) or die (TRANS('ERR_INSERT').$s_usuario);
$addarea = "INSERT INTO `usuarios_areas` (`uarea_uid`,`uarea_sid`) VALUES ('".$rowUSER['user_id']."', '".$result[0]["primarygroupid"][0]."')";
mysql_query($addarea) or die (TRANS('ERR_INSERT').$s_usuario);
}
$qruy="SELECT * FROM `sistemas` WHERE `sis_id` = '".$result[0]["primarygroupid"][0]."'";
$qruy3 = mysql_query($qruy) or die('Impossível aceder à base de dados de utilizadores!!!');
$rowGroup = mysql_fetch_array($qruy3);
if (($rowGroup['sis_id'])!=($result[0]["primarygroupid"][0])){
$addgroup = "INSERT INTO `sistemas` VALUES ('".$result[0]["primarygroupid"][0]."', '".$rwGroup[0]."',
'1', 'ti@meuemail.com.br', '0', null)";
$addpermi = "INSERT INTO `permissoes` (`perm_area`,`perm_modulo`,`perm_flag`) VALUES ('".$result[0]["primarygroupid"][0]."', '1', '1')";
mysql_query($addgroup) or die (TRANS('ERR_INSERT').$rwGroup[0]);
mysql_query($addpermi) or die (TRANS('ERR_INSERT').$rwGroup[0]);
}
//*****************************************************************************************************************************
$queryOK = "SELECT u.*, n.*,s.* FROM usuarios u left join sistemas as s on u.AREA = s.sis_id ".
"left join nivel as n on n.nivel_cod =u.nivel WHERE u.login = '".$_POST['login']."'";
[6] Comentário enviado por bbrasil em 23/09/2009 - 16:26h
Ola,
Funcionou ! Nem acredito, anos correndo atras da solução, rsrsrsrs... para ficar perfeito eu gostaria que ele cadastra-se usuarios novos no grupo padrão do ocomon "USUÁRIOS" (isso mesmo com acento), pois ele cadastra no grupo que tenho no AD, tentei fazer a alteração mas não consegui.
[8] Comentário enviado por quirinobytes em 27/09/2009 - 13:48h
Saudações ilustre Carlos,
Muito interessante essa solução para manter o Controlador de Domínio como responsável pela autenticação de usuários. É muito chato ter que cadastrar o mesmo usuário em 12 sistemas diferentes, qdo existe integração, reduzimos muito o trabalho de TI e o esforço do usuário manter várias senhas atualizadas ou ao menos lembra-las.
O fato é que meu AD segue uma política de senhas, que não permite ao usuário usar senhas fáceis.
Ele mescla caracteres alfanuméricos e especias.
O problema que eu tive está sendo em autenticar usuário com senhas que contém $,#,@, e etc...
Já comentei o alert do javascript para não reclamar o erro, mas mesmo assim não loga.
Usuários do AD com senhas 123, abcdmudar e etc, funcionam perfeitamente.
Gostaria de saber se é possível usar senhas fortes para autenticar no ocomon, usando o AD como servidor de autenticação?
[9] Comentário enviado por quirinobytes em 27/09/2009 - 14:40h
Pessoal
Consegui resolver o problema de login ao usar senhas com caracteres especias...
Altere o arquivo ocomon/includes/javascript/funcoes.js
Na linha 467:
alert("Esse campo só aceita carateres do alfabeto sem espaços!");
Comente essa linha 467, deixando assim:
<!-- alert("Esse campo só aceita carateres do alfabeto sem espaços!"); -->
Na linha 476:
alert("Esse campo só aceita valores alfanuméricos sem espaços ou separados por um ponto(no máximo um)!");
Comente essa linha 476, deixando assim:
<!-- alert("Esse campo só aceita valores alfanuméricos sem espaços ou separados por um ponto(no máximo um)!"); -->
Na linha 485:
alert("Esse campo só aceita valores alfanuméricos sem espaços!");
Comente essa linha 485, deixando assim:
<!-- alert("Esse campo só aceita valores alfanuméricos sem espaços!"); -->
Altere o resultado de retorno na linha 487:
return false;
Deixa a linha 487, assim:
return true;
Pronto, bastou fazer isso que já está funcionando o Login usando senhas com caracteres especiais.
Não se esqueça de alterar o tipo de login no arquivo config.inc.php para LDAP.
Após você logar com seu usário do AD, será criado seu usuário no banco de dados do Ocomon, para fazer esse usuário ser o Administrador do Ocomon faça o seguinte:
Volte o tipo de autenticação para SYSTEM, faça login com admin/admin, clicar no menu Admin -> Usuários e edite o seu usuário passando-o para Administrador, salve e saia.
Depois basta voltar o tipo de autenticação para LDAP denovo, faça login com seu usuário e senhas do AD e administre o sistema Ocomon normalmente.
Carlos, mais uma vez, parabéns pela brilhante solução,
[10] Comentário enviado por jacquesteixeira em 28/09/2009 - 23:12h
gente fiz todas as configuraçoes conferi erros ,mas um ultimo erro nao consegui identificar quando tento logar com um usuario do AD aparece o seguinte erro:
Fatal error: call to undefined function ldap_connect() in C:\xampp\htdocs\ocomon\includes\classes\adLDAP.php on line 360
[12] Comentário enviado por Erick Albuquerqu em 29/09/2009 - 14:46h
Olá!
Segui as instruções do Carlos, mas quando tento logar com qualquer usuário aparece a seguinte mensagem.
Parse error: syntax error, unexpected T_ELSE in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\Ocomon\includes\common\login.php on line 235
[14] Comentário enviado por carlosrfjunior em 29/09/2009 - 15:12h
Boa tarde, a Todos!
Para quem está com dificuldades, segue o link do arquivo login.php com a configuração correta, o que está descrito nessa dica está faltando chave'}' para finalizar a instrução.
[15] Comentário enviado por Erick Albuquerqu em 29/09/2009 - 15:26h
Mais um duvida operacional...
Apos entrar com login/senha, aparece a msg abaixo:
Fatal error: Call to undefined function ldap_connect() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\Ocomon\includes\classes\adLDAP.php on line 360
[16] Comentário enviado por carlosrfjunior em 29/09/2009 - 15:32h
Boa tarde, Erick!
Tente usar o IP da máquina no lugar do hostname
protected $_domain_controllers = array ("lmsrvvm-dc");
para
protected $_domain_controllers = array ("IPAddress");
/* Variáveis para conexão LDAP DEVEM SER CONFIGURADAS EM CASO DE AUTH_TYPE==LDAP DE ACORDO COM AS CONFIGURAÇÕES DO SEU SERVIDOR LDAP*/
define ( "LDAP_HOST", "192.168.254.5"); //IP do servidor LDAP
define ( "LDAP_DOMAIN", "ou=Usuarios,dc=lita");
[19] Comentário enviado por carlosrfjunior em 29/09/2009 - 16:01h
Outra coisa, o seu Apache está com o modulo ldap ativo?
Para que a função funcione você tem que habilitar.
phpinfo()
ldap
LDAP Support enabled
RCS Version $Id: ldap.c,v 1.161.2.3.2.1 2006/06/15 18:33:07 dmitry Exp $
Total Links 0/unlimited
API Version 2004
Vendor Name OpenLDAP
Vendor Version 20130
[24] Comentário enviado por Erick Albuquerqu em 29/09/2009 - 17:00h
Opa consegui "resolver"
Copiei as *.dll
libsasl.dll
libeay32.dll
ssleay32.dll
Para a pasta %system32%.
Mas depois que loga aparece a seguinte msg:
Warning: ldap_close() expects parameter 1 to be resource, null given in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\Ocomon\includes\classes\conecta.class.php on line 163
Fatal error: Call to a member function desconLDAP() on a non-object in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\Ocomon\includes\common\login.php on line 242
[26] Comentário enviado por carlosrfjunior em 30/09/2009 - 09:01h
Bom dia, jacquesteixeira!
Creio que o seu problema é o mesmo do Erick Albuquerqu. O Seu Apache não está configurado corretamente, por isso não está conseguindo localizar a funções.
Veja se no arquivo php.ini está marcado a opção extension=php_ldap.dll e se o modulo do ldap está habilitado no Apache
[27] Comentário enviado por Erick Albuquerqu em 30/09/2009 - 09:45h
Vale lembrar que só habilitar os modulos no apache e descomentar a extension no php.ini não vai adiantar é necessário copiar as *.dll para a system32, feito isso de um restart no apache e veja se funciona...
Copie as dll's abaixo que se encontra na pasta do php para a system32.
[28] Comentário enviado por malladi em 16/10/2009 - 16:28h
Olá Pessoal,
Instalei o ocmomon num servidor ubuntu, tá funcionando normalmente mas não consegui colocar pra funcionar esta integração, como vi os comentários anteriores, todos são para windows e não Linux...
[29] Comentário enviado por Douglas Oliveira em 26/10/2009 - 10:54h
Bom Dia a Todos.
Na empresa onde trabalho, possui 2 Controladores de Dominio. Gostaria de saber, se é possível configurar o Ocomon, para reconhecer os 2 Controladores de Domínio.
[30] Comentário enviado por arthurbovolon em 05/11/2009 - 09:22h
Bom dia Carlos,
Cara, to com uma duvida pra saber como faço pra colocar isso pra funcionar no meu ambiente.
Meu ocomon esta instalado em um servidor externo (Locaweb) e meu AD fica em um servidor win2003 aqui na empresa. Como teria que ser feito para que o ocomon converse com meu servidor AD aqui da empresa?
[31] Comentário enviado por marcovinycios em 12/11/2009 - 11:43h
Carlos Junior, bom dia.
Em primeiro lugar parabéns pelo seu artigo, foi muito útil. Estou usando o ocomon 2.0-RC5 que está instalado em um servidor Redhat 5.3 e está em um domínio com Windows 2008. Consegui colocar para funcionar mas tenho uma dúvida. Quando criei um usuário novo no meu AD e tentei logar no ocomon apareceu a mensagem abaixo:
IMPOSSÍVEL ACESSAR A BASE DE PERMISSÕES: LOGIN.PHP
[35] Comentário enviado por marcellphelipe em 07/01/2010 - 12:10h
Boa tarde galera..
Segui todas as dicas que foram postadas ai.. e tudo funcionou quase perfeitamente.
a unica coisa que esta me fazendo quebrar a cabeça é que, agora quando entro com um novo usuario no sistema, ao abrir a pagina inicial o navegador fica atualizando a pagina... entra num ciclo sem fim... rs
Alguem tem alguma ideia de como solucioar esse problema?
[37] Comentário enviado por liberdade em 10/02/2010 - 17:29h
Uma grande dúvida, quando logo usando autenticação do AD eu não consigo mais usar o usuário ADMIN do sistema que me permite personalizar a parametrizar o sistema Ocomon. Agora que todos os usuários vem do AD como fazer para definir quem é administrador dos que são usuários normais?
[38] Comentário enviado por sialber em 23/02/2010 - 13:59h
Carlos,
Eu uso o LDAP em vez do AD, e tenho o problema de ter que cadastrar todos os usuários no Ocomon, mesmo usando o LDAP. Haveria como cadastrar os usuários na hora do login do LDAP dentro do Ocomon ?? assim como feito com o AD no seu artigo???
[40] Comentário enviado por neobyte em 06/05/2010 - 09:19h
Prezados,
Bom dia!
Ao Iniciar o Ocomon aparece as mensagens abaixo, alguem pode ajudar a solucionar estes Warnings ?
---
Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for '-3.0/no DST' instead in C:\xampp\htdocs\ocomon\includes\classes\auth.class.php on line 52
Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for '-3.0/no DST' instead in C:\xampp\htdocs\ocomon\includes\classes\auth.class.php on line 52
Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for '-3.0/no DST' instead in C:\xampp\htdocs\ocomon\includes\functions\funcoes.inc on line 653
Warning: strtotime() [function.strtotime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for '-3.0/no DST' instead in C:\xampp\htdocs\ocomon\includes\functions\funcoes.inc on line 665
Warning: strftime() [function.strftime]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for '-3.0/no DST' instead in C:\xampp\htdocs\ocomon\includes\functions\funcoes.inc on line 665
---
[41] Comentário enviado por djcelsodub em 06/06/2010 - 21:06h
Carlos,
Parabens pelo tutorial... funcionou perfeitamente.
Tenho apenas 2 dúvidas e gostaria de saber se pode me ajudar:
1. A empresa em que trabalho possui uma floresta do AD com 6 domínios em relação de confiança... todos formato empresa.com.br, filial1.empresa.com.br etc.
Integrei o Ocomon no domínio PAI, os usuários deste domínio logam normalmente. Mas os usuários dos domínio filhos não podem se logar. Li em um forum da Micro$oft que para utilizar a base LDAP do AD na floresta é necessário alterar a porta padrão 389 para 3268 e alterar a base DN para uma forma que seja comum com todos os domínios da floresta, mais ou menos assim: dc=com,dc=br (suprimindo o dc=empresa).
Essa é a pergunta que não quer calar: É possível alterar as configurações dessa forma para que o Ocomon alcance todos os usuários da floresta e não somente os do domínio PAI??
2. Os usuários que se logam no Ocomon e que ainda não existiam na base mysql são criados automaticamente com sucesso, porém, sao criados como operadores e não como usuários com permissão "somente abertura de chamados".
A segunda pergunta que não quer calar: O que deve ser feito para que os usuários "comuns" sejam criados da forma correta no Ocomon (somente abertura)???
Agradeço se puder me ajudar...
Parabéns novamente pelo tutorial.
[42] Comentário enviado por ecarlao em 29/07/2010 - 10:55h
Gostaria de parabenizar pelo excelente tutorial, mas estou com um problema já descrito por alguns acima. Poderiam disponibilizar o login.php pra mim?
Está aparecendo o erro
Fatal error: Call to undefined function ldap_connect() in C:\xampp\htdocs\helpdesk\includes\classes\adLDAP.php on line 360
[44] Comentário enviado por carlosrfjunior em 27/08/2010 - 22:21h
Olá Galera!
Desculpa pela demora, pois são muitos projetos que estou trabalhando atualmente e não tive como responder a todos!
Bom devo colocar em breve outro artigo mais elaborado em meu site www.carlosrfjunior.com.br, já com todas dúvidas
publicadas.
[47] Comentário enviado por antoniormjr em 27/09/2010 - 13:05h
Ola Pessoal, Encontrei um BUG novo ai no codigo... Esta tudo funcionando certinho com o AD, porem o codigo nao esta conseguindo analisar a diferença entre usuarios com letra MAIUSCULA E MINUSCULA, ou seja, tenho um usuario chamado teste no ad. Se eu logar com o usuario teste ele loga normalmente e cria o usuario no ocomon, porem se eu logar com o usuario TESTE ele cria um novo usuario no AD duplicando assim minha base de usuarios no ocomon. Alguem poderia me auxiliar. VALEUUUUUUUUUUUUUUUUUUUUUUUUUUU.
[51] Comentário enviado por carlosrfjunior em 28/09/2010 - 13:21h
Opa Boa Tarde, Galera!
Vacilo meu, veja se o arquivo config.inc.php existe, se existir faça um backup do arquivo e delete ou mova para outro lugar,
e tente executar novamente.
[52] Comentário enviado por antoniormjr em 28/09/2010 - 16:22h
Ola Pessoal, Encontrei um BUG novo ai no codigo... Esta tudo funcionando certinho com o AD, porem o codigo nao esta conseguindo analisar a diferença entre usuarios com letra MAIUSCULA E MINUSCULA, ou seja, tenho um usuario chamado teste no ad. Se eu logar com o usuario teste ele loga normalmente e cria o usuario no ocomon, porem se eu logar com o usuario TESTE ele cria um novo usuario no AD duplicando assim minha base de usuarios no ocomon. Alguem poderia me auxiliar. VALEUUUUUUUUUUUUUUUUUUUUUUUUUUU.
[53] Comentário enviado por antoniormjr em 29/09/2010 - 09:10h
Pessoal, para solucionar esse problema preciso de alguem que manja de PHP para fazer o tratamento do usuario alterando para letra Minuscula antes de consultar o AD.
[55] Comentário enviado por kflin em 29/09/2010 - 16:45h
Carlos,
Teria como postar uma nova dica, ou editar esta (não sei se o VOL permite) incluindo a parte do pacote?
Sei que é simples o procedimento, mas para mim não funcionou (o index.php da pasta install simplesmente não traz nada além da página em branco).
Já refiz o procedimento, mas mesmo assim não deu certo.
O que fiz? Instalei o Ocomon novamente do zero, testei seu funcionamento e estava ok.Baixei o pacote que vc disponibilizou, movi o config.inc.php pro /home (fiz backup dele), copiei os arquivos para as pastas corretas preservando as permissões dos que já existiam e acertando as dos que não existiam, configurei o novo adLDAP.php para acessar meu AD e quando fui acessar o sistema, ele direciona para a pasta install mas nada mais acontece além da tela em branco.
Obrigado pela atenção e paciência, e disposição em ajudar.
[57] Comentário enviado por carlosrfjunior em 29/09/2010 - 17:18h
Boa Tarde, kflin!
Obrigado pela informação devo atualizar o pacote corrigindo isso, testei na base windows e linux, nenhuma apresentou o problema, mas te aconselho que remova também <!-- que fica antes do -->.
Já o adLDAP.php não é necessário informar nada, pois a configuração é feita através do instalador inicial, o que você colocar lá não vai ser levado em conta pelo sistema.
[58] Comentário enviado por kflin em 29/09/2010 - 18:03h
Estranho que se removo o <!-- dá pagina em branco de novo.Removendo só o -->, aparece só até o inicio da configuração de autenticação (Configuração da Conexão para autenticação) Tipo de conexão, e o botão confirmar.
Daí pra baixo fica em branco e não continua para inserir as configurações do AD.
[59] Comentário enviado por kflin em 30/09/2010 - 11:26h
Consegui fazer autenticar no AD com o novo pacote, mas configurei a parte do AD no config.inc.php na mão (como comentei antes, a parte de conexão ao banco ele cria).
Não sei se por ter feito deste modo, ainda persiste o problema de usuários duplicarem ao se logar com maiuscula (ou qq padrão diferente.p. ex: OCOmon, oCOmOn... cada uma tentavia destas de logon, ele cria um usuário diferente), e o novo usuário ainda continua caindo no grupo Operadores em vez de Usuário.
Antes de testar o pacote, eu havia conseguido contornar o problema do usuário ser criado como somente abertura.
date("Y-m-d")."','".$U_MAILG."','1234','3','2','0')";
OBS: O '3' e '2' acima (os separados por vírgulas) correpondem ao nível (3 = Somente Abertura) e área (2 = usuários).
OBS2: Só funciona na dica anterior, sem o novo pacote do Carlos, pois neste, o esquema é outro.
Com isso forço o novo usuário a ser inserido no nível Somente Abertura e na área USUÁRIOS do Ocomon. (Obviamente) ;-)
PS: Não sou programador, então não sei se é a melhor saída.Pra mim atendeu e não tive problema nos testes realizados.
No aguardo para prosseguir com os testes do novo pacote.
[60] Comentário enviado por antoniormjr em 30/09/2010 - 13:01h
Kflin e Carlos, realmente deve estar com algum "bug" no codigo. Refiz uma instalação do 0 no SuSE SLES 10SP3, a versao atual do Ocomon RC6 e apliquei a patch de atualização. Inseri os codigos ajustados na pagina do carlos e apos efetuar o acesso http://localhost/ocomon a pagina fica em branco porem o cabeçalho da pagina apresenta (configuração do ocomon). Ficarei acompanhando voces caso tenham novas novidades, e favor quando solucionar incluir no pacote de download na pagina do carlos. Abraços e vamos matar esse bixo... hehehe.
[61] Comentário enviado por kflin em 30/09/2010 - 13:51h
Antoniormjr,
Tive esse mesmo problema e acabei editando o config.inc.php, mas é melhor o que vc disse mesmo, aguardar novos testes e um update do próprio Carlos.
Por hora, estou testando ainda no esquema antigo (sem patch, mas com a correção de novos usuários cairem no nível Somente Abertura e na área USUÁRIOS), pois preciso demonstrar as funcionalidades do Ocomon e desse jeito dá pra demonstrar, e estou com o patch "na manga" pra quando o Carlos der novas instruções.
[62] Comentário enviado por carlosrfjunior em 30/09/2010 - 23:05h
Boa Noite, Galera!
Desculpa-me a demora, agradeço os comentários isso me ajudará aprimorar o código e ajudará a outros que estiverem com o mesmo problema.
Ainda não consegui achar o erro devido estar funcionando perfeitamente nos ambientes que testei (Windows e Linux).
Para tentar localizar o problema posto os requisitos minímos necessário:
Apache 2.0
PHP Version 5.3.1
O instalador foi testado no Windows 7 com XAMPP 1.7.3 e Linux Debian 5.0 Lenny
[63] Comentário enviado por antoniormjr em 01/10/2010 - 08:53h
Bom Dia Carlos,
Estou com essas versões porem no Suse. Para testarmos voce poderia nos auxiliar no seguinte item. Compactar a pasta Ocomon que esta dentro do srv/www/htdocs e disponibilizar no seu wordpress para download? Assim analiso os arquivos, porem voce tem que de passar a dica de como alterar as configuracoes do AD pois o arquivo adLDAP.php nao necessita mais a inclusão desses dados.
[66] Comentário enviado por antoniormjr em 13/10/2010 - 08:58h
Carlos, meu apache que esta desatualizado. Porem como meu Ocomon ja esta em produção com e tudo funcionando corretamente, porem so a questão do logon com usuários MAIÚSCULOS e Minúsculos estão duplicando no banco, voce poderia fazer um favor para mim editando apenas o login.php incluindo o STRTOFLOAT (acho que é assim) que seria a função do PHP para "pegar" tudo que digita no campo usuários e diminuir para minúsculo antes de autenticar no AD?
[67] Comentário enviado por carlosrfjunior em 13/10/2010 - 20:15h
Boa Noite kflin!
Mude no arquivo login.php todos os códigos $_POST['login'] para
strtoupper($_POST["login"]) -> Todas em maiúscula ou
strtolower($_POST["login"]) -> Todas minuscula.
[68] Comentário enviado por antoniormjr em 14/10/2010 - 15:53h
Ola Carlos, não consegui fazer funcionar pela alteração explicada por voce. Fiz as alterações do arquivo login.php porem nao consegui fazer funcionar, pois apresenta erro de authenticação no AD (utilizei o strtolower). Se possivel voce poderia me ajudar publicando o arquivo alterado para download em seu blog? Depois acertamos a ceva hehehe. Abraços
[70] Comentário enviado por antoniormjr em 26/10/2010 - 23:22h
Kflin, Mato a PAU... funfou o meu ocomon... bah muito obrigado pela Ajuda... Nao querendo demais saberia me dizer a dica de qual linha devo alterar para apresentar a mensagem para o usuario exemplo (favor efetuar o login com fonte baixa). Outro detalhe meus usuarios novos estao indo direto para o grupo informatica, sendo que eu gostaria que todos usuarios novos fossem para o grupo usuarios, saberia me informar a solucao? Valeu
[71] Comentário enviado por kflin em 28/10/2010 - 11:38h
Opa antoniormjr, fico grato por poder ajudar e somar à grande ajuda do Carlos e de outros.
Sobre a mensagem, alterei no login.php:
De: $execUa = mysql_query($qryUa) or die('IMPOSSIVEL ACESSAR A BASE DE USUARIOS 02: LOGIN.PHP');
Para: $execUa = mysql_query($qryUa) or die('MENSAGEM CUSTOMIZADA)');
Quanto à área e nível, comentei no post 59 acima, mas repito aqui:
date("Y-m-d")."','".$U_MAILG."','1234','3','2','0')";
OBS: O '3' e '2' acima (os separados por vírgulas) correpondem ao nível (3 = Somente Abertura) e área (2 = usuários).
Com essas duas alterações, todo usuário novo que logar corretamente (login em minúsculas), será cadastrado na área usuários com nível de somente abertura.
[72] Comentário enviado por ottohardy em 28/10/2010 - 11:58h
Bom Dia, a todos.
Estou com um probleminha na integração do OCOMON com o AD, meu usuario integrou com o AD, e estou utilizando o mesmo no OCOMON, pois estou no modo de autenticação LDAP (o usuario admin não loga, pois logicamente não existe no meu AD). O meu problema na verdade é que todos os demais usuarios não integram, não sei o porque. Os mesmos ficam na tela de login, não apresentam nenhum erro e não saem da tela de login de jeito nenhum. Alguem passou por isso?
[73] Comentário enviado por dfabretti em 16/12/2010 - 16:09h
Pessoal,
Boa tarde.
Sempre usei o ocomon a nível operacional, e não cheguei a implementá-lo (é bem simples por sinal). Estou querendo autenticar com o AD. Fiz esse procedimento. Está acusando a seguinte mensagem 'IMPOSSÍVEL ACESSAR A BASE DE PERMISSÕES: LOGIN.PHP'. Fui pesquisar na net e vi que a oppão de register_global estava off. Liguei-o mas o problema persiste. Seguindo a risca não consegui fazer com que autentica-se pelo AD :S!
[74] Comentário enviado por dfabretti em 17/12/2010 - 16:34h
Seguinte, consegui fazer funcionar! Tirei os caracteres até ocomon! Consegui autenticar com o meu usuário no AD! Troquei a forma para AUTH_SYSTEM e defini o meu usuário como adm! Voltei para AUTH_LDAP (config.inc.php). Fiz testes com outros usuários, funcionou perfeitamente. Troquei a senha do AD e consegui logar com a nova senha. Claro que fazendo as configurações de tirar as validaç~eos da senha e colocar tudo minúsculo no usuário (forçar usando strtolower). Só para passar para o pessoal.
Achei que não conseguiria, mas com muito persist~encia consegui, obrigado a todos.
Meu ambiente é Ubuntu 10.04 server, Apache 2 e PHP 5. Windows 2K3 AD.
[76] Comentário enviado por dolvieira2010rj em 11/01/2011 - 17:22h
Boa tarde, estou tento um problema com a autenticação com AD e nao consigo indentificar o problema. Quando efetuo o login me transfere para outra tela com o erro " ERRO NA TENTATIVA DE INCLUIR O REGISTRO!Users" aguem poderia me ajudar, seriamos grato se as pessoas que conseguiram poudessem disponibilizar o ocomon como um todo para o download, seria mais pratico so teriamos que cadastrar nossos dados e alterar alguns detalhes.
[78] Comentário enviado por gabrielladislau em 18/04/2011 - 08:53h
erro Ocomon + AD
Boa tarde
Preciso da ajuda de voces tenho o ocomon funcionando aqui mas gostaria de integrar ele com AD 2003 server, segui o tutorial que tem aqui http://www.vivaolinux.com.br/dica/Ocomon-+-Active-Directory-(AD) mas quando eu vou logar com o usuario do AD aparece a seguinte mensagem de erro o que é ?
ERRO NA TENTATIVA DE INCLUIR O REGISTRO!Proprietários criadores de diretiva de grupo
[80] Comentário enviado por gerllys em 18/07/2011 - 18:28h
Boa tarde, estou fazendo um monografia baseando no ocomon,
Preciso autenticar no ad, porém, estou com dificuldades. Alguem pode me enviar o arquivo login.php configurado??
[83] Comentário enviado por dfabretti em 09/12/2011 - 16:40h
Eu estou com o mesmo problema André. Acontece muito comigo de usuários novos autenticarem, abriem o chamado e ocorrer o erro de SMTP (por não ter e-mail cadastrado no OCOMON). Tenho feito manualmente para contornar. Estou sem tempo para olhar essa questão, se alguém tiver a solução agradeço =D!
[84] Comentário enviado por andre.bolzan em 09/12/2011 - 17:36h
Resolvido !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Para todos que tiver qualquer problema com informação de usuário...
Problema esta na configuração da classe adLDAP.php, existe um parametrco $_base_dn que exige as informações do FQDN, como nos EUA os dominio são fulano.com ele colocaram apenas 2 parametros:
$_base_dn = "DC=fulano,DC=com";
MAS no brasil os dominios sempre tem .com.BR...
Inicialemtne configurei:
$_base_dn = "DC=fulano,DC=com.br";
Depois de muito pensar, tentei incluir mais um DC, ficando assim:
$_base_dn = "DC=fulano,DC=com,DC=br";
Dei uma mexidinha no Inset do usuário, agora ele pega alendo do e-mail o nome completo e o telefone.
[86] Comentário enviado por andre.bolzan em 14/12/2011 - 01:42h
Entra na Classe adLDAP.php e coloca os parâmetros "corretos".
Segundo manual dessa classe nosso problema ocorre porque o parâmetro $_base_dn esta incorreto, por padrão ele vem assim:
$_base_dn = "DC=,DC=";
Você deve ter cofigurado errado assim como, ex: domio é vivalinux.net.ws
$_base_dn = "DC=vivalunux, DC=net.ws";
Mas o correto é:
$_base_dn = "DC=vivalinux,DC=net,DC=ws";
Qualquer coisa avisa ou da uma olhada nesse site é dos criados dessa classe http://adldap.sourceforge.net/ lá você vai ter toda documentação, explos etc...
[87] Comentário enviado por piassa em 23/01/2012 - 18:15h
fala galera..
Estou tentando autenticar meu meus usuários do AD no ocomon e estou tendo problemas.
faço todos os passos altero as configurações conforme solicitado, mas quando logo com o usuário do dominio ou até mesmo com o usuário default.. a tela fica branca.. se remover as configurações volta tudo ao normal.
esse sintoma está relacionado a alguma configuração errada que já é conhecida por alguém. se precisar de mais informações me avise.
[88] Comentário enviado por dfabretti em 23/01/2012 - 18:17h
Piassa,
Boa tarde.
Lembro que quando ocorria esse tipo de sintoma, era por simiples erro de digitação ou mesmo um espaço e tal... Verifica direitinho se tu escreveste corretamente os dados.
[89] Comentário enviado por noslek em 24/01/2012 - 19:02h
Fala aí galera, estou começando agora com o Ocomon, e já gostaria de implanta-lo aqui no meu trabalho com autenticação no AD, alguém teria os arquivos do Ocomon para disponibilizar. Nas minhas tentativas sempre dá usuário ou senha inválidos! Obrigado!!
[90] Comentário enviado por octavio.batera em 25/01/2012 - 09:16h
Bom dia a todos.
Consegui fazer todos os procedimentos aqui, consigo autenticar pelo AD, com caracteres especiais e tudo mais... o ´unico problema que estou tendo eh que usuarios criados no grupo USUARIOS com permissao apenas de abertura, nao aparecem as opçoes na tela inicial para abrir chamados. Ele loga certinho, mas na pagina home nao aparece nenhuma opçao, a nao ser o logoff.
Alguem passou por isso, ou tem alguma dica sobre como resolver?
[91] Comentário enviado por piassa em 25/01/2012 - 09:51h
Estou com problemas para autenticação via AD, já vi vários tutoriais, refiz as configurações, mas não consigo. entendo pouco de php então fica mais dificil.
Alguém poderia postar .php pelo menos somente com a parte que é referente a essa autenticação para comparar.
[92] Comentário enviado por noslek em 25/01/2012 - 18:36h
piassa, para colocar o ocomon para funcionar vc tem que configurar os arquivos config.ini.php, adLDAP.php e login.php. Se quiser eu tenho os arquivos já configurados, porém ai tem alguns erros.
[93] Comentário enviado por noslek em 25/01/2012 - 18:40h
Galera o meu está ocorrendo o seguinte erro:Fatal error: Call to undefined method adLDAP::user_info() in C:\EasyPHP-5.3.8.0\www\ocomon_2.0-RC6\includes\common\login.php on line 50
O código é esse: $result=$adldap -> user_info($_POST['login']);
Alguem já viu!!!!
[94] Comentário enviado por piassa em 26/01/2012 - 10:03h
Então noslek, conforme os tutoriais que encontrei alterei as confs dos 3 arquivos, mas acredito que o problema esteja na conf do login.php, se quiser me enviar o .php eu agradeço.
meu e-mail é: m_piassa@hotmail.com
verifico o que está diferente tento resolver e como os erros são diferentes entre sua configuração e a minha te retorno para você fazer uma comparação.
[95] Comentário enviado por noslek em 26/01/2012 - 18:33h
É galera... está dificil cada hora um erro diferente srsrsrs:
Notice: Undefined property: adLDAP::$domainControllers in C:\EasyPHP-5.3.8.0\www\ocomon_2.0-RC6\includes\classes\adLDAP.php on line 918
Warning: array_rand() expects parameter 1 to be array, null given in C:\EasyPHP-5.3.8.0\www\ocomon_2.0-RC6\includes\classes\adLDAP.php on line 918
Notice: Undefined property: adLDAP::$domainControllers in C:\EasyPHP-5.3.8.0\www\ocomon_2.0-RC6\includes\classes\adLDAP.php on line 918
Notice: Undefined variable: _base_dn in C:\EasyPHP-5.3.8.0\www\ocomon_2.0-RC6\includes\classes\adLDAP.php on line 669
Fatal error: Cannot access empty property in C:\EasyPHP-5.3.8.0\www\ocomon_2.0-RC6\includes\classes\adLDAP.php on line 669
pode ocorrer também de você estar usando uma senha com caracteres especiais (muito provavelmente), então deve-se colocar a senha entre aspas duplas no arquivo "adLDAP.php"
[99] Comentário enviado por dalua_wil em 22/06/2012 - 11:49h
e para resolver o problema dos logins com letras maiusculas, eu apenas ativei o lower case no mysql, desse modo ele sempre irá incluir no banco mysql em minúsculo, independente de como digita
[101] Comentário enviado por andersonsurf em 27/09/2012 - 20:39h
Pessoal boa noite!!
pessoal além da dúvida citada acima, sempre que tento cadastrar uma senha para um usuário usando símbolos como por exemplo adm@2011 aparece uma mensagem dizendo que esse campo só aceita valores alfanuméricos sem espaços. Gostaria de saber qual linha da conf abaixo tenho que alterar para resolver este problema da senha.
[102] Comentário enviado por andersonsurf em 29/09/2012 - 19:45h
Pessoal boa noite!!
Estou com um erro: Sempre que efetuo o login do usuário no Ocomon, o navegador fica atualizando sozinho em um ciclo sem parar. Gostaria de saber como faço para resolver este problema no Ocomon versão 2.0-RC6..
<?php /* Copyright 2005 Flávio Ribeiro
This file is part of OCOMON.
OCOMON is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
OCOMON is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Foobar; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
if (is_file ("../../includes/languages/".$_SESSION['s_language'].""))
include ("../../includes/languages/".$_SESSION['s_language'].""); else
if (is_file ("../languages/".$_SESSION['s_language'].""))
include ("../languages/".$_SESSION['s_language'].""); else
if (is_file ("./includes/languages/".$_SESSION['s_language'].""))
include ("./includes/languages/".$_SESSION['s_language'].""); else
if (is_file ("../includes/languages/".$_SESSION['s_language'].""))
include ("../includes/languages/".$_SESSION['s_language'].""); else {
print "SORRY! WRONG PATH TO THE LANGUAGE FILE!<BR>See ocomon/includes/languages/ to see the available language files!";
exit;
}
if (!isset($TRANS[$INDEX])) {
if ($ASPAS) {
return '<font color=red>$TRANS[\''.$INDEX.'\']="</font>'.$SUGGEST.'<font color=red>";</font>';
} else
return '<font color=red>$TRANS['.$INDEX.']="</font>'.$SUGGEST.'<font color=red>";</font>';
}else
return $destaca1.$TRANS[$INDEX].$destaca2.$aviso;
}
function reIndexArray(&$array) {
$tmpArray = array();
if (is_array($array)){
$array = array_unique($array);
foreach($array as $value) {
$tmpArray[] = $value;
}
//unset ($array);
for ($i = 0; $i<=count($array); $i++){
array_pop($array);
}
}
$array = $tmpArray;
}
function reIndexArray_05_03_07(&$array) {
$tmpArray = array();
if (is_array($array)){
$array = array_unique($array);
foreach($array as $value) {
$tmpArray[] = $value;
}
//unset ($array);
for ($i = 0; $i<count($array); $i++){
array_pop($array);
}
}
$array = $tmpArray;
}
function reIndexArray2(&$array) {
$tmpArray = array();
$array = array_unique($array);
foreach($array as $value) {
if ($value!="")
$tmpArray[] = $value;
}
//unset ($array);
for ($i = 0; $i<count($array); $i++){
array_pop($array);
}
$array = $tmpArray;
}
function conecta($host, $bd, $user, $senha, $sistema)
{
// $host = servidor do mysql, $bd = nome do banco de dados, $user = usuário do mysql, $senha = senha dp mysql, $sistema = sistema que esta sendo usado
$conexao=mysql_connect($host,$user,$senha) or die(mysql_error());
$db=mysql_select_db($bd,$conexao);
if ($conexao == 0)
{
$retorno = "ERRO DE CONEXÃO - Servidor ".$host." - Sistema ".$sistema."<br>";
}
else
if ($db == 0)
{
$retorno = "ERRO DE CONEXÃO - Banco de dados ".$bd." - Sistema ".$sistema."<br>";
}
else
{
$retorno = "ok";
}
return $retorno;
}
function desconecta($conexao){
mysql_close($conexao);
}
function senha_system($user,$password,$tabela)
{
// $user = usuário para login, $senha = senha do usuário, $tabela = nome da tabela de usuários
$login = md5($password);
$query = "SELECT * from ".$tabela." where (login = '".$user."' and password = '".$login."')";
$resultado = mysql_query($query) or die(mysql_error());
if ($resultado == 0)
{
$retorno = "ERRO DE LOGIN - Tabela ".$tabela."<br>";
}
else
if (mysql_numrows($resultado) == 0)
{
$retorno = "ERRO DE LOGIN - Usuário ".$user."<br>";
}
else
{
$retorno = "ok";
}
return $retorno;
}
function senha_ldap($user,$password,$tabela)
{
// $user = usuário para login, $senha = senha do usuário, $tabela = nome da tabela de usuários
$login = md5($password);
$query = "SELECT * from $tabela where (login = '$user')";
$resultado = mysql_query($query) or die(mysql_error());
if ($resultado == 0)
{
$retorno = "ERRO DE LOGIN - Tabela $tabela<br>";
}
else
if (mysql_numrows($resultado) == 0)
{
$retorno = "ERRO DE LOGIN - Usuário $user<br>";
}
else
{
$retorno = "ok";
}
return $retorno;
}
if (!$handle = fopen($filename, 'a')) {
$warning = "O arquivo não pode ser aberto (".$filename.")!";
exit;
}
if (!fwrite($handle, $conteudo)) {
$warning = "O arquivo não pode ser escrito (".$filename.")!";
exit;
}
$warning= "Sucesso, (".$conteudo.") escrito no arquivo (".$filename.")!";
fclose($handle);
} else {
$warning = "O arquivo ".$filename." não tem permissão de escrita!";
}
if (array_key_exists($rowArea,$horarios)){ //verifica se o código da área possui carga horária definida no arquivo config.inc.php
$area = $rowArea; //Recebe o valor da área de atendimento do chamado
} else $area= 1; //Carga horária default definida no arquivo config.inc.php
return $area;
}
//TIPO: tipo de relatório - formatação específica
//SQL: Query no banco de dados
//CAMPOS: Array com o nome dos campos que eu quero imprimir no relatório
//HEADERS: Array com os cabeçalhos de cada coluna do relatório
function gera_relatorio($tipo,$sql,$campos,$headers,$logo,$msg1,$msg2,$msg3){
//Estilo aplicado nos relatórios
print "<style type=\"text/css\"><!--";
print "table.relatorio_1 {width:80%; margin-left:auto; margin-right: auto; text-align:left;
border: 0px; border-spacing:1 ;background-color:white; padding-top:10px;
page-break-after: auto;}";
print "td.linha {font-family:arial; font-size:12px; line-height:0.8em;}";
print "td.linha_par {font-family:arial; font-size:12px; line-height:0.8em; background-color:#EAEAEA}";
print "td.linha_impar {font-family:arial; font-size:12px; line-height:0.8em;background-color:#C8C8C8}";
print "td.cabs {font-family:arial; font-size:12px; font-weight:bold; background-color: #A3A352;}";
print "td.foot {font-family:arial; font-size:12px; font-weight:bold; line-height:0.8em; background-color: #A8A8A8;}";
//print "{page-break-after: always;}";
print "--></STYLE>";
if (count($campos) != count($headers)) {//Verifica se cada campo da tabela possui um header!
print "O número de campos não fecha com o número de headers!";
exit;
}//if campos == headers
$commit = mysql_query($sql);
$linhas = mysql_num_rows($commit);
$k=0;
$fields ="";
$total = "";
while($k < mysql_num_fields($commit)){ //quantidade de campos retornados da consulta
$field = mysql_fetch_field($commit,$k);//Retorna um objeto com informações dos campos
$fields.=$field->name; //Joga os nomes dos campos para uma string
$k++;
} // while
if ($linhas==0) {
print "Nenhuma linha retornada pela consulta";
}else{
print cabecalho($logo,$msg1,$msg2,$msg3);
if ($tipo==1|| $tipo==0) {//Tipo definido de relatório //
print "<TABLE class=\"relatorio_1\" cellpadding=4>";
print "<tr>";
for ($i=0; $i<count($headers); $i++){
print "<td class=\"cabs\">".$headers[$i]."</td>";
}//for
print "</tr>";
$l = 0; //variável que controla se a linha é par ou impar
while($row=mysql_fetch_array($commit)){
if ($l % 2) {
$par_impar = "_par";
} else {
$par_impar = "_impar";
}//if - else
print "<tr>";
for ($i=0; $i<count($campos); $i++){ //IMPRIME CAMPO A CAMPO
print "<td class=\"linha$par_impar\">";
$sep = explode(",",$campos[$i]); //Se algum campo passado tem mais de um argumento é separado
for ($j=0; $j<count($sep); $j++){
$pos = strpos($fields,$sep[$j]); //Verifica na string gerada se o argumento passado existe como um nome de campo
if ($pos===false) {
print $sep[$j]; //Se o campo não existe é impresso literalmente
} else
print $row[$sep[$j]]; //Se o campo existe é impresso seu valor;
} //for J//
print "</td>";
}//for i//
print "</tr>";
$l++;
} // while
//RODAPÉ
print "<tr>";
for ($i=0; $i<count($campos); $i++){ //IMPRIME CAMPO A CAMPO
if ($i==count($campos)-1) {
$total = $linhas;
} else
if ($i==count($campos)-2) {
$total = "TOTAL";
}
print "<td class=\"foot\">$total</td>";
}//for
print "</tr>";
print "</table>";
} else
if ($tipo==2) {//Outra formatação para saída do relatório//
print "<table class=\"relatorio_1\">";
while($row=mysql_fetch_array($commit)){
//print "<tr>";
for ($i=0; $i<count($campos); $i++){ //IMPRIME CAMPO A CAMPO
print "<tr>";
//print "<td>".$headers[$i]."</td>";
print "<td>";
$sep = explode(",",$campos[$i]); //Se algum campo passado tem mais de um argumento é separado
for ($j=0; $j<count($sep); $j++){
$pos = strpos($fields,$sep[$j]); //Verifica na string gerada se o argumento passado existe como um nome de campo
if ($pos===false) {
print $sep[$j]; //Se o campo não existe é impresso literalmente
} else {
print $row[$sep[$j]]; //Se o campo existe é impresso seu valor;
}
//print "</td>";
} //for J//
print "</td>";
function converte_datacomhora($dataform)//pega a data do formato aaaa-mm-dd +hora, e transforma p/ dd-mm-aaaa +hora
{
if (empty($dataform)){
$datacompleta = "";
} else {
//separando o dia e a hora
$data_hora = explode(" ",$dataform);
$data="$data_hora[0]";
$hora="$data_hora[1]";
//formatando o dia em dd-mm-aaaa
$datatransf = explode("-",$data);
$data = "$datatransf[2]/$datatransf[1]/$datatransf[0]";
$datacompleta = $data." ".$hora;
}
return $datacompleta;
}
while($segundos >=60){
if ($segundos >= 3600) {
while ($segundos >= 3600) { //ORDEM DE HORAS
$segundos-=3600;
$h+=1;
}
} else
if ($segundos >= 60) {
while ($segundos >= 60) {//ORDEM DE MINUTOS
$segundos-=60;
$m+=1;
}
}
}
if(strlen($h) == 1){$h = "0".$h;}; //Coloca um zero antes
if(strlen($m) == 1){$m = "0".$m;}; //Coloca um zero antes
if(strlen($segundos) == 1){$segundos = "0".$segundos;}; //Coloca um zero antes
$horas = $h.":".$m.":".$segundos;
return $horas;
}
##UTILIZAR SEMPRE PARA GRAVAR NO BANCO
function FDate ($data){ //Retorna saída no formado AAAA-MM-DD HH:mm:SS
//formato brasileiro com hora!!!
if (ereg ("([0-9]{1,2})[/|-]([0-9]{1,2})[/|-]([0-9]{4}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $Date." ".$Time, $sep)) {
#######################################################
## Exibe a data formatada conforme definido no menu de administração
function formatDate($DATE, $TIMEFORMAT = "" )
{
if($DATE != "0000-00-00 00:00:00" && !empty($DATE)) {
//if($DATE != "0000-00-00 00:00:00") {
if (strtotime($DATE) != -1) {
//DATE = "2007/05/25"; //Always American format
$Date = $_SESSION['s_date_format'];
if(strlen($h) == 1){$h = "0".$h;}; //Coloca um zero antes
if(strlen($m) == 1){$m = "0".$m;}; //Coloca um zero antes
if(strlen($s) == 1){$s = "0".$s;}; //Coloca um zero antes
function datam($dataform)//pega a data informada, e formata dd-mm-aaaa c/ a hora atual
{
if (empty($dataform)){
$data = "";
} else {
$data = "";
$datatrans = array();
$datatransHora = array();
//$dataArray = array();
if (strpos($dataform," ")){
$datatransHora = explode(" ",$dataform);
function envia_email_new_user($login, $nome, $email, $rand, $site)
{
$msg = "";
$msg .= "SISTEMA OCOMON\t\n";
$msg .= "Prezado ".$nome."\t\n";
$msg .= "Sua solicitação para criação do login: ".$login." foi bem sucedida!\t\n";
$msg .= "Para confirmar sua inscrição clique no link abaixo: \t\n";
$msg .= "".$site."/ocomon/geral/confirma.php?rand=".$rand." \t\n";
function send_mail($event, $e_destino,$mailConf, $msgConf, $envVars){
//$event: Tipo de evento, os eventos são definidos pela situação (abertura, edição ou assentamento)
// e pelo destino (usuário, operador ou área)
//$e_destino: e-mail de destino
//$mailConf: array com as informações de conexão smtp
//$msgConf: array com as informações de mensagem
//$envVar: array com as variáveis de ambiente
if (is_file( "./.root_dir" )) {
require_once("./includes/phpmailer/class.phpmailer.php");
} else {
require_once("../../includes/phpmailer/class.phpmailer.php");
}
$mail = new PHPMailer();
$mail->SetLanguage("en", "../../includes/phpmailer/language/");
if ($mailConf['mail_issmtp']) {
$mail->IsSMTP();
} // set mailer to use SMTP
$mail->Host = $mailConf['mail_host']; // specify main and backup server
$mail->SMTPAuth = $mailConf['mail_isauth']; // turn on SMTP authentication
$mail->Username = $mailConf['mail_user']; // SMTP username
$mail->Password = $mailConf['mail_pass']; // SMTP password
$mail->From = $mailConf['mail_from'];
//$mail->IsHTML(false);
$mail->IsHTML($mailConf['mail_ishtml']); //$mail->IsHTML(true); // set email format to HTML
$mail->FromName = $msgConf['msg_fromname'];
$mail->AddAddress($e_destino);
//$mail->AddAddress("josh@example.net", "Josh Adams");
//$mail->AddAddress("ellen@example.com"); // name is optional
$mail->AddReplyTo($msgConf['msg_replyto'], "SISTEMA OCOMON");
//$mail->WordWrap = 50; // set word wrap to 50 characters
//$mail->AddAttachment("/var/tmp/file.tar.gz"); // add attachments
//$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // optional name
$mail->Subject = transvars($msgConf['msg_subject'],$envVars);
$mail = new PHPMailer();
$mail->SetLanguage("en", "../../includes/phpmailer/language/");
if ($mailConf['mail_issmtp']) {
$mail->IsSMTP();
} // set mailer to use SMTP
$mail->Host = $mailConf['mail_host']; // specify main and backup server
$mail->SMTPAuth = $mailConf['mail_isauth']; // turn on SMTP authentication
$mail->Username = $mailConf['mail_user']; // SMTP username
$mail->Password = $mailConf['mail_pass']; // SMTP password
function upload($img_file,$config, $FILE_TYPES="%%IMG%") {
// Prepara a variável caso o formulário tenha sido postado
$arquivo = isset($_FILES[$img_file]) ? $_FILES[$img_file] : FALSE;
/* $config = array();
// Tamano máximo da imagem, em bytes
$config["tamanho"] = 307200; //Aproximadamente 300k
// Largura Máxima, em pixels
$config["largura"] = 800;
// Altura Máxima, em pixels
$config["altura"] = 600;*/
$saida = "OK";
if($arquivo) {
$erro = array();
// Verifica o mime-type do arquivo para ver se é de imagem.
// Caso fosse verificar a extensão do nome de arquivo, o código deveria ser:
//
// if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo["name"])) {
// $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; }
//
// Mas, o que ocorre é que alguns usuários mal-intencionados, podem pegar um vírus .exe e simplesmente mudar a extensão
// para alguma das imagens e enviar. Então, não adiantaria em nada verificar a extensão do nome do arquivo.
function montaArray($mysql_result,$mysql_fetch_array){
$k=0;
$valores = array();
while($k < mysql_num_fields($mysql_result)){ //quantidade de campos retornados da consulta
$field = mysql_fetch_field($mysql_result,$k);//Retorna um objeto com informações dos campos
$valores[$field->name] = $mysql_fetch_array[$field->name];
$k++;
} // while
return $valores;
}
function valida($CAMPO, $VALOR, $TIPO, $OBRIGATORIO, &$ERR) {
$LISTA = array();
$LISTA['INTFULL'] = "/^\d*$/"; //INTEIRO QUALQUER
$LISTA['INTEIRO'] = "/^[1-9]\d*$/"; //NÃO INICIADOS POR ZERO
$LISTA['MAIL']= "/^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/";
$LISTA['DATA'] = "/^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/";
$LISTA['DATA_'] = "/^((0?[1-9]|[12]\d)\-(0?[1-9]|1[0-2])|30\-(0?[13-9]|1[0-2])|31\-(0?[13578]|1[02]))\-(19|20)?\d{2}$/";
$LISTA['DATAHORA'] = "/^(((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2})[ ]([0-1]\d|2[0-3])+:[0-5]\d:[0-5]\d$/";
$LISTA['MOEDA'] = "/^\d{1,3}(\.\d{3})*\,\d{2}$/";
$LISTA['MOEDASIMP'] = "/^\d*\,\d{2}$/";
$LISTA['ETIQUETA'] = "/^[1-9]\d*(\,\d+)*$/"; //expressão para validar consultas separadas por vírgula;
$LISTA['ALFA'] = "/^[A-Z]|[a-z]([A-Z]|[a-z])*$/";
$LISTA['ALFANUM'] = "/^([A-Z]|[a-z]|[0-9])([A-Z]|[a-z]|[0-9])*\.?([A-Z]|[a-z]|[0-9])([A-Z]|[a-z]|[0-9])*$/"; //Valores alfanumérias aceitando separação com no máximo um ponto.
$LISTA['ALFAFULL'] = "/^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*$/";
$LISTA['FONE'] = "/^(([+][\d]{2,2})?([-]|[\s])?[\d]*([-]|[\s])?[\d]+)+([,][\s]([+][\d]{2,2})?([-]|[\s])?[\d]*([-]|[\s])?[\d]+)*$/";
$LISTA['COR'] = "/^([#]([A-F]|[a-f]|[\d]){6,6})|([I][M][G][_][D][E][F][A][U][L][T])$/";
$ERRO = array();
$ERRO['OBRIGATORIO'] = "O campo ".$CAMPO." é obrigatório!";
$ERRO['INTFULL'] = "O campo ".$CAMPO." deve conter apenas numeros inteiros!";
$ERRO['INTEIRO'] = "O campo ".$CAMPO." deve conter apenas numeros inteiros não iniciados por ZERO!";
$ERRO['MAIL']= "Formato de e-mail inválido!";
$ERRO['DATA'] ="Formato de data invalido! dd/mm/aaaa";
$ERRO['DATA_'] = "Formato de data invalido! dd-mm-aaaa";
$ERRO['DATAHORA'] = "Formato de data invalido! dd/mm/aaaa H:m:s";
$ERRO['MOEDA'] = "Formato de moeda inválido!";
$ERRO['MOEDASIMP'] ="Formato de moeda inválido! XXXXXX,XX";
$ERRO['ETIQUETA'] = "o Formato do campo ".$CAMPO." deve ser de valores inteiros não iniciados por Zero e separados por vírgula!";
$ERRO['ALFA'] = "Esse o campo ".$CAMPO." só aceita carateres do alfabeto sem espaços!";
$ERRO['ALFANUM'] ="O campo ".$CAMPO." só aceita valores alfanuméricos sem espaços ou separados por um ponto(no máximo um)!";
$ERRO['ALFAFULL'] = "O campo ".$CAMPO." só aceita valores alfanuméricos sem espaços!";
$ERRO['FONE'] = "O campo ".$CAMPO." só aceita valores formatados para telefones (algarismos, traços e espaços) separados por vírgula.";
$ERRO['COR'] ="O campo ".$CAMPO." só aceita valores formatados para cores HTML! Ex: #FFCC99";
if ($LISTA[$TIPO] == '') {
print "ÍNDICE INVÁLIDO!";
return false;
} else
if ($OBRIGATORIO) {
if ($VALOR=='') {
$ERR = $ERRO['OBRIGATORIO'];
return false;
} else
if (preg_match($LISTA[$TIPO], $VALOR)) {
return true;
} else {
$ERR = $ERRO[$TIPO];
return false;
}
[104] Comentário enviado por fabiomoreira em 23/10/2012 - 10:12h
Anderson,
Esse usuário que voce logou é o admin ?
Normalmente isso acontece quando esta marcado a opção usuário somente de abertura.
Att.,
Fabio
[102] Comentário enviado por andersonsurf em 29/09/2012 - 19:45h:
Pessoal boa noite!!
Estou com um erro: Sempre que efetuo o login do usuário no Ocomon, o navegador fica atualizando sozinho em um ciclo sem parar. Gostaria de saber como faço para resolver este problema no Ocomon versão 2.0-RC6..
<?php /* Copyright 2005 Flávio Ribeiro
This file is part of OCOMON.
OCOMON is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
OCOMON is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Foobar; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
if (is_file ("../../includes/languages/".$_SESSION['s_language'].""))
include ("../../includes/languages/".$_SESSION['s_language'].""); else
if (is_file ("../languages/".$_SESSION['s_language'].""))
include ("../languages/".$_SESSION['s_language'].""); else
if (is_file ("./includes/languages/".$_SESSION['s_language'].""))
include ("./includes/languages/".$_SESSION['s_language'].""); else
if (is_file ("../includes/languages/".$_SESSION['s_language'].""))
include ("../includes/languages/".$_SESSION['s_language'].""); else {
print "SORRY! WRONG PATH TO THE LANGUAGE FILE!<BR>See ocomon/includes/languages/ to see the available language files!";
exit;
}
if (!isset($TRANS[$INDEX])) {
if ($ASPAS) {
return '<font color=red>$TRANS[\''.$INDEX.'\']="</font>'.$SUGGEST.'<font color=red>";</font>';
} else
return '<font color=red>$TRANS['.$INDEX.']="</font>'.$SUGGEST.'<font color=red>";</font>';
}else
return $destaca1.$TRANS[$INDEX].$destaca2.$aviso;
}
function reIndexArray(&$array) {
$tmpArray = array();
if (is_array($array)){
$array = array_unique($array);
foreach($array as $value) {
$tmpArray[] = $value;
}
//unset ($array);
for ($i = 0; $i<=count($array); $i++){
array_pop($array);
}
}
$array = $tmpArray;
}
function reIndexArray_05_03_07(&$array) {
$tmpArray = array();
if (is_array($array)){
$array = array_unique($array);
foreach($array as $value) {
$tmpArray[] = $value;
}
//unset ($array);
for ($i = 0; $i<count($array); $i++){
array_pop($array);
}
}
$array = $tmpArray;
}
function reIndexArray2(&$array) {
$tmpArray = array();
$array = array_unique($array);
foreach($array as $value) {
if ($value!="")
$tmpArray[] = $value;
}
//unset ($array);
for ($i = 0; $i<count($array); $i++){
array_pop($array);
}
$array = $tmpArray;
}
function conecta($host, $bd, $user, $senha, $sistema)
{
// $host = servidor do mysql, $bd = nome do banco de dados, $user = usuário do mysql, $senha = senha dp mysql, $sistema = sistema que esta sendo usado
$conexao=mysql_connect($host,$user,$senha) or die(mysql_error());
$db=mysql_select_db($bd,$conexao);
if ($conexao == 0)
{
$retorno = "ERRO DE CONEXÃO - Servidor ".$host." - Sistema ".$sistema."<br>";
}
else
if ($db == 0)
{
$retorno = "ERRO DE CONEXÃO - Banco de dados ".$bd." - Sistema ".$sistema."<br>";
}
else
{
$retorno = "ok";
}
return $retorno;
}
function desconecta($conexao){
mysql_close($conexao);
}
function senha_system($user,$password,$tabela)
{
// $user = usuário para login, $senha = senha do usuário, $tabela = nome da tabela de usuários
$login = md5($password);
$query = "SELECT * from ".$tabela." where (login = '".$user."' and password = '".$login."')";
$resultado = mysql_query($query) or die(mysql_error());
if ($resultado == 0)
{
$retorno = "ERRO DE LOGIN - Tabela ".$tabela."<br>";
}
else
if (mysql_numrows($resultado) == 0)
{
$retorno = "ERRO DE LOGIN - Usuário ".$user."<br>";
}
else
{
$retorno = "ok";
}
return $retorno;
}
function senha_ldap($user,$password,$tabela)
{
// $user = usuário para login, $senha = senha do usuário, $tabela = nome da tabela de usuários
$login = md5($password);
$query = "SELECT * from $tabela where (login = '$user')";
$resultado = mysql_query($query) or die(mysql_error());
if ($resultado == 0)
{
$retorno = "ERRO DE LOGIN - Tabela $tabela<br>";
}
else
if (mysql_numrows($resultado) == 0)
{
$retorno = "ERRO DE LOGIN - Usuário $user<br>";
}
else
{
$retorno = "ok";
}
return $retorno;
}
if (!$handle = fopen($filename, 'a')) {
$warning = "O arquivo não pode ser aberto (".$filename.")!";
exit;
}
if (!fwrite($handle, $conteudo)) {
$warning = "O arquivo não pode ser escrito (".$filename.")!";
exit;
}
$warning= "Sucesso, (".$conteudo.") escrito no arquivo (".$filename.")!";
fclose($handle);
} else {
$warning = "O arquivo ".$filename." não tem permissão de escrita!";
}
if (array_key_exists($rowArea,$horarios)){ //verifica se o código da área possui carga horária definida no arquivo config.inc.php
$area = $rowArea; //Recebe o valor da área de atendimento do chamado
} else $area= 1; //Carga horária default definida no arquivo config.inc.php
return $area;
}
//TIPO: tipo de relatório - formatação específica
//SQL: Query no banco de dados
//CAMPOS: Array com o nome dos campos que eu quero imprimir no relatório
//HEADERS: Array com os cabeçalhos de cada coluna do relatório
function gera_relatorio($tipo,$sql,$campos,$headers,$logo,$msg1,$msg2,$msg3){
//Estilo aplicado nos relatórios
print "<style type=\"text/css\"><!--";
print "table.relatorio_1 {width:80%; margin-left:auto; margin-right: auto; text-align:left;
border: 0px; border-spacing:1 ;background-color:white; padding-top:10px;
page-break-after: auto;}";
print "td.linha {font-family:arial; font-size:12px; line-height:0.8em;}";
print "td.linha_par {font-family:arial; font-size:12px; line-height:0.8em; background-color:#EAEAEA}";
print "td.linha_impar {font-family:arial; font-size:12px; line-height:0.8em;background-color:#C8C8C8}";
print "td.cabs {font-family:arial; font-size:12px; font-weight:bold; background-color: #A3A352;}";
print "td.foot {font-family:arial; font-size:12px; font-weight:bold; line-height:0.8em; background-color: #A8A8A8;}";
//print "{page-break-after: always;}";
print "--></STYLE>";
if (count($campos) != count($headers)) {//Verifica se cada campo da tabela possui um header!
print "O número de campos não fecha com o número de headers!";
exit;
}//if campos == headers
$commit = mysql_query($sql);
$linhas = mysql_num_rows($commit);
$k=0;
$fields ="";
$total = "";
while($k < mysql_num_fields($commit)){ //quantidade de campos retornados da consulta
$field = mysql_fetch_field($commit,$k);//Retorna um objeto com informações dos campos
$fields.=$field->name; //Joga os nomes dos campos para uma string
$k++;
} // while
if ($linhas==0) {
print "Nenhuma linha retornada pela consulta";
}else{
print cabecalho($logo,$msg1,$msg2,$msg3);
if ($tipo==1|| $tipo==0) {//Tipo definido de relatório //
print "<TABLE class=\"relatorio_1\" cellpadding=4>";
print "<tr>";
for ($i=0; $i<count($headers); $i++){
print "<td class=\"cabs\">".$headers[$i]."</td>";
}//for
print "</tr>";
$l = 0; //variável que controla se a linha é par ou impar
while($row=mysql_fetch_array($commit)){
if ($l % 2) {
$par_impar = "_par";
} else {
$par_impar = "_impar";
}//if - else
print "<tr>";
for ($i=0; $i<count($campos); $i++){ //IMPRIME CAMPO A CAMPO
print "<td class=\"linha$par_impar\">";
$sep = explode(",",$campos[$i]); //Se algum campo passado tem mais de um argumento é separado
for ($j=0; $j<count($sep); $j++){
$pos = strpos($fields,$sep[$j]); //Verifica na string gerada se o argumento passado existe como um nome de campo
if ($pos===false) {
print $sep[$j]; //Se o campo não existe é impresso literalmente
} else
print $row[$sep[$j]]; //Se o campo existe é impresso seu valor;
} //for J//
print "</td>";
}//for i//
print "</tr>";
$l++;
} // while
//RODAPÉ
print "<tr>";
for ($i=0; $i<count($campos); $i++){ //IMPRIME CAMPO A CAMPO
if ($i==count($campos)-1) {
$total = $linhas;
} else
if ($i==count($campos)-2) {
$total = "TOTAL";
}
print "<td class=\"foot\">$total</td>";
}//for
print "</tr>";
print "</table>";
} else
if ($tipo==2) {//Outra formatação para saída do relatório//
print "<table class=\"relatorio_1\">";
while($row=mysql_fetch_array($commit)){
//print "<tr>";
for ($i=0; $i<count($campos); $i++){ //IMPRIME CAMPO A CAMPO
print "<tr>";
//print "<td>".$headers[$i]."</td>";
print "<td>";
$sep = explode(",",$campos[$i]); //Se algum campo passado tem mais de um argumento é separado
for ($j=0; $j<count($sep); $j++){
$pos = strpos($fields,$sep[$j]); //Verifica na string gerada se o argumento passado existe como um nome de campo
if ($pos===false) {
print $sep[$j]; //Se o campo não existe é impresso literalmente
} else {
print $row[$sep[$j]]; //Se o campo existe é impresso seu valor;
}
//print "</td>";
} //for J//
print "</td>";
function converte_datacomhora($dataform)//pega a data do formato aaaa-mm-dd +hora, e transforma p/ dd-mm-aaaa +hora
{
if (empty($dataform)){
$datacompleta = "";
} else {
//separando o dia e a hora
$data_hora = explode(" ",$dataform);
$data="$data_hora[0]";
$hora="$data_hora[1]";
//formatando o dia em dd-mm-aaaa
$datatransf = explode("-",$data);
$data = "$datatransf[2]/$datatransf[1]/$datatransf[0]";
$datacompleta = $data." ".$hora;
}
return $datacompleta;
}
while($segundos >=60){
if ($segundos >= 3600) {
while ($segundos >= 3600) { //ORDEM DE HORAS
$segundos-=3600;
$h+=1;
}
} else
if ($segundos >= 60) {
while ($segundos >= 60) {//ORDEM DE MINUTOS
$segundos-=60;
$m+=1;
}
}
}
if(strlen($h) == 1){$h = "0".$h;}; //Coloca um zero antes
if(strlen($m) == 1){$m = "0".$m;}; //Coloca um zero antes
if(strlen($segundos) == 1){$segundos = "0".$segundos;}; //Coloca um zero antes
$horas = $h.":".$m.":".$segundos;
return $horas;
}
##UTILIZAR SEMPRE PARA GRAVAR NO BANCO
function FDate ($data){ //Retorna saída no formado AAAA-MM-DD HH:mm:SS
//formato brasileiro com hora!!!
if (ereg ("([0-9]{1,2})[/|-]([0-9]{1,2})[/|-]([0-9]{4}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $Date." ".$Time, $sep)) {
#######################################################
## Exibe a data formatada conforme definido no menu de administração
function formatDate($DATE, $TIMEFORMAT = "" )
{
if($DATE != "0000-00-00 00:00:00" && !empty($DATE)) {
//if($DATE != "0000-00-00 00:00:00") {
if (strtotime($DATE) != -1) {
//DATE = "2007/05/25"; //Always American format
$Date = $_SESSION['s_date_format'];
if(strlen($h) == 1){$h = "0".$h;}; //Coloca um zero antes
if(strlen($m) == 1){$m = "0".$m;}; //Coloca um zero antes
if(strlen($s) == 1){$s = "0".$s;}; //Coloca um zero antes
function datam($dataform)//pega a data informada, e formata dd-mm-aaaa c/ a hora atual
{
if (empty($dataform)){
$data = "";
} else {
$data = "";
$datatrans = array();
$datatransHora = array();
//$dataArray = array();
if (strpos($dataform," ")){
$datatransHora = explode(" ",$dataform);
function envia_email_new_user($login, $nome, $email, $rand, $site)
{
$msg = "";
$msg .= "SISTEMA OCOMON\t\n";
$msg .= "Prezado ".$nome."\t\n";
$msg .= "Sua solicitação para criação do login: ".$login." foi bem sucedida!\t\n";
$msg .= "Para confirmar sua inscrição clique no link abaixo: \t\n";
$msg .= "".$site."/ocomon/geral/confirma.php?rand=".$rand." \t\n";
function send_mail($event, $e_destino,$mailConf, $msgConf, $envVars){
//$event: Tipo de evento, os eventos são definidos pela situação (abertura, edição ou assentamento)
// e pelo destino (usuário, operador ou área)
//$e_destino: e-mail de destino
//$mailConf: array com as informações de conexão smtp
//$msgConf: array com as informações de mensagem
//$envVar: array com as variáveis de ambiente
if (is_file( "./.root_dir" )) {
require_once("./includes/phpmailer/class.phpmailer.php");
} else {
require_once("../../includes/phpmailer/class.phpmailer.php");
}
$mail = new PHPMailer();
$mail->SetLanguage("en", "../../includes/phpmailer/language/");
if ($mailConf['mail_issmtp']) {
$mail->IsSMTP();
} // set mailer to use SMTP
$mail->Host = $mailConf['mail_host']; // specify main and backup server
$mail->SMTPAuth = $mailConf['mail_isauth']; // turn on SMTP authentication
$mail->Username = $mailConf['mail_user']; // SMTP username
$mail->Password = $mailConf['mail_pass']; // SMTP password
$mail->From = $mailConf['mail_from'];
//$mail->IsHTML(false);
$mail->IsHTML($mailConf['mail_ishtml']); //$mail->IsHTML(true); // set email format to HTML
$mail->FromName = $msgConf['msg_fromname'];
$mail->AddAddress($e_destino);
//$mail->AddAddress("josh@example.net", "Josh Adams");
//$mail->AddAddress("ellen@example.com"); // name is optional
$mail->AddReplyTo($msgConf['msg_replyto'], "SISTEMA OCOMON");
//$mail->WordWrap = 50; // set word wrap to 50 characters
//$mail->AddAttachment("/var/tmp/file.tar.gz"); // add attachments
//$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // optional name
$mail->Subject = transvars($msgConf['msg_subject'],$envVars);
$mail = new PHPMailer();
$mail->SetLanguage("en", "../../includes/phpmailer/language/");
if ($mailConf['mail_issmtp']) {
$mail->IsSMTP();
} // set mailer to use SMTP
$mail->Host = $mailConf['mail_host']; // specify main and backup server
$mail->SMTPAuth = $mailConf['mail_isauth']; // turn on SMTP authentication
$mail->Username = $mailConf['mail_user']; // SMTP username
$mail->Password = $mailConf['mail_pass']; // SMTP password
function upload($img_file,$config, $FILE_TYPES="%%IMG%") {
// Prepara a variável caso o formulário tenha sido postado
$arquivo = isset($_FILES[$img_file]) ? $_FILES[$img_file] : FALSE;
/* $config = array();
// Tamano máximo da imagem, em bytes
$config["tamanho"] = 307200; //Aproximadamente 300k
// Largura Máxima, em pixels
$config["largura"] = 800;
// Altura Máxima, em pixels
$config["altura"] = 600;*/
$saida = "OK";
if($arquivo) {
$erro = array();
// Verifica o mime-type do arquivo para ver se é de imagem.
// Caso fosse verificar a extensão do nome de arquivo, o código deveria ser:
//
// if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo["name"])) {
// $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; }
//
// Mas, o que ocorre é que alguns usuários mal-intencionados, podem pegar um vírus .exe e simplesmente mudar a extensão
// para alguma das imagens e enviar. Então, não adiantaria em nada verificar a extensão do nome do arquivo.
function montaArray($mysql_result,$mysql_fetch_array){
$k=0;
$valores = array();
while($k < mysql_num_fields($mysql_result)){ //quantidade de campos retornados da consulta
$field = mysql_fetch_field($mysql_result,$k);//Retorna um objeto com informações dos campos
$valores[$field->name] = $mysql_fetch_array[$field->name];
$k++;
} // while
return $valores;
}
function valida($CAMPO, $VALOR, $TIPO, $OBRIGATORIO, &$ERR) {
$LISTA = array();
$LISTA['INTFULL'] = "/^\d*$/"; //INTEIRO QUALQUER
$LISTA['INTEIRO'] = "/^[1-9]\d*$/"; //NÃO INICIADOS POR ZERO
$LISTA['MAIL']= "/^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/";
$LISTA['DATA'] = "/^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/";
$LISTA['DATA_'] = "/^((0?[1-9]|[12]\d)\-(0?[1-9]|1[0-2])|30\-(0?[13-9]|1[0-2])|31\-(0?[13578]|1[02]))\-(19|20)?\d{2}$/";
$LISTA['DATAHORA'] = "/^(((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2})[ ]([0-1]\d|2[0-3])+:[0-5]\d:[0-5]\d$/";
$LISTA['MOEDA'] = "/^\d{1,3}(\.\d{3})*\,\d{2}$/";
$LISTA['MOEDASIMP'] = "/^\d*\,\d{2}$/";
$LISTA['ETIQUETA'] = "/^[1-9]\d*(\,\d+)*$/"; //expressão para validar consultas separadas por vírgula;
$LISTA['ALFA'] = "/^[A-Z]|[a-z]([A-Z]|[a-z])*$/";
$LISTA['ALFANUM'] = "/^([A-Z]|[a-z]|[0-9])([A-Z]|[a-z]|[0-9])*\.?([A-Z]|[a-z]|[0-9])([A-Z]|[a-z]|[0-9])*$/"; //Valores alfanumérias aceitando separação com no máximo um ponto.
$LISTA['ALFAFULL'] = "/^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*$/";
$LISTA['FONE'] = "/^(([+][\d]{2,2})?([-]|[\s])?[\d]*([-]|[\s])?[\d]+)+([,][\s]([+][\d]{2,2})?([-]|[\s])?[\d]*([-]|[\s])?[\d]+)*$/";
$LISTA['COR'] = "/^([#]([A-F]|[a-f]|[\d]){6,6})|([I][M][G][_][D][E][F][A][U][L][T])$/";
$ERRO = array();
$ERRO['OBRIGATORIO'] = "O campo ".$CAMPO." é obrigatório!";
$ERRO['INTFULL'] = "O campo ".$CAMPO." deve conter apenas numeros inteiros!";
$ERRO['INTEIRO'] = "O campo ".$CAMPO." deve conter apenas numeros inteiros não iniciados por ZERO!";
$ERRO['MAIL']= "Formato de e-mail inválido!";
$ERRO['DATA'] ="Formato de data invalido! dd/mm/aaaa";
$ERRO['DATA_'] = "Formato de data invalido! dd-mm-aaaa";
$ERRO['DATAHORA'] = "Formato de data invalido! dd/mm/aaaa H:m:s";
$ERRO['MOEDA'] = "Formato de moeda inválido!";
$ERRO['MOEDASIMP'] ="Formato de moeda inválido! XXXXXX,XX";
$ERRO['ETIQUETA'] = "o Formato do campo ".$CAMPO." deve ser de valores inteiros não iniciados por Zero e separados por vírgula!";
$ERRO['ALFA'] = "Esse o campo ".$CAMPO." só aceita carateres do alfabeto sem espaços!";
$ERRO['ALFANUM'] ="O campo ".$CAMPO." só aceita valores alfanuméricos sem espaços ou separados por um ponto(no máximo um)!";
$ERRO['ALFAFULL'] = "O campo ".$CAMPO." só aceita valores alfanuméricos sem espaços!";
$ERRO['FONE'] = "O campo ".$CAMPO." só aceita valores formatados para telefones (algarismos, traços e espaços) separados por vírgula.";
$ERRO['COR'] ="O campo ".$CAMPO." só aceita valores formatados para cores HTML! Ex: #FFCC99";
if ($LISTA[$TIPO] == '') {
print "ÍNDICE INVÁLIDO!";
return false;
} else
if ($OBRIGATORIO) {
if ($VALOR=='') {
$ERR = $ERRO['OBRIGATORIO'];
return false;
} else
if (preg_match($LISTA[$TIPO], $VALOR)) {
return true;
} else {
$ERR = $ERRO[$TIPO];
return false;
}
[106] Comentário enviado por gvilelas em 30/10/2012 - 13:06h
Ei pessoal algum solução em relação ao navegador ficar atualizando constantemente quando loga com um usuário que tem apenas permissão para abertura de chamado ?
To com o mesmo problema.
Ja testei no IE, FF e Chome.
[107] Comentário enviado por rafaeladvance em 12/12/2012 - 18:42h
Fatal error: Call to undefined function ldap_connect() in C:\xampp\htdocs\helpdesk\includes\classes\adLDAP.php on line 361
acho que e nessa parte do codigo.
nao manjo de programação.
public function connect() {
// Connect to the AD/LDAP server as the username/password
$dc=$this->random_controller();
if ($this->_use_ssl){
$this->_conn = ldap_connect("ldaps://".$dc, 636);
} else
{
$this->_conn = ldap_connect($dc);
[108] Comentário enviado por ALLANJR em 07/05/2013 - 11:17h
Pessoal, aparentemente estou com tudo correto aqui porém ao tentar me logar com meu usuário do AD aparece essa mensagem:
"IMPOSSÍVEL ACESSAR A BASE DE DADOS DE USUÁRIOS: LOGIN.PHP"
IMPOSSÍVEL ACESSAR A BASE DE PERMISSÕES: LOGIN.PHP
[110] Comentário enviado por dersonribeiro19 em 05/06/2013 - 15:37h
Boa tarde!
Meu chefe me deu uma tarefa que estou tendo muita dificuldade.
Preciso fazer somente a autenticação da senha do ocomon pelo ldap. Nao é preciso acrescentar ou alterar nada somente autenticar.
Segui o tutorial, mas por não ter experiência estou me batendo há alguns dias.
Aqui em vez de "base_dn = "DC=meudominio,DC=local";' o pessoal da infra me falou que aqui é "ou=empresa,ou=people,o=empresa,c=br".
Fiz o seguinte:
Alterei em config.inc.php para a opção LDAP. Todas as configurações sobre dominio, servidor ficaram comentadas.
Em adLDAP.php ficou o seguinte:
protected $_base_dn = "ou=empresa,ou=people,o=empresa,c=br";
protected $_account_suffix = "@empresa.br";
protected $_domain_controllers = array ("ldap.empresa.br");
Em login(onde acredito estar meu problema) acrescentei include ("../../includes/classes/adLDAP.php");
Quando vou logar, digito usuário e senha do ldap e já cadastrado no ocomon, e a tela fica "em branco".
Alguém pode me dar uma super ajuda.
Muito obrigado
Segue login.php
<?php /* Copyright 2005 Flávio Ribeiro
*/ session_start();
include ("../../includes/include_geral.inc.php");
include ("../../includes/functions/browser_detection.php");
include ("../../includes/classes/adLDAP.php"); #Adicionar o caminho da class adLDAP.php
//*****************************************************************************************************************************
$qry="SELECT * FROM `usuarios` WHERE `login` = '".$s_usuario."'";
$qry3 = mysql_query($qry) or die('Impossível aceder à base de dados de utilizadores!!!');
$rowUSER = mysql_fetch_array($qry3);
if (($rowUSER['login'])!=($s_usuario)){
$adduser = "INSERT INTO usuarios (login, nome, password, data_inc, data_admis,
email, fone, nivel, AREA, user_admin) ".
"values ('".$s_usuario."','".$result[0]["displayname"][0]."','e267cfcd18461ce938067eca67c59f41','".date("Y-m-d")."','".
date("Y-m-d")."','".$U_MAILG."','".$result[0]["telephonenumber"][0]."','3','".$result[0]["primarygroupid"][0]."','0')";
mysql_query($adduser) or die (TRANS('ERR_INSERT').$s_usuario);
$addarea = "INSERT INTO `usuarios_areas` (`uarea_uid`,`uarea_sid`) VALUES ('".$rowUSER['user_id']."', '".$result[0]["primarygroupid"][0]."')";
mysql_query($addarea) or die (TRANS('ERR_INSERT').$s_usuario);
}
$qruy="SELECT * FROM `sistemas` WHERE `sis_id` = '".$result[0]["primarygroupid"][0]."'";
$qruy3 = mysql_query($qruy) or die('Impossível aceder à base de dados de utilizadores!!!');
$rowGroup = mysql_fetch_array($qruy3);
if (($rowGroup['sis_id'])!=($result[0]["primarygroupid"][0])){
$addgroup = "INSERT INTO `sistemas` VALUES ('".$result[0]["primarygroupid"][0]."', '".$rwGroup[0]."',
'1', 'emil@meuemail.com.br', '0', null)";
$addpermi = "INSERT INTO `permissoes` (`perm_area`,`perm_modulo`,`perm_flag`) VALUES ('".$result[0]["primarygroupid"][0]."', '1', '1')";
mysql_query($addgroup) or die (TRANS('ERR_INSERT').$rwGroup[0]);
mysql_query($addpermi) or die (TRANS('ERR_INSERT').$rwGroup[0]);
}
//*****************************************************************************************************************************
$queryOK = "SELECT u.*, n.*,s.* FROM usuarios u left join sistemas as s on u.AREA = s.sis_id ".
"left join nivel as n on n.nivel_cod =u.nivel WHERE u.login = '".$_POST['login']."'";
$resultadoOK = mysql_query($queryOK) or die('IMPOSSÍVEL ACESSAR A BASE DE DADOS DE USUÁRIOS: LOGIN.PHP');
$row = mysql_fetch_array($resultadoOK);
$s_nivel = $row['nivel'];
if ($s_nivel<4){ //Verifica se não está desabilitado
$s_logado=1;
}
/*VERIFICA EM QUAIS ÁREAS O USUÁRIO ESTÁ CADASTRADO*/
$qryUa = "SELECT * FROM usuarios_areas where uarea_uid=".$s_uid.""; //and uarea_sid=".$s_area."
$execUa = mysql_query($qryUa) or die('IMPOSSÍVEL ACESSAR A BASE DE USUÁRIOS 02: LOGIN.PHP');
$uAreas = "".$s_area.",";
while ($rowUa = mysql_fetch_array($execUa)){
$uAreas.=$rowUa['uarea_sid'].",";
}
$uAreas = substr($uAreas,0,-1);
$s_uareas = $uAreas;
/*CHECA QUAIS OS MÓDULOS PODEM SER ACESSADOS PELAS ÁREAS QUE O USUÁRIO PERTENCE*/
$qry = "SELECT * FROM permissoes where perm_area in (".$uAreas.")";
$exec = mysql_query($qry) or die('IMPOSSÍVEL ACESSAR A BASE DE PERMISSÕES: LOGIN.PHP');
$sqlStyles = "SELECT * FROM temas t, uthemes u WHERE u.uth_uid = ".$_SESSION['s_uid']." and t.tm_id = u.uth_thid";
$execStyles = mysql_query($sqlStyles) or die('ERRO NA TENTATIVA DE RECUPERAR AS INFORMAÇÕES DO TEMA!<BR>'.$sqlStyles);
$rowSty = mysql_fetch_array($execStyles);
$regs = mysql_num_rows($execStyles);
if ($regs==0){ //SE NÃO ENCONTROU TEMA ESPECÍFICO PARA O USUÁRIO
unset($rowSty);
$sqlStyles = "SELECT * FROM styles";
$execStyles = mysql_query($sqlStyles);
$rowSty = mysql_fetch_array($execStyles);
}
$queryOK = "SELECT u.*, n.*,s.* FROM usuarios u left join sistemas as s on u.AREA = s.sis_id ".
"left join nivel as n on n.nivel_cod =u.nivel WHERE u.login = '".$_POST['login']."'";
$resultadoOK = mysql_query($queryOK) or die('IMPOSSÍVEL ACESSAR A BASE DE DADOS DE USUÁRIOS: LOGIN.PHP');
$row = mysql_fetch_array($resultadoOK);
$s_nivel = $row['nivel'];
if ($s_nivel<4){ //Verifica se não está desabilitado
$s_logado=1;
}
/*VERIFICA EM QUAIS ÁREAS O USUÁRIO ESTÁ CADASTRADO*/
$qryUa = "SELECT * FROM usuarios_areas where uarea_uid=".$s_uid.""; //and uarea_sid=".$s_area."
$execUa = mysql_query($qryUa) or die('IMPOSSÍVEL ACESSAR A BASE DE USUÁRIOS 02: LOGIN.PHP');
$uAreas = "".$s_area.",";
while ($rowUa = mysql_fetch_array($execUa)){
$uAreas.=$rowUa['uarea_sid'].",";
}
$uAreas = substr($uAreas,0,-1);
$s_uareas = $uAreas;
/*CHECA QUAIS OS MÓDULOS PODEM SER ACESSADOS PELAS ÁREAS QUE O USUÁRIO PERTENCE*/
$qry = "SELECT * FROM permissoes where perm_area in (".$uAreas.")";
$exec = mysql_query($qry) or die('IMPOSSÍVEL ACESSAR A BASE DE PERMISSÕES: LOGIN.PHP');
$sqlPrefs = "SELECT * FROM uprefs WHERE upref_uid = ".$s_uid."";
$execPrefs = mysql_query($sqlPrefs);
$rowPref = mysql_fetch_array($execPrefs);
$sqlFormatBar = "SELECT * FROM config"; //INFO FROM GENERAL CONF
$execFormatBar = mysql_query($sqlFormatBar) or die ('NÃO FOI POSSÍVEL ACESSAR A TABELA DE CONFIGURAÇÕES DO SISTEMA!');
$rowFormatBar = mysql_fetch_array($execFormatBar);
if (strpos($rowFormatBar['conf_formatBar'],'%oco%')) {
$formatBarOco = 1;
} else {
$formatBarOco = 0;
}
if (strpos($rowFormatBar['conf_formatBar'],'%mural%')) {
$formatBarMural = 1;
} else {
$formatBarMural = 0;
}
$sqlStyles = "SELECT * FROM temas t, uthemes u WHERE u.uth_uid = ".$_SESSION['s_uid']." and t.tm_id = u.uth_thid";
$execStyles = mysql_query($sqlStyles) or die('ERRO NA TENTATIVA DE RECUPERAR AS INFORMAÇÕES DO TEMA!<BR>'.$sqlStyles);
$rowSty = mysql_fetch_array($execStyles);
$regs = mysql_num_rows($execStyles);
if ($regs==0){ //SE NÃO ENCONTROU TEMA ESPECÍFICO PARA O USUÁRIO
unset($rowSty);
$sqlStyles = "SELECT * FROM styles";
$execStyles = mysql_query($sqlStyles);
$rowSty = mysql_fetch_array($execStyles);
}
###############################################
## TRECHO PARA VERIFICAÇÃO DAS GARANTIAS ##
#DEFINIR QUERY PARA CHECAGEM SOBRE OS BENS QUE ESTIVEREM PRESTES A FICAREM SEM GARANTIA;
if ($rowFormatBar['conf_days_bf']!=0) {
$qryWarranty = "SELECT e.estoq_cod, e.estoq_sn, e.estoq_partnumber, e.estoq_nf, ".
"\n\ti.item_nome AS tipo, model.mdit_fabricante as fabricante, model.mdit_desc as modelo, ".
"\n\tmodel.mdit_desc_capacidade as capacidade, model.mdit_sufixo as sufixo, ".
"\n\tf.forn_nome as fornecedor, l.local as local,".
"\n\tew.ew_sent_first_alert as first_alert, ew.ew_sent_last_alert as last_alert,".
"\n\tdate_add(date_format(e.estoq_data_compra, '%Y-%m-%d') , INTERVAL t.tempo_meses MONTH) AS vencimento ".
"\nFROM ".
"\n\testoque e ".
"\n\tleft join email_warranty ew on e.estoq_cod = ew.ew_piece_id ".
"\n\tleft join fornecedores f on f.forn_cod = e.estoq_vendor ".
"\n\tleft join localizacao l on l.loc_id = e.estoq_local, ".
"\n\ttempo_garantia t, modelos_itens model, itens i ".
"\nWHERE ".
[111] Comentário enviado por rappa888 em 19/06/2013 - 08:14h
#########################
# tela branca no ocomon #
#########################
Galera, para resolver o problema da tela branca depois do login no ocomon, e para aceitar valores alfanúmericos, fiz estas modificações no meu arquivo: /var/www/ocomon/includes/javascript/funcoes.js
--Linha 467--
<!--alert("Esse campo só aceita carateres do alfabeto sem espaços!");
[112] Comentário enviado por growjitsu em 03/07/2013 - 09:39h
Bom dia senhor Carlos R F Júnior,
Brother fiz o procedimento que você explicou acima para a conecção com AD funcionou direitinho mas toda a vez que tento abrir um chamado o ocomon não grava mais as descrições será que você tem alguma idéia do que possa ser.
[113] Comentário enviado por trabanom em 19/08/2013 - 12:41h
Boa tarde,
Fiz as configurações necessárias e consigo autenticar no AD, mas aparece o erro antes de abrir a tela de usuário:
Notice: undefined property: adLDAP::$_ad_username in caminho_do_arquivo\adLDAP.php on line 308
Notice: undefined property: adLDAP::$_bind in caminho_do_arquivo\adLDAP.php on line 310.
por uns 20 segundos, depois entra no ocomon.
Na tela do administrador, aparece os seguintes erros:
Administração de Áreas de Atendimento
Notice: Undefined index: s_colorLinPar in E:\xampp\htdocs\ocomon\admin\geral\sistemas.php on line 85
Notice: Undefined index: s_colorLinImpar in E:\xampp\htdocs\ocomon\admin\geral\sistemas.php on line 85
Notice: Undefined index: s_colorLinPar in E:\xampp\htdocs\ocomon\admin\geral\sistemas.php on line 85
Notice: Undefined index: s_colorLinImpar in E:\xampp\htdocs\ocomon\admin\geral\sistemas.php on line 85
[114] Comentário enviado por danilofbr em 21/11/2013 - 15:39h
Amigo,
não consigo fazer o ocomon autenticar no Ad de jeito nenhum, só da o erro abaixo:
Fatal error: Call to undefined function ldap_connect() in C:\xampp\htdocs\ocomon\includes\classes\adLDAP.php on line 360
já copiei as DLL's, mudei os arquivos pros que o pessoal postou com as configurações corretas mas não vai. Meu windows é 64 bits, incluencia em algo com relação as dll's, pois não consegui registrá-las. reiniciei o server já, o xammp tb enão vai.
[116] Comentário enviado por galiann em 21/08/2014 - 17:31h
[35] Comentário enviado por marcellphelipe em 07/01/2010 - 12:10h:
Boa tarde galera..
Segui todas as dicas que foram postadas ai.. e tudo funcionou quase perfeitamente.
a unica coisa que esta me fazendo quebrar a cabeça é que, agora quando entro com um novo usuario no sistema, ao abrir a pagina inicial o navegador fica atualizando a pagina... entra num ciclo sem fim... rs
Alguem tem alguma ideia de como solucioar esse problema?
Grato!
Olá boa tarde.
Estava com esse problema até agora a pouco, e após fazer alguns testes ví que o Setor estava com a opção marcada "Atende Chamados" em Admin/Ocorrência/"area com problema"
Somente desmarquei a caixa que habilitava a area a atender chamados.
Com essa caixa marcada: automaticamente todos os usuarios tem que ser editados e colocados como "atende chamados" para que funcione.
[117] Comentário enviado por ale_ludgero em 07/05/2016 - 11:13h
Sei que o tópico é antigo mas estou precisando fazer o ocomon autenticar no AD e segui todos os passos do tutorial mas só vem uma tela em branco. Retiro da autenticação ldap e funciona normalmente.
Alguém teria o arquivo de login.php funcionando para disponibilizar ou mandar o script aqui no fórum?
[118] Comentário enviado por carlosrfjunior em 09/05/2016 - 10:04h
ale_ludgero bom dia!!!
É primeira vez que você está usando o OCOMON?
Estou usando o GLPI no lugar do OCOMON, com ele você vai conseguir conectar com o AD, Mail e OCS Inventory sem nenhum problema.
[119] Comentário enviado por hgmo2305 em 20/12/2016 - 17:19h
Olá, sei que o tópico é extremamente antigo, porem estou tendo uma dificuldade imensa, estou instalando o OCOMON na empresa agora, utilizo o CentOS 6.4, porem quando faço as alterações descritas aqui nesse tutorial, o sistema para de logar, quando tento colocar qualquer tipo de usuário, ele me retorna a mensagem de erro:
"A página de 10.168.225.98 não está funcionando
10.168.225.98 não consegue atender a esta solicitação no momento.
HTTP ERROR 500"
gostaria de uma ajuda para realizar a integração do OCOMON com meu AD.
Lembrando que tentei fazer essa configuração usando tanto a classe alDAP do tutorial e a mais atual versão : 4.0.4r2.
[120] Comentário enviado por isr43lsimukaua em 11/11/2017 - 10:42h
Bom dia, sei que faz tempo que não respondem a esse tópico aqui, vou me apresentar rapidamente, comecei a trabalhar em uma empresa a pouco tempo, e o sistema de chamados é Ocomon, não conhecia, e não tenho muito conhecimento em Linux e nessa parte de banco de dados, o rapaz que trabalhava antes, era muito centralizador e eu acabei não pegando nada sobre isso, nem senha de admin e nem como abrir a interface de usuário para acesso ao sistema e remover usuários antigos e troca de senha de usuários esquecidos, ja instalei o CentOS e o Ocomon em vários tutoriais da internet e youtube, preciso de uma ajuda, teria como alterar o admin ou até cadastrar outro usuário como administrador master para fazer essas alterações. Obrigado pela atenção dispensada, se puderem me ajudar, seria de uma valia muito grande
[121] Comentário enviado por sneves em 11/11/2017 - 17:12h
Olá isr43lsimukaua.
Sinceramente, se eu fosse você, deixaria esse sistema em background e partiria para uma nova instalação.
A chance de recuperar aí não é das maiores e talvez você não tenha tempo a perder.