Rotina Verificação e Permissão
Preciso de uma ajuda para montar um algoritimo de verificação PHP.
Vou tentar descrever a sequencia do que preciso, pois sou novato em PHP e eu uso esta rotina e tenho ela escrita em VBA porem preciso em PHP.
1º Preciso verificar a conexão do usuario com a internet, pensei assim;
<?php
if (!$sock = @fsockopen('www.google.com.br', 80, $num, $error, 5))
echo 'OFF LINE';
else
echo 'OK';
?>
2º inserir dentro dessa verificação a rotina assim ;
<?php
if (!$sock = @fsockopen('www.google.com.br', 80, $num, $error, 5)) // Se estiver offline
// 1º Verifico a chave para saber quantas execuções off ele tem direito : VBA <=> LerChaveApp = Reg.RegRead("HKEY_CURRENT_USER\Software\" & chvReg & "\exec")
// pego o numero de execuções off e diminuo dessa execução que ele se encontra = sempre nº - 1 , e atualizo o registro para a próxima vez que ele entrar se ainda estiver off ir decrescendo até chegar um ponto de execuções em que ele não pode mais executar e não permite mais logar.
// mostro a mensagem na tela dizendo quantas execuções off ainda restam para o usuario e libero para ele logar no sistema
else // Se estiver online , * Obs para o primeiro uso do sistema, é necessario que o usuario estaja online para efetuar o registro
// 1º cria e/ou Atualizo valores na chave de registro
// VBA = Dim Reg As Object
// Set Reg = CreateObject("wscript.shell")
// Reg.RegWrite "HKEY_CURRENT_USER\Software\" & chvReg & "\exec", nExec
$cliente = new SoapClient('http://www.webservicex.net/MEUWEBSERVICE.asmx?WSDL');
$metodo = 'ConvertTemp';
$argumentos= array('ConvertTemp'=> array(
'Temperature'=> 31,
'FromUnit'=> 'degreeCelsius',
'ToUnit'=> 'degreeFahrenheit'
));
$resultado= $cliente->__soapCall($metodo , $argumentos);
?>
uma rotina de VBA só para constar......
Public Function Permissao_Execucao()
On Error GoTo Permissao_Execucao_Erro
'Verifica a chave do usuário
Dim myChave
myChave = Nz(DLookup("[ChaveUsuario]", "Reg_App"), 0)
'Se não há chave do usuáiro, abre o formulário para registrar o aplicativo
'If myChave = 0 Then
'MsgBox "Aplicativo nao registrado. Realize o registro. "
'DoCmd.OpenForm "Usuario_Aplicativo"
'DoCmd.CancelEvent
'Exit Function
'End If
'Recebe a rota da base de dados no WebService
Dim mDatabase As String
mDatabase = RotaDatabaseWS
'Acessa o webserivce para verificar se o usuário tem permissão
Dim csReg As New clsws_WebService
Set csReg = New clsws_WebService
Response = csReg.wsm_ConsultarUsuario(myChave, mDatabase)
If Response(0) = "Usuário Registrado" Then 'Usuário registrado
If Response(5) = "Ativo" Then 'Se usuario ativo.
Call CriaChaveApp 'Ativa execuções emergências
DoCmd.OpenForm "Login" 'Abre o formulário de login
ElseIf Response(5) = "Inativo" Then 'Se usuário inativo
DoCmd.Close acForm, "start"
DoCmd.Close acForm, "splash"
MsgBox "Sua licenca encontra-se inativa." & vbCr & "Entre em contato com o suporte.", vbCritical, NomeAplicativo
Call DesativaChaveApp 'Desativa execuções emergênciais
DoCmd.Quit acQuitSaveAll 'Finaliza aplicação
End If
Else 'Usuário não registrado
DoCmd.Close acForm, "splash"
MsgBox Response(0)
Call DesativaChaveApp 'Desativa execuções emergênciais
DoCmd.Quit acQuitSaveAll 'Finalizar aplicativo
End If
On Error GoTo 0
Exit Function
Permissao_Execucao_Erro:
DoCmd.Hourglass False
If err.Number = 438 Then
Call ExecucaoEmergencial
Public Function wsm_ConsultarUsuario(ByVal str_ChaveUsuario As String, ByVal str_RotaDatabase As String) As Variant
'*****************************************************************
'
'"wsm_ConsultarUsuario" is an array with elements defined as String
'See Complex Types: Arrays in Microsoft Office 2003 Web Services Toolkit Help
'for details on implementing arrays.
'*****************************************************************
'Error Trap
On Error GoTo wsm_ConsultarUsuarioTrap
wsm_ConsultarUsuario = sc_WebService.ConsultarUsuario(str_ChaveUsuario, str_RotaDatabase)
Exit Function
wsm_ConsultarUsuarioTrap:
WebServiceErrorHandler "wsm_ConsultarUsuario"
End Function
No meu web service.
result(2) = RS.Fields("ChaveUsuario").Value
result(5) = RS.Fields("Status").Value
result(20) = RS.Fields("nlicencas").Value
result(21) = RS.Fields("nativacoes").Value
result(22) = RS.Fields("ExOff").Value
Meu form logim PHP => [https://mega.nz/#!NBRGiDoY!PbCvfhjkiK3OugyYd81rO6WdBSl0xbo30uA38Zu8lGQ](https://mega.nz/#!NBRGiDoY!PbCvfhjkiK3OugyYd81rO6WdBSl0xbo30uA38Zu8lGQ)
Se precisarem de mais informações perguntem , por favor me ajudem a montar esse algoritimo de verificação e permissão de acesso.
GratoDiscussão (2)
Carregando comentários...