PHP Classes

File: vendor/jackbooted/config/Preferences.php

Recommend this page to a friend!
  Classes of Brett Dutton   JackBooted PHP Framework   vendor/jackbooted/config/Preferences.php   Download  
File: vendor/jackbooted/config/Preferences.php
Role: Class source
Content type: text/plain
Description: Class source
Class: JackBooted PHP Framework
Web application framework using simplified MVC
Author: By
Last change:
Date: 8 years ago
Size: 2,552 bytes
 

Contents

Class file image Download
<?php
namespace Jackbooted\Config;

use \
Jackbooted\Util\Log4PHP;
/** LoadPrefs.php - Loads up User Preferences
 *
 * @copyright Confidential and copyright (c) 2016 Jackbooted Software. All rights reserved.
 *
 * Written by Brett Dutton of Jackbooted Software
 * brett at brettdutton dot com
 *
 * This software is written and distributed under the GNU General Public
 * License which means that its source code is freely-distributed and
 * available to the general public.
 *
 */

class Preferences extends \Jackbooted\Util\JB {
    const
MODULE = "MODULE";
    const
THEME = "THEME";
    const
FUNC = "FUNCTION";
    const
FILE = "FILE";
    const
IMAGE = "IMAGE";
    const
DATA = "DATA";

    public static
$dataTypes = [ self::MODULE, self::THEME, self::FUNC, self::FILE, self::IMAGE, self::DATA ];

    private static
$log;

    public static function
init ( ) {
       
self::$log = Log4PHP::logFactory ( __CLASS__ );
    }

   
/** An array of User Preferences
     * @type Array
     * @private
     */
   
public $userPrefs = [ ];

    private
$userTypes = [ ];

   
/** Function returns a User prefeernce
     * @param $s The key value of the User Prefernce to return
     * @returns var
     * @public
     */
   
public function get ( $s, $def='' ) {
       
//if not set return
       
if ( !isset ( $this->userTypes[$s] ) ) return ( $def );

       
// return the user preference
       
return ( $this->userPrefs[$s] );
    }

   
/**
     * function to return a list of all preferences of a particular type
     * @param $typ The type of prefeernces to return
     * @returns Array
     * @public
     */
   
public function listType ( $typ ) {
       
$arr = [ ];
        foreach (
$this->userTypes as $key => $val ) {
            if (
$val == $typ ) $arr[] = $key;
        }
       
sort ( $arr );
        return (
$arr );
    }

   
/** Function loads the userPrefs/userTypes with values
     * @param $key The key ( name )
     * @param $val The value to save
     * @param $typ The type of the value
     * @public
     */
   
public function put ( $key, $val=FALSE, $typ="DATA" ) {
       
//if the $key is not set return
       
if ( ! isset ( $key ) ) return;

       
// set the userPrefs/userTpes
        // If this is already in the system then just ignore type
       
if ( ! isset ( $this->userPrefs[$key] ) ) {
           
// if $typ is empty then set it to DATA
           
if ( $typ == "" ) $typ = "DATA";
           
$this->userTypes[$key] = $typ;
        }

       
$this->userPrefs[$key] = $val;
    }
}