Zed. The source code to build a world.

Perso extends Entity
in package

Perso class

This class maps the persos table.

The class also provides methods to move or locate a perso, to gets and sets perso's flags and notes (tables persos_flags and persos_notes), to gets user's perso or check if a perso is online, to handle on select and logout events.

Table of Contents

Properties

$avatar  : string
$flags  : mixed
$hashtable_id  : mixed
$hashtable_name  : mixed
$id  : mixed
$lastError  : string
$location  : mixed
$location_global  : mixed
$location_local  : mixed
$name  : mixed
$nickname  : mixed
$race  : mixed
$sex  : mixed
$user_id  : mixed
$db  : DatabaseEngine

Methods

__construct()  : mixed
Initializes a new instance
count_notes()  : int
Counts the amount of notes the perso have saved
create_perso_from_form()  : bool
Creates a new perso, from a parameter form
delete_flag()  : mixed
Deletes the specified flag
flag_exists()  : bool
Determines if the specified flag exists
get()  : Perso
Initializes a new Perso instance if needed or get already available one.
get_first_perso()  : mixed
Gets the first perso a user have (typically to be used when get_persos_count returns 1 to autoselect)
get_flag()  : mixed
Gets the specified flag value
get_note()  : string
Gets the specified note
get_persos()  : array<string|int, mixed>
Gets an array with all the perso of the specified user
get_persos_count()  : int
Counts the perso a user have
getDatabase()  : DatabaseEngine
is_available_id()  : mixed
is_available_nickname()  : mixed
Checks if the nickname is available
is_online()  : bool
Determines whether the perso is online
load_from_database()  : bool
Loads the object Perso (ie fill the properties) from the database
load_from_form()  : mixed
Loads the object Perso (ie fill the properties) from the $_POST array
move_to()  : void
Moves the perso to a new location
notify_inviter()  : mixed
Notifies the person having invited this perso
on_create()  : mixed
This event method is called when the perso is created
on_logout()  : mixed
This event method is called when the user logs off its account or perso
on_select()  : mixed
This event method is called when the user selects a new perso
request_flag()  : mixed
Ensures the current perso have the specified flag or exits.
save_field()  : void
Updates the specified field in the database record
save_to_database()  : void
Saves to database
set_flag()  : mixed
Sets the specified flag
set_note()  : mixed
Sets the specified note
setDatabase()  : void
where()  : string
Gets perso location
generate_id()  : mixed
Generates a unique ID for the current object

Properties

$avatar

public string $avatar = ""

$hashtable_id

public static mixed $hashtable_id = []

$hashtable_name

public static mixed $hashtable_name = []

$lastError

public string $lastError = ""

$location

public mixed $location

$location_global

public mixed $location_global

$location_local

public mixed $location_local

$nickname

public mixed $nickname

$user_id

public mixed $user_id

Methods

__construct()

Initializes a new instance

public __construct(DatabaseEngine $db[, mixed $data = null ]) : mixed
Parameters
$db : DatabaseEngine
$data : mixed = null

count_notes()

Counts the amount of notes the perso have saved

public count_notes() : int
Return values
int

the amount of notes assigned to the perso

create_perso_from_form()

Creates a new perso, from a parameter form

public static create_perso_from_form(DatabaseEngine $db, User $user, Perso &$perso, array<string|int, mixed> &$errors) : bool
Parameters
$db : DatabaseEngine
$user : User

The user to attach the perso to

$perso : Perso

A reference to the created perso (don't initialize it, give it a null value)

$errors : array<string|int, mixed>

A reference to the arrays containing errors (should be an empty array, or the method will always return false)

Return values
bool

true if the perso has ben created ; otherwise, false

delete_flag()

Deletes the specified flag

public delete_flag(string $key) : mixed
Parameters
$key : string

flag key

flag_exists()

Determines if the specified flag exists

public flag_exists(string $key) : bool
Parameters
$key : string

the flag key to check

Return values
bool

true if the specified flag exists ; otherwise, false.

get()

Initializes a new Perso instance if needed or get already available one.

public static get(DatabaseEngine $db[, mixed $data = null ]) : Perso
Parameters
$db : DatabaseEngine
$data : mixed = null
Tags
deprecated

Move to an entities repository

Return values
Perso

get_first_perso()

Gets the first perso a user have (typically to be used when get_persos_count returns 1 to autoselect)

public static get_first_perso(DatabaseEngine $db, int $user_id) : mixed
Parameters
$db : DatabaseEngine
$user_id : int
Tags
deprecated

This case is now handled by the TryAutoSelect class.

get_flag()

Gets the specified flag value

public get_flag(string $key[, mixed $defaultValue = null ]) : mixed
Parameters
$key : string

flag key

$defaultValue : mixed = null

default value if the flag doesn't exist

Return values
mixed

the flag value (string) or null if not existing

get_note()

Gets the specified note

public get_note(string $code) : string
Parameters
$code : string

the note code

Return values
string

the note content

get_persos()

Gets an array with all the perso of the specified user

public static get_persos(DatabaseEngine $db, User $user) : array<string|int, mixed>
Parameters
$db : DatabaseEngine
$user : User
Return values
array<string|int, mixed>

get_persos_count()

Counts the perso a user have

public static get_persos_count(mixed $user_id) : int
Parameters
$user_id : mixed
Return values
int

the user's perso count

getDatabase()

public getDatabase() : DatabaseEngine
Return values
DatabaseEngine

is_available_id()

public static is_available_id(mixed $id) : mixed
Parameters
$id : mixed

is_available_nickname()

Checks if the nickname is available

public static is_available_nickname(string $nickname) : mixed
Parameters
$nickname : string

the nickname to check

is_online()

Determines whether the perso is online

public is_online() : bool
Return values
bool

true if the perso is online ; otherwise, false.

load_from_database()

Loads the object Perso (ie fill the properties) from the database

public load_from_database() : bool
Return values
bool

load_from_form()

Loads the object Perso (ie fill the properties) from the $_POST array

public load_from_form() : mixed

move_to()

Moves the perso to a new location

public move_to([string|null $global = null ][, string|null $local = null ]) : void
Parameters
$global : string|null = null

the global target location

$local : string|null = null

the local target location

notify_inviter()

Notifies the person having invited this perso

public notify_inviter() : mixed

on_create()

This event method is called when the perso is created

public on_create() : mixed

on_logout()

This event method is called when the user logs off its account or perso

public on_logout() : mixed

on_select()

This event method is called when the user selects a new perso

public on_select() : mixed

request_flag()

Ensures the current perso have the specified flag or exits.

public request_flag(string $flag[, int $threshold = 0 ]) : mixed
Parameters
$flag : string

the flag to assert

$threshold : int = 0

value the flags must strictly be greater than (optional, the default value is 0)

Example: $perso->set_flag('quux.foo', 1); //The perso wants to read quux, which we allow with the flag quux.foo $perso->request_flag('quux.foo'); //will be okay

//The perso wants also to write quux, which we all allow if quux.foo = 2 //The threshold will so be 1, as 2 > 1 $perso->request_flag('quux.foo', 1); //Will exits, with a "You don't have quux.foo permission" message

save_field()

Updates the specified field in the database record

public save_field(string $field) : void
Parameters
$field : string

save_to_database()

Saves to database

public save_to_database() : void

set_flag()

Sets the specified flag

public set_flag(string $key[, string $value = 1 ]) : mixed
Parameters
$key : string

flag key

$value : string = 1

flag value (optional, default value: 1)

set_note()

Sets the specified note

public set_note(string $code, string $text) : mixed
Parameters
$code : string

the note code

$text : string

the note content

setDatabase()

public setDatabase(DatabaseEngine $db) : void
Parameters
$db : DatabaseEngine

where()

Gets perso location

public where() : string
Return values
string

The location names

generate_id()

Generates a unique ID for the current object

private generate_id() : mixed

        
On this page

Search results