User item

Base class with common features for database based items and item collections.

package CONTENIDO API
subpackage Model
copyright four for business AG

 Methods

Constructor function for downwards compatibility

Item($sTable, $sPrimaryKey, $iLifetime) 
Inherited
inherited_from \Item::Item()

Parameters

$sTable

$sPrimaryKey

$iLifetime

Constructor function

__construct(mixed $mId) : void

Parameters

$mId

mixed

Specifies the ID of item to load

Exceptions

\cInvalidArgumentException If table name or primary key is not set

Filters the passed data using the functions defines in the _arrInFilters array.

_inFilter(mixed $mData) : mixed
Inherited
see \setFilters
inherited_from \Item::_inFilter()

Parameters

$mData

mixed

Data to filter

Returns

mixedFiltered data

cApiUser()

cApiUser($mId) 
deprecated [2011-03-15] Old constructor function for downwards compatibility

Parameters

$mId

Checks a given password against some predefined rules like minimum character length, required special character, etc.

checkPasswordMask(string $password) : int
Static

.. This behaviour is configurable in global configuration $cfg['password'].

Parameters

$password

string

The password check

Returns

intOne of defined PASS_* constants (PASS_OK if everything was ok)

Deletes a custom property.

deleteProperty(string $sType, string $sName) : bool
Inherited
inherited_from \Item::deleteProperty()

Parameters

$sType

string

Specifies the type

$sName

string

Specifies the name

Returns

bool

Deletes a custom property by its id.

deletePropertyById(int $idprop) : bool
Inherited
inherited_from \Item::deletePropertyById()

Parameters

$idprop

int

Id of property

Returns

bool

Deletes a user property from the table.

deleteUserProperty(string $type, string $name) : bool

Parameters

$type

string

Type (class, category etc) of property to retrieve

$name

string

Name of property to retrieve

Returns

bool

Encodes a passed password (uses md5 to generate a hash of it).

encodePassword(string $password) : string

Parameters

$password

string

The password to encode

Returns

stringEncoded password

Escape string for using in SQL-Statement.

escape(string $sString) : string
Inherited
inherited_from \cItemBaseAbstract::escape()
inherited_from \Item::escape()

Parameters

$sString

string

The string to escape

Returns

stringEscaped string

Wrapper for getField (less to type).

get(string $sField) : mixed
Inherited
inherited_from \Item::get()

Parameters

$sField

string

Specifies the field to retrieve

Returns

mixedValue of the field

Getter method to get user adress data

getAddressData() : array

Returns

arrayAddress data array like:
        $aAddress['street'], $aAddress['city'], $aAddress['country'],
        $aAddress['zip']
        

Returns effective user name (if exists realname , otherwhise username)

getEffectiveName() : string

Returns

stringRealname or username of user

Function returns effective perms for user including group rights as perm string.

getEffectiveUserPerms() : string
author Timo Trautmann

Returns

stringCurrent users permissions

This static method provides a simple way to get error messages depending on error code $iErrorCode, which is returned by checkPassword* methods.

getErrorString(int $iErrorCode) : string
Static

Parameters

$iErrorCode

int

Returns

string

Gets the value of a specific field.

getField(string $sField) : mixed
Inherited
inherited_from \Item::getField()

Parameters

$sField

string

Specifies the field to retrieve

Returns

mixedValue of the field

Returns group ids where the user is in.

getGroupIDsByUserID(string $userid) : array

Parameters

$userid

string

Optional user id, uses id of loaded user by default.

Returns

array

Returns group names where the user is in.

getGroupNamesByUserID(string $userid, bool $bAddDescription) : array

Parameters

$userid

string

Optional user id, uses id of loaded user by default.

$bAddDescription

bool

Flag to add description like "groupname (description)"

Returns

array

Getter method to get user mail

getMail() : string

Returns

string

getMetaObject()

getMetaObject() 
Inherited
inherited_from \Item::getMetaObject()

Getter method to get user perm name

getPerms() : string

Returns

string

Returns list of user permissions.

getPermsArray() : array

Returns

array

Returns a custom property.

getProperty(string $sType, string $sName) : mixed
Inherited
inherited_from \Item::getProperty()

Parameters

$sType

string

Specifies the type

$sName

string

Specifies the name

Returns

mixedValue of the given property or false

Getter method to get user realname

getRealName() : string

Returns

stringRealname of user

Getter method to get user tel number

getTelNumber() : string

Returns

string

getUseTiny()

getUseTiny() 
deprecated [2012-03-06] Function name should be more generic

Getter method to get user wysi

getUseWysi() : int

Returns

int

Returns user id, currently set.

getUserId() : string

Returns

string

Returns user name, currently set

getUserName() : string

Returns

string

Retrieves all available properties of the user.

getUserProperties(bool $beDownwardsCompatible) : array

Works with a downwards compatible mode.

NOTE: Even if downwards compatible mode is enbabled by default, this mode is deprecated...

Parameters

$beDownwardsCompatible

bool

Flag to return downwards compatible values

Returns

arraybool a array or false in downwards compatible mode, otherwhise a array. Return value in new mode is: - $arr[iduserprop][name] - $arr[iduserprop][type] - $arr[iduserprop][value] Return value in downwards compatible mode is: - $arr[pos][name] - $arr[pos][type]

Returns all user properties by type.

getUserPropertiesByType(string $type, bool $group) : array
todo return value should be similar to getUserProperties()

Parameters

$type

string

Type (class, category etc) of the properties to retrieve

$group

bool

Flag to retrieve in group properties. If enabled, group properties will be merged with user properties where the user poperties will overwrite group properties

Returns

arrayAssoziative properties array as follows: - $arr[name] = value

Retrieves the effective user property.

getUserProperty(string $type, string $name, bool $group) : string

Parameters

$type

string

Type (class, category etc) for the property to retrieve

$name

string

Name of the property to retrieve

$group

bool

Flag to search in groups

Returns

stringbool value of the retrieved property or false

Getter method to get user valid date from-to

getValidDateFrom() : string

Returns

string

Getter method to get user valid date from-to

getValidDateTo() : string

Returns

string

Checks if a the item is already loaded.

isLoaded() : bool
Inherited
inherited_from \Item::isLoaded()

Returns

bool

Loads an item by colum/field from the database.

loadBy(string $sField, mixed $mValue, bool $bSafe) : bool
Inherited
inherited_from \Item::loadBy()

Parameters

$sField

string

Specifies the field

$mValue

mixed

Specifies the value

$bSafe

bool

Use inFilter or not

Exceptions

\cException if more than one item has been found matching the given arguments

Returns

boolTrue if the load was successful

Loads an item by colums/fields from the database.

loadByMany(array $aAttributes, bool $bSafe) : bool
Inherited
inherited_from \Item::loadByMany()

Parameters

$aAttributes

array

associative array with field / value pairs

$bSafe

bool

Use inFilter or not

Exceptions

\cException if more than one item could be found matching the given arguments

Returns

boolTrue if the load was successful

Loads an item by ID from the database.

loadByPrimaryKey(string $mValue) : bool
Inherited
inherited_from \Item::loadByPrimaryKey()

Parameters

$mValue

string

Specifies the primary key value

Returns

boolTrue if the load was successful

Loads an item by it's recordset.

loadByRecordSet(array $aRecordSet) 
Inherited
inherited_from \Item::loadByRecordSet()

Parameters

$aRecordSet

array

The recordset of the item

Loads a user from the database by its userID.

loadUserByUserID(string $userId) : bool

Parameters

$userId

string

Specifies the userID

Returns

boolTrue if the load was successful

Loads a user entry by username.

loadUserByUsername(string $userName) : bool

Parameters

$userName

string

Specifies the username

Returns

boolTrue if the load was successful

Registers a new callback.

register(string $event, mixed $callback, mixed $class) : void
InheritedStatic

Example: cGenericDb::register(cGenericDb::CREATE_SUCCESS, 'itemCreateHandler', 'cApiArticle'); cGenericDb::register(cGenericDb::CREATE_SUCCESS, array('cCallbackHandler', 'executeCreateHandle'), 'cApiArticle');

inherited_from \cGenericDb::register()
inherited_from \cItemBaseAbstract::register()
inherited_from \Item::register()

Parameters

$event

string

Callback event, must be a valid value of a cGenericDb event constant

$callback

mixed

Callback to register

$class

mixed

Class name for registering callback (can be string of array with names of the concrete Item classes)

Exceptions

\cInvalidArgumentException if event or class are not set or the callback is not callable

Wrapper for store() for downwards compatibility

save() : bool

Returns

boolReturn value of store()

This method saves the given password $password.

savePassword(string $password) : int

The password has to be checked, before it is set to the database. The resulting integer value represents the result code. Use the PASS_* constants to check what happens.

Parameters

$password

string

Returns

intbool PASS_* or false if saving fails

Shortcut to setField.

set(string $sField, string $mValue, bool $bSafe) 
Inherited
inherited_from \Item::set()

Parameters

$sField

string

Field name

$mValue

string

Value to set

$bSafe

bool

Flag to run defined inFilter on passed value

Setter method to set address data

setAddressData(string $sStreet, string $sCity, string $sZip, string $sCountry) 

Parameters

$sStreet

string

$sCity

string

$sZip

string

$sCountry

string

Sets value for city.

setCity(string $sCity) 

Parameters

$sCity

string

Sets value for country.

setCountry(string $sCountry) 

Parameters

$sCountry

string

User defined field value setter.

setField(string $sField, string $mValue, bool $bSafe) 

Parameters

$sField

string

Field name

$mValue

string

Value to set

$bSafe

bool

Flag to run defined inFilter on passed value

Define the filter functions used when data is being stored or retrieved from the database.

setFilters(array $aInFilters, array $aOutFilters) : void
Inherited

Examples:

$obj->setFilters(array('addslashes'), array('stripslashes'));
$obj->setFilters(array('htmlencode', 'addslashes'), array('stripslashes', 'htmlencode'));
inherited_from \Item::setFilters()

Parameters

$aInFilters

array

Array with function names

$aOutFilters

array

Array with function names

Setter method to set user mail address

setMail(string $sMail) 

Parameters

$sMail

string

Checks password which has to be set and return PASS_* values (i.e.

setPassword(string $password) : int

on success PASS_OK).

Parameters

$password

string

Returns

int

Setter method to set perms

setPerms(array | string $perms) 

Parameters

$perms

arraystring

Sets a custom property.

setProperty(string $sType, string $sName, mixed $mValue) : bool
Inherited
inherited_from \Item::setProperty()

Parameters

$sType

string

Specifies the type

$sName

string

Specifies the name

$mValue

mixed

Specifies the value

Returns

bool

Setter method to set user real name

setRealName(string $sRealName) 

Parameters

$sRealName

string

Sets value for street.

setStreet(string $sStreet) 

Parameters

$sStreet

string

Setter method to set user tel number

setTelNumber(string $sTelNumber) 

Parameters

$sTelNumber

string

setUseTiny()

setUseTiny($iUseTiny) 
deprecated [2012-03-06] Function name should be more generic

Parameters

$iUseTiny

Setter method to set wysi

setUseWysi(int $iUseWysi) 

Parameters

$iUseWysi

int

User id settter.

setUserId(string $uid) 

NOTE: Setting the user id by this method will load the user model.

Parameters

$uid

string

Sets up new user name.

setUserName(string $sUserName) 

Parameters

$sUserName

string

Stores a property to the database

setUserProperty(string $type, string $name, string $value) : \cApiUserProperty

Parameters

$type

string

Type (class, category etc) for the property to retrieve

$name

string

Name of the property to retrieve

$value

string

Value to insert

Returns

Setter method to set valid_from

setValidDateFrom(string $sValidateFrom) 

Parameters

$sValidateFrom

string

TODO add type checks

Setter method to set valid_to

setValidDateTo(string $sValidateTo) 

Parameters

$sValidateTo

string

TODO add type check

Sets value for ZIP.

setZip(string $sZip) 

Parameters

$sZip

string

Stores the loaded and modified item to the database.

store() : bool
Inherited
inherited_from \Item::store()

Returns

bool

Returns current item data as an assoziative array.

toArray() : array | false
Inherited
inherited_from \Item::toArray()

Returns

arrayfalse

Returns current item data as an object.

toObject() : \stdClass | false
Inherited
inherited_from \Item::toObject()

Returns

\stdClassfalse

Unregisters all callbacks for a specific event in a class.

unregister(string $event, mixed $class) : void
InheritedStatic

Example: cGenericDb::unregister(cGenericDb::CREATE_SUCCESS, 'cApiArticle');

inherited_from \cGenericDb::unregister()
inherited_from \cItemBaseAbstract::unregister()
inherited_from \Item::unregister()

Parameters

$event

string

Callback event, must be a valid value of a cGenericDb event constant

$class

mixed

Class name for unregistering callback (can be string of array with names of the concrete Item classes)

Exceptions

\cInvalidArgumentException if the event or the class are not set

Checks if a user with the id $userId exists

userExists($userId) : bool
Static

Parameters

$userId

Returns

booluser exists or not

Checks if a username exists

usernameExists(string $username) : bool
Static

Parameters

$username

string

the name

Returns

boolusername exists or not

Executes all callbacks for a specific event in a class.

_executeCallbacks(string $event, string $class, array $arguments) : void
Inherited
inherited_from \cGenericDb::_executeCallbacks()
inherited_from \cItemBaseAbstract::_executeCallbacks()
inherited_from \Item::_executeCallbacks()

Parameters

$event

string

Callback event, must be a valid value of a cGenericDb event constant

$class

string

Class name for executing callback

$arguments

array

Arguments to pass to the callback function

Exceptions

\cInvalidArgumentException if the event or class is not set

Returns properties instance, instantiates it if not done before.

_getPropertiesCollectionInstance() : \cApiPropertyCollection
Inherited
inherited_from \cItemBaseAbstract::_getPropertiesCollectionInstance()
inherited_from \Item::_getPropertiesCollectionInstance()

Returns

Returns the second database instance, usable to run additional statements without losing current query results.

_getSecondDBInstance() : \cDb
Inherited
inherited_from \cItemBaseAbstract::_getSecondDBInstance()
inherited_from \Item::_getSecondDBInstance()

Returns

Loads an item by passed where clause from the database.

_loadByWhereClause(string $sWhere) : bool
Inherited

This function is expensive, since it executes allways a query to the database to retrieve the primary key, even if the record set is aleady cached. NOTE: Passed value has to be escaped before. This will not be done by this function.

inherited_from \Item::_loadByWhereClause()

Parameters

$sWhere

string

The where clause like 'idart = 123 AND idlang = 1'

Exceptions

\cException if more than one item could be found matching the given where clause

Returns

boolTrue if the load was successful

Function which is called whenever an item is loaded.

_onLoad() : void
Inherited

Inherited classes should override this function if desired.

inherited_from \Item::_onLoad()

Filters the passed data using the functions defines in the _arrOutFilters array.

_outFilter(mixed $mData) : mixed
Inherited
see \setFilters
inherited_from \Item::_outFilter()

Parameters

$mData

mixed

Data to filter

Returns

mixedFiltered data

_setMetaObject()

_setMetaObject($sObjectName) 
Inherited
inherited_from \Item::_setMetaObject()

Parameters

$sObjectName

 Properties

 

$primaryKey : string
Inherited
inherited_from \cItemBaseAbstract::$$primaryKey
inherited_from \Item::$$primaryKey
 

$values : array
Inherited
inherited_from \Item::$$values
 

$virgin : bool
Inherited

If true, the object is virgin and no operations on it except load-Functions are allowed.

inherited_from \cItemBaseAbstract::$$virgin
inherited_from \Item::$$virgin
 

$_arrInFilters : array
Inherited
inherited_from \Item::$$_arrInFilters
 

$_arrOutFilters : array
Inherited
inherited_from \Item::$$_arrOutFilters
 

$_className : string
Inherited
inherited_from \cItemBaseAbstract::$$_className
inherited_from \Item::$$_className
 

$_metaObject : string
Inherited
inherited_from \Item::$$_metaObject
 

$_oCache : \cItemCache
Inherited
inherited_from \cItemBaseAbstract::$$_oCache
inherited_from \Item::$$_oCache
 

$_settings : array
Inherited
inherited_from \cItemBaseAbstract::$$_settings
inherited_from \Item::$$_settings
 

$cache : array
Inherited
inherited_from \cItemBaseAbstract::$$cache
inherited_from \Item::$$cache
 

$db : \cDb
Inherited
inherited_from \cItemBaseAbstract::$$db
inherited_from \Item::$$db
 

$lasterror : string
Inherited
inherited_from \cItemBaseAbstract::$$lasterror
inherited_from \Item::$$lasterror
 

$lifetime : int
Inherited
inherited_from \cItemBaseAbstract::$$lifetime
inherited_from \Item::$$lifetime
 

$modifiedValues : array
Inherited
inherited_from \Item::$$modifiedValues
 

$oldPrimaryKey : string
Inherited
inherited_from \Item::$$oldPrimaryKey
 

$properties : \cApiPropertyCollection
Inherited
inherited_from \cItemBaseAbstract::$$properties
inherited_from \Item::$$properties
 

$secondDb : \cDb
Inherited
inherited_from \cItemBaseAbstract::$$secondDb
inherited_from \Item::$$secondDb
 

$table : string
Inherited
inherited_from \cItemBaseAbstract::$$table
inherited_from \Item::$$table
 

$_callbacks : array
Inherited
inherited_from \cGenericDb::$$_callbacks
inherited_from \cItemBaseAbstract::$$_callbacks
inherited_from \Item::$$_callbacks

 Constants

 

Callbacks are executed before a item is created.

CREATE_BEFORE 
Inherited

Expected parameters for callback: none

inherited_from \cGenericDb::CREATE_BEFORE
inherited_from \cItemBaseAbstract::CREATE_BEFORE
inherited_from \Item::CREATE_BEFORE
 

Callbacks are executed if item could not be created.

CREATE_FAILURE 
Inherited

Expected parameters for callback: none

inherited_from \cGenericDb::CREATE_FAILURE
inherited_from \cItemBaseAbstract::CREATE_FAILURE
inherited_from \Item::CREATE_FAILURE
 

Callbacks are executed if item could be created successfully.

CREATE_SUCCESS 
Inherited

Expected parameters for callback: ID of created item

inherited_from \cGenericDb::CREATE_SUCCESS
inherited_from \cItemBaseAbstract::CREATE_SUCCESS
inherited_from \Item::CREATE_SUCCESS
 

Callbacks are executed before deleting an item.

DELETE_BEFORE 
Inherited

Expected parameters for callback: ID of them item to delete

inherited_from \cGenericDb::DELETE_BEFORE
inherited_from \cItemBaseAbstract::DELETE_BEFORE
inherited_from \Item::DELETE_BEFORE
 

Callbacks are executed if deletion of an item fails.

DELETE_FAILURE 
Inherited

Expected parameters for callback: ID of them item to delete

inherited_from \cGenericDb::DELETE_FAILURE
inherited_from \cItemBaseAbstract::DELETE_FAILURE
inherited_from \Item::DELETE_FAILURE
 

Callbacks are executed if item was deleted successfully.

DELETE_SUCCESS 
Inherited

Expected parameters for callback: ID of them item to delete

inherited_from \cGenericDb::DELETE_SUCCESS
inherited_from \cItemBaseAbstract::DELETE_SUCCESS
inherited_from \Item::DELETE_SUCCESS
 

Exception code, which is used if an password is set to save that is not valid.

EXCEPTION_PASSWORD_INVALID : int
final
 

Exception code, which is used if you try to add an user that already exists.

EXCEPTION_USERNAME_EXISTS : int
final
 

This value will be used if no minimum length for passwords are set via $cfg['password']['min_length']

MIN_PASS_LENGTH_DEFAULT : int
final
 

Given password is not complex enough

PASS_NOT_COMPLEX : int
final
 

Password does not contain enough different characters.

PASS_NOT_ENOUGH_DIFFERENT_CHARS : int
final
 

Password does not contain enough mixed characters.

PASS_NOT_ENOUGH_MIXED_CHARS : int
final
 

Password does not contain enough numbers.

PASS_NOT_ENOUGH_NUMBERS : int
final
 

Password does not contain enough symbols.

PASS_NOT_ENOUGH_SYMBOLS : int
final
 

Given password is not strong enough

PASS_NOT_STRONG : int
final
 

Password is ok and stored.

PASS_OK : int
final
 

Given password is to short

PASS_TO_SHORT : int
final
 

Callbacks are executed before store process is executed.

STORE_BEFORE 
Inherited

Expected parameters for callback: Item instance

inherited_from \cGenericDb::STORE_BEFORE
inherited_from \cItemBaseAbstract::STORE_BEFORE
inherited_from \Item::STORE_BEFORE
 

Callbacks are executed if store process failed.

STORE_FAILURE 
Inherited

This is also likely to happen if query would not change anything in database! Expected parameters for callback: Item instance

inherited_from \cGenericDb::STORE_FAILURE
inherited_from \cItemBaseAbstract::STORE_FAILURE
inherited_from \Item::STORE_FAILURE
 

Callbacks are executed if store process saved the values in the database.

STORE_SUCCESS 
Inherited

Expected parameters for callback: Item instance

inherited_from \cGenericDb::STORE_SUCCESS
inherited_from \cItemBaseAbstract::STORE_SUCCESS
inherited_from \Item::STORE_SUCCESS