<?php 
namespace Jackbooted; 
 
/** GlobalFunctions.php - Common functions that are required by other systems 
 * 
 * @copyright Confidential and copyright (c) 2016 Jackbooted Software. All rights reserved. 
 * 
 * Written by Brett Dutton of Jackbooted Software 
 * brett at brettdutton dot com 
 * 
 */ 
 
class G extends \Jackbooted\Util\JB { 
    const SESS   = 'JACKBOOTWEB12'; 
    const PREFS  = 'PREFS12'; 
    const LOGIN  = 'loggedIn'; 
    const CRYPTO = 'CRYPTO_KEY'; 
    const IV     = 'PredefinedJackbootedEncryptionKey12345678901234567'; 
 
    /** This method gets the preference based on a name returns empty string if the variable 
     * does not exist 
     * @param $s name of the name value pair 
     * @returns String 
     */ 
    public static function get ( $s, $def='' ) { 
        if ( ! isset ( $_SESSION[self::SESS][self::PREFS] ) ) return $def; 
        return $_SESSION[self::SESS][self::PREFS]->get ( $s, $def ); 
    } 
 
    public static function getUserID ( ) { 
        return self::get ( 'fldUserID', '0' ); 
    } 
    /** This method sets a preference 
     * @param string $key name of the name value pair 
     * @param mixed $val value to send to preferences 
     * @returns void 
     */ 
    public static function set ( $key, $val, $persist=false, $type='DATA' ) { 
        if ( ! isset ( $_SESSION[self::SESS][self::PREFS] ) ) return; 
        $_SESSION[self::SESS][self::PREFS]->put ( $key, $val, $type ); 
    } 
 
    /** This method checks whether the current user can log in based on the required 
     * access level 
     * @param int $s The access level that we are checking must be in the 
     *           tables tblUserType 
     * @returns boolean 
     */ 
    public static function accessLevel ( $level ) { 
        $uLevel = self::get ( ( self::isLoggedIn ( ) ) ? 'fldLevel' : 'accesslevel' ); 
        return intval ( $uLevel ) <= intval ( $level ); 
    } 
 
    /** This method returns the login status as defined in the session object. 
     * @returns boolean 
     */ 
    public static function isLoggedIn ( ) { 
        if ( ! isset ( $_SESSION[self::SESS][self::LOGIN] ) ) return false; 
        return $_SESSION[self::SESS][self::LOGIN]; 
    } 
 
    /** 
     * sets the flag to say if the user is logged in 
     * @param boolean $flag true if user is logged in 
     */ 
    public static function setLoggedIn ( $flag ) { 
        if ( ! isset ( $_SESSION[self::SESS] ) ) $_SESSION[self::SESS] =  []; 
        $_SESSION[self::SESS][self::LOGIN] = $flag; 
    } 
 
    public static function isSmartPhone ( ) { 
        $ua = strtolower( $_SERVER['HTTP_USER_AGENT'] ); 
        if ( stripos( $ua, 'iphone' ) !== false ) { 
            return true; 
        } 
        else if ( stripos( $ua, 'android' ) !== false && 
                  stripos( $ua, 'mobile' ) !== false ) { 
            return true; 
        } 
        else { 
            return false; 
        } 
    } 
} 
 
 |