<?php

/**------------------------------------------------
*
* Rooty, 2018 <rooty@rooty.me>
*
*
* This software is protected by copyright, please
* read the file COPYRIGHT.
* This program 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. Please
* read the file LICENCE.
*
*Fichier UserPreference.php
*
*Ce fichier contient la classe UserPreference
*
* @author Rooty <www.rooty.me|rooty@rooty.me>
* @link www.rooty.me
* @since 2004/04/14
* @version 0.3
* @package system_data
* @subpackage UserPreference
* @copyright Copyright &copy; 2009-2018, Rooty
*/

#####################################################################################################
################################# Parametrage
#####################################################################################################
/**
* declaration du system... si cette variable n'est pas définie, les fichier inclus ne marche pas...
* cette variable est déclarée sur la page d'execution du script.
*<p> if ( !defined('SYSTEM_IN') )
* {
* die("Hacking attempt");
* }</p>
*/
if ( !defined('SYSTEM_IN') )
{
 die("Hacking attempt");
}

/**
* Classe UserPreference
*
* classe de gestion des preferences Utilisateur
*
* @package system_data
* @subpackage UserPreference
*/
class UserPreference
{

/**
* @var entier
* @access private
* @desc ID de la UserPreference (=id utilisateur)
*/
var $id			= null;

/**
* @var entier
* @access private
* @desc id de la langue par défaut de l'interface
*/
var $langueId		= null;

/**
* @var entier
* @access private
* @desc id du noeud d'entrée par défaut de l'interface
*/
var $entryNodeId	= null;

/**
* @var entier
* @access private
* @desc id du droit d'accés a utiliser par defaut
*/
var $rightId	= null;

/**#@-*/

	//
	// Constructor
	//
/**
*Constructeur de la classe UserPreference
*
*<p>Initialise la UserPreference</p>
*
* @access public
*/
	function __construct()
	{
		$this->id		=null;
		$this->langueId		=$GLOBALS["SYSTEM_DEFAULT_LANGUAGE"];
		$this->entryNodeId	=$GLOBALS["SYSTEM_DEFAULT_NODE"];
		$this->rightId		=null;
	}

/**
* getId: Recupere l'identifiant de la UserPreference
* @access public
* @return entier
*/
	function getId()
	{
		return $this->id;
	}

/**
* setId: affecte l'identifiant de la UserPreference
* @access public
* @return entier
*/
	function setId($id)
	{
		if(!is_numeric($id))
			return false;

		$this->id=$id;
		return true;
	}

/**
* getLangueId: Recupere l'identifiant de l'utilisateur
* @access public
* @return entier
*/
	function getLangueId()
	{
		return $this->langueId;
	}

/**
* setLangueId: affecte l'identifiant de la UserPreference
* @access public
* @return entier
*/
	function setLangueId($id)
	{
		if(!is_numeric($id))
			return false;

		$this->LangueId=$id;
		return true;
	}

/**
* setEntryNodeId: affecte l'identifiant de la UserPreference
* @access public
* @return entier
*/
	function setEntryNodeId($id)
	{
		if(!is_numeric($id))
			return false;

		$this->EntryNodeId=$id;
		return true;
	}

/**
* getRightId : Recupere l'identifiant du droit par défaut
* @access public
* @return entier
*/
	function getEntryNodeId()
	{
		return $this->EntryNodeId;
	}

/**
* getRightId: Recupere l'identifiant de l'utilisateur
* @access public
* @return entier
*/
	function getRightId()
	{
		return $this->rightId;
	}

/**
* setRightId: affecte l'identifiant du droit par défaut
* @access public
* @return entier
*/
	function setRightId($id)
	{
		if(!is_numeric($id))
			return false;

		$this->rightId=$id;
		return true;
	}

/**
* doLoad: Charge la UserPreference a partir de ses éléments
* @access public
* @param entier identifiant de la UserPreference (Null si inexistant dans la source)
* @param entier identifiant de la Langue par défaut
* @param entier identifiant du noeud d'entrée par défaut
* @param entier identifiant du droit par défaut
* @return booleen
*/
	function doLoad($id, $langueId, $entryNodeId, $rightId)
	{
		if ((!Is_numeric($id)) || (!Is_numeric($langueId)) || (!Is_numeric($entryNodeId)) || !is_numeric($rightId))
		{
			$systemError=2;
			$classe="UserPreference";
			$message="Erreur d'identifiant ".$id;
			addError($systemError, $classe, $message, __line__, __file__);
		}
		$this->setId($id);
		$this->setLangueId($langueId);
		$this->setEntryNodeId($entryNodeId);
		$this->setRightId($rightId);
		return true;
	}

/**
* isLoaded: UserPreference chargée?
*<p>Indique si une UserPreference a été chargé dans l'objet courant (retourne vrai)<br>
*Ou si l'objet courant est vide (retourne faux)</p>
* @access public
* @return booleen
*/
	function isLoaded()
	{
		return (($this->id!=0 && (!Is_null($this->id)) && Is_numeric($this->id))? true:false);
	}
}
?>
