GRIS_COMPETENCE
extends GRIS_CLASS_TEMPLATE
in package
Class for assigning competencies to persons
With this class the competence table can be managed.
PHP version 8
Copyright (c) 2023, Holger Heuser
Tags
Table of Contents
- dbtable = 'gris_competence'
- The constant for the database table
- settings_group = "competence"
- The constant for the settings group
- $classname : object
- The name of the class
- $dbconnection : object
- The database object for managing the connection
- $full_data : array<string|int, mixed>
- The dataset of the resource information
- $i18n : object
- The object for translations
- $id : object
- The current object ID
- $language : string
- The current language
- $settings : object
- The object for settings
- $state : object
- The object for state
- $xml_data : string
- The data as xml string
- __construct() : mixed
- The class constructor
- debug() : bool
- Output the full dataset without object data (all subobjects are parsed recursively)
- delete_all() : bool
- Deletes all entries for a given person id
- delete_competence_relation() : bool
- Deletes a competence relation
- get() : array<string|int, mixed>|object|string
- Returns an array of the full data or (if given) only certain attributes (separated by "|" for a subattribute)
- get_competencies() : mixed
- get_flat_data() : array<string|int, mixed>
- Get the data in a flat format. From subarrays only the first entry is merged
- get_flat_data_old() : array<string|int, mixed>
- Get the data in a flat format. From subarrays only the first entry is merged
- get_related_competencies() : array<string|int, mixed>
- Returns all competencies for a given person
- get_related_persons() : mixed
- Returns all related objects for a categorie and an object table
- id() : int
- Set a new ID or return the current ID if $id is NULL. The numeric value 0 is also set to NULL.
- pull_json() : string
- Returns the object data as JSON
- pull_xml() : string
- Returns the object data as XML
- push_xml() : bool
- Push an xml into the object (experimental, not finished yet)
- reset() : bool
- Reset the whole object (ID = NULL, full_data is empty)
- search_persons() : mixed
- Search all persons with the given competencies
- set_relation() : bool
- Sets a relation between a competence as subject and a person
- unset_attribute() : bool
- Unsets an attribute
- update() : bool
- Read or update all data from the competence table of the db into an array
- initialize() : bool
- Initializes the object by filling the array with data
- array_to_xml() : bool
- Convert an array into an xml representation
- get_competence_childs() : array<string|int, mixed>
- Get all childs for a given parent ID
- get_competence_data() : bool
- Get the whole competence tree for a given start point
- out() : bool
- Preformatted output of the variable (for development)
Constants
dbtable
The constant for the database table
public
mixed
dbtable
= 'gris_competence'
settings_group
The constant for the settings group
public
mixed
settings_group
= "competence"
Properties
$classname
The name of the class
protected
object
$classname
= NULL
Tags
$dbconnection
The database object for managing the connection
protected
object
$dbconnection
= NULL
Tags
$full_data
The dataset of the resource information
protected
array<string|int, mixed>
$full_data
= array()
Tags
$i18n
The object for translations
protected
object
$i18n
Tags
$id
The current object ID
protected
object
$id
Tags
$language
The current language
protected
string
$language
= NULL
Tags
$settings
The object for settings
protected
object
$settings
= null
Tags
$state
The object for state
protected
object
$state
Tags
$xml_data
The data as xml string
protected
string
$xml_data
= NULL
Tags
Methods
__construct()
The class constructor
public
__construct([mixed $language = NULL ]) : mixed
Parameters
- $language : mixed = NULL
Return values
mixed —debug()
Output the full dataset without object data (all subobjects are parsed recursively)
public
debug() : bool
Return values
bool —true
delete_all()
Deletes all entries for a given person id
public
delete_all(int $person_id) : bool
Parameters
- $person_id : int
-
The person id
Return values
bool —Returns true for success and false if no id is given
delete_competence_relation()
Deletes a competence relation
public
delete_competence_relation(int $person_id, int $competence_id) : bool
Parameters
- $person_id : int
-
The person ID
- $competence_id : int
-
The ID of the competence
Return values
bool —Returns true on success and falso on errors
get()
Returns an array of the full data or (if given) only certain attributes (separated by "|" for a subattribute)
public
get([string $attribute = NULL ]) : array<string|int, mixed>|object|string
Parameters
- $attribute : string = NULL
-
The attributes separated by [parent|child]
Return values
array<string|int, mixed>|object|string —The dataset or NULL
get_competencies()
public
get_competencies() : mixed
Return values
mixed —get_flat_data()
Get the data in a flat format. From subarrays only the first entry is merged
public
get_flat_data([bool $hierarchy = false ][, mixed $data = NULL ]) : array<string|int, mixed>
Parameters
- $hierarchy : bool = false
-
Return full flat (standard) or array hierarchy (if true)
- $data : mixed = NULL
-
Use other data than $this->full_data
Return values
array<string|int, mixed> —The flat data
get_flat_data_old()
Get the data in a flat format. From subarrays only the first entry is merged
public
get_flat_data_old([bool $hierarchy = false ][, mixed $data = NULL ]) : array<string|int, mixed>
Parameters
- $hierarchy : bool = false
-
Return full flat (standard) or array hierarchy (if true)
- $data : mixed = NULL
-
Use other data than $this->full_data
Return values
array<string|int, mixed> —The flat data
get_related_competencies()
Returns all competencies for a given person
public
get_related_competencies(string $person_id) : array<string|int, mixed>
Parameters
- $person_id : string
-
The ID of the person
Return values
array<string|int, mixed> —Returns an array of competencies or NULL
get_related_persons()
Returns all related objects for a categorie and an object table
public
get_related_persons(string $competence_ids) : mixed
Parameters
- $competence_ids : string
-
The IDs of the object (string or optional as array)
Returns an array of perosn IDs (int > 0) or NULL if no matches. Returns -1 on error
Return values
mixed —id()
Set a new ID or return the current ID if $id is NULL. The numeric value 0 is also set to NULL.
public
id([string $id = NULL ]) : int
Parameters
- $id : string = NULL
-
The current ID
Return values
int —The ID
pull_json()
Returns the object data as JSON
public
pull_json() : string
Return values
string —The json string
pull_xml()
Returns the object data as XML
public
pull_xml([bool $head = false ]) : string
Parameters
- $head : bool = false
-
Return XML with head (as default, just a node is returned)
Return values
string —The xml string
push_xml()
Push an xml into the object (experimental, not finished yet)
public
push_xml(string $xml) : bool
Parameters
- $xml : string
-
The xml with the object data
Return values
bool —true (or false on error)
reset()
Reset the whole object (ID = NULL, full_data is empty)
public
reset() : bool
Return values
bool —Returns true
search_persons()
Search all persons with the given competencies
public
search_persons(array<string|int, mixed> $competencies) : mixed
Parameters
- $competencies : array<string|int, mixed>
-
The array with competency IDs
Returns an array of perosn IDs (int > 0) or NULL if no matches. Returns -1 on error
Return values
mixed —set_relation()
Sets a relation between a competence as subject and a person
public
set_relation(string $person_id, array<string|int, mixed> $competence_id, string $level) : bool
Parameters
- $person_id : string
-
The ID of the person
- $competence_id : array<string|int, mixed>
-
The ID of the competence
- $level : string
-
The $level of the competence
Return values
bool —Returns true on succes or false on error
unset_attribute()
Unsets an attribute
public
unset_attribute(string $attribute) : bool
Parameters
- $attribute : string
-
The attributes
Return values
bool —Returns true
update()
Read or update all data from the competence table of the db into an array
public
update([string $id = NULL ]) : bool
Parameters
- $id : string = NULL
-
The ID is always NULL (only for compatibility to class template)
Return values
bool —Returns true for success and false for errors
initialize()
Initializes the object by filling the array with data
protected
initialize() : bool
Return values
bool —true (or false on error)
array_to_xml()
Convert an array into an xml representation
private
array_to_xml(array<string|int, mixed> $data, Pointer &$xml) : bool
Parameters
- $data : array<string|int, mixed>
-
The array with the data
- $xml : Pointer
-
A pointer to the xml
Return values
bool —true (or NULL if empty)
get_competence_childs()
Get all childs for a given parent ID
private
get_competence_childs(string $id) : array<string|int, mixed>
Parameters
- $id : string
-
The ID of the parent ID (should also work with an int param)
Return values
array<string|int, mixed> —The array with the competencies (returns NULL if no units were found)
get_competence_data()
Get the whole competence tree for a given start point
private
get_competence_data([string $start = NULL ][, array<string|int, mixed> $competence_tree = NULL ]) : bool
Parameters
- $start : string = NULL
-
The start ID
- $competence_tree : array<string|int, mixed> = NULL
-
The current tree (for recursions)
Return values
bool —Returns the competence tree from a starting level (recursive)
out()
Preformatted output of the variable (for development)
private
out([mixed $mixed = NULL ]) : bool
Parameters
- $mixed : mixed = NULL
-
The variable
Return values
bool —true