PHP Classes

File: apps/helpers/authentication.php

Recommend this page to a friend!
  Classes of fathurrahman   mnTemplate   apps/helpers/authentication.php   Download  
File: apps/helpers/authentication.php
Role: Example script
Content type: text/plain
Description: Example script
Class: mnTemplate
Route HTTP requests to callback functions
Author: By
Last change:
Date: 1 year ago
Size: 2,808 bytes
 

Contents

Class file image Download
<?php

use Firebase\JWT\JWT;

function
is_login($role = null, $user = null, $jwt = null)
{
   
/** @var qbuilder $db */
   
$db = new qbuilder();

   
$gunakanJWT = JWT_AUTH;

    if(!empty(
$jwt))
       
$gunakanJWT = $jwt;

    if (!
$gunakanJWT)
       
$userdata = sessiondata('login'); //sessiondata('login')
   
else {
       
$token = isset($_POST['_token']) ? $_POST['_token'] : null;
        list(
$isLogin, $data) = verify_token($token);
    }
    if (!empty(
$userdata) && SYNC_DATAUSER) {
       
$db->select('users.username, anggota.*');
       
$db->where('username', $userdata['username']);
       
$db->from('users');
       
$db->join('anggota', 'users.anggota = anggota.id');
       
$u = $db->results();

        if (
count($u) > 1 || empty($u))
            return
false;
        else
           
set_userdata('login', $u[0]);

       
$userdata = get_userdata('login');
    }

    if (empty(
$role) && empty($user)) {
        if (
$gunakanJWT)
            return
$isLogin;
        else
            return !empty(
$userdata);
    } elseif (!empty(
$userdata) && !empty($role) && empty($user)) {
        if (
$gunakanJWT)
            return
$data['role'] == $role;
        elseif (!
JWT_AUTH)
            return
$userdata['role'] == $role;
    } elseif (!empty(
$userdata) && empty($role) && !empty($user)) {
        if (
$gunakanJWT)
           
$data['username'] == $user;
        else
            return
$userdata['username'] == $user;
    } elseif (!empty(
$userdata) && !empty($role) && !empty($user)) {
        if (
$gunakanJWT)
            return
$data['username'] == $user && $data['role'] == $role;
        else
            return
$userdata['username'] == $user && $userdata['role'] == $role;
    }
}

function
loginTryCount(){
   
}

function
verify_token($token){
   
$token_gen = new Token();
    if(empty(
$token))
        return[
false, []];
   
$data = $token_gen->decode($token, 'login');
    if(!
$data)
        return [
false, []];
    elseif(
$data->login_at < waktu())
        return [
false, []];
   
    return [
true, $data];
}

function
token_register_checker($token)
{
    if (empty(
$token))
        return[
'message' => 'Token kosong', 'type' => false];

   
$db = new qbuilder();

   
$db->select('*');
   
$db->from('token_registrasi');
   
$db->where('id', $token);
   
$results = $db->results();
    if (empty(
$results))
        return[
'message' => 'Token registrasi yang anda masukkan tidak terdaftar', 'type' => false];
    if (
count($results) > 1)
        return[
'message' => 'Token registrasi yang anda masukkan tidak valid', 'type' => false];

   
$results = $results[0];
    if (
strtotime($results['expired']) < time())
        return[
'message' => 'Token registrasi yang anda masukkan sudah expired', 'type' => false];
   
    return [
'message' => null, 'type' => true];
}