vBulletin 5.6.5 API

vB_DataManager_User extends vB_DataManager
in package

Abstract class to do data save/delete operations for a particular data type (such as user, thread, post etc.)

Table of Contents

$condition  : string
Condition to be used. Can be either array('keyfield' => 'value') or a valid assertor vB_dB_Query::CONDITIONS_KEY setting.
$dbobject  : vB_Database
The vBulletin database object
$error_handler  : string
The error handler for this object
$errors  : array<string|int, mixed>
Array to store any errors encountered while building data
$existing  : array<string|int, mixed>
Array to store existing data
$failure_callback  : callable
Callback to execute just before an error is logged.
$info  : array<string|int, mixed>
Array to store information
$insertedadmin  : bool
Whether or not we have inserted an administrator record
$list_types  : array<string|int, mixed>
Types of lists stored in usertextfield, named <X>list.
$presave_called  : null|bool
This variable prevents the pre_save() method from being called more than once.
$rawfields  : array<string|int, mixed>
Array to store the names for fields that will be taking raw SQL
$registry  : vB_Registry
The vBulletin registry object
$table  : string
The main table this class deals with
$user  : mixed
$userfield  : mixed
$usertextfield  : mixed
$assertor  : vB_dB_Assertor
The vBulletin dB_Assertor object
$bitfields  : array<string|int, mixed>
Array of field names that are bitfields, together with the name of the variable in the registry with the definitions.
$datastore  : vB_Datastore
The vBulletin vB_Datastore object
$keyField  : mixed
$needRegistry  : mixed
flag for vb5 transition. A subclass can set this to false and we won't set up $vbulletin *
$options  : array<string|int, mixed>
The options array from vB_Datastore object
$session  : vB_Session
The vBulletin vB_Session object
$setfields  : array<string|int, mixed>
Array to store the names of fields that have been sucessfully set
$userinfo  : array<string|int, mixed>
The userinfo array from vB_Session object
$validfields  : array<string|int, mixed>
Array of recognised and required fields for users, and their types
$user_changelog_fields  : array<string|int, mixed>
Which fieldchanges will be logged
$user_changelog_state  : bool
We want to log or not the user changes
$userchangelog  : array<string|int, mixed>
Arrays to store stuff to save to userchangelog table
__construct()  : mixed
Constructor - Checks for necessity of registry object
__serialize()  : mixed
__sleep()  : mixed
__unserialize()  : mixed
__wakeup()  : mixed
any_other_admin_exists()  : true
Returns true if any admin OTHER THAN the user specified exists.
check_password_history()  : bool
Checks to see if a password is in the user's password history
check_required()  : bool
Checks through the required fields for this object and ensures that all required fields have a value
db_delete()  : int
Generates the SQL to delete a record from a database table, then executes it
db_insert()  : int
Creates and runs an INSERT query to save the data from the object into the database
db_update()  : bool
Creates and runs an UPDATE query to save the data from the object into the database
delete()  : mixed
Deletes a user
deleteFile()  : mixed
Check if a file exists, and then delete it if it does.
do_set()  : mixed
Takes valid data and sets it as part of the data to be saved
do_unset()  : mixed
Unsets a values that has already been set
error()  : mixed
Shows an error message and halts execution - use this in the same way as print_stop_message();
fetch_field()  : mixed
Fetches info about the current data object - if a new value is set, it returns this, otherwise it will return the existing data
get_errors()  : array<string|int, mixed>
Returns the array of errors
get_exception()  : mixed
has_errors()  : bool
Check if the DM currently has errors. Will kill execution if it does and $die is true.
is_admin()  : bool
Checks usergroupid and membergroupids to see if the user has admin privileges
is_bitfield_set()  : bool
Determines if a bitfield value has been set
is_field_set()  : mixed
Determines if a field is set
is_supermod()  : bool
Checks usergroupid and membergroupids to see if the user has super moderator privileges
post_delete()  : mixed
Any code to run after deleting
post_save_each()  : mixed
Additional data to update after a save call (such as denormalized values in other tables).
post_save_once()  : mixed
Additional data to update after a save call (such as denormalized values in other tables).
pre_delete()  : mixed
Additional data to update before a delete call (such as denormalized values in other tables).
pre_save()  : bool
Any checks to run immediately before saving. If returning false, the save will not take place.
save()  : int
Saves the data from the object into the specified database tables
send_welcomepm()  : mixed
Sends a welcome pm to the user
set()  : bool
Sets the supplied data to be part of the data to be saved. Use setr() if a reference to $value is to be passed
set_admin()  : mixed
Inserts or deletes a record from the administrator table if necessary
set_bitfield()  : bool
Sets a bit in a bitfield
set_condition()  : mixed
Sets the condition to be used in WHERE clauses, based upon the $this->existing data and the $this->condition_constuct condition template.
set_dst()  : mixed
Sets DST options
set_existing()  : bool
Sets the existing data
set_failure_callback()  : mixed
Sets the function to call on an error.
set_info()  : mixed
Rather like set(), but sets data into the $this->info array instead. Use setr_info if $value if a reference to value is to be passed
set_ladder_usertitle()  : false|string
Sets the ladder-based or group based user title for a particular amount of posts.
set_ladder_usertitle_relative()  : false|string
Sets the ladder usertitle relative to the current number of posts.
set_supermod()  : mixed
Inserts or deletes a record from the moderators table if necessary
set_userfields()  : string
Validates and sets custom user profile fields
set_usertitle()  : mixed
Sets the values for user[usertitle] and user[customtitle]
setErrorHandler()  : bool
Sets the error handler for the object
setr()  : bool
Sets the supplied data to be part of the data to be saved
setr_info()  : mixed
Rather like set(), but sets reference to data into the $this->info array instead
update_ban_status()  : mixed
update_language_cookie()  : mixed
Resets the languageid cookie to the user's profile choice
update_password_history()  : mixed
Inserts a record into the password history table if the user's password has changed
update_style_cookie()  : mixed
Resets the session styleid and styleid cookie to the user's profile choice
update_threadedmode_cookie()  : mixed
Resets the threadedmode cookie to the user's profile choice
update_username()  : mixed
Updates all denormalized tables that contain a 'username' field (or field that holds a username)
usergroups_changed()  : bool
Checks to see if a user's usergroup memberships have changed
verify()  : bool
Verifies that the supplied data is one of the fields used by this object
verify_birthday()  : bool
Verifies that the provided birthday is valid
verify_date_array()  : bool
Verifies a date array as a valid unix timestamp
verify_displaygroupid()  : bool
Verifies that the provided displaygroup ID is valid
verify_email()  : bool
Verifies that an email address is valid
verify_emailnotification()  : bool
Verifies that an email notification choice is valid and workable
verify_homepage()  : bool
Verifies that the user's homepage is valid
verify_link()  : bool
Verifies that a hyperlink is valid
verify_maxposts()  : bool
Verifies the value of user.maxposts, setting the forum default number if the value is invalid
verify_md5()  : bool
Verifies that a string is an MD5 string
verify_msn()  : bool
Verifies an MSN handle
verify_parentemail()  : bool
Verifies that the provided parent email address is valid
verify_referrerid()  : bool
Verifies a specified referrer
verify_reputation()  : bool
Verifies a valid reputation value, and sets the appropriate reputation level
verify_serialized()  : bool
Verifies that input is a serialized array (or force an array to serialize)
verify_skype()  : bool
Verifies a Skype name
verify_threadedmode()  : bool
Verifies that $threadedmode is a valid value, and sets the appropriate options to support it.
verify_useremail()  : bool
Verifies that everything is hunky dory with the user's email field
verify_usergroupid()  : bool
Verifies that the usergroup provided is valid
verify_userid()  : bool
Verifies that the specified user exists
verify_username()  : bool
Verifies that the provided username is valid, and attempts to correct it if it is not valid
fetchQueryInfo()  : array<string|int, mixed>
Returns an array with object info required for query methods as first argument
fetchTableBase()  : string
Fetches the base table name even if the parameter contains the package prefix.
forceItemInSet()  : bool
Checks that data is in the valid array. If it is not, set data to the $default.
loadExisting()  : mixed
updateDeletedUserData()  : mixed
Updates data after user being deleted.
verify_autosubscribe()  : mixed
verify_commalist()  : bool
Verifies that a variable is a comma-separated list of integers
verify_customtitle()  : mixed
verify_ipaddress()  : bool
Verifies an IP address
verify_list()  : bool
Creates a valid string of comma-separated integers
verify_nonempty()  : bool
Verifies that a string is not empty
verify_nonzero()  : bool
Verifies that an integer is greater than zero
verify_nonzero_or_negone()  : bool
Verifies that an integer is greater than zero or the special value -1 this rule matches a fair number of id columns
verify_privacy_options()  : mixed
Verifies that privacy options are valid
verify_showbirthday()  : mixed
verify_showvbcode()  : mixed
verify_spacelist()  : bool
Verifies that a variable is a space-separated list of integers
getUsertitleFromPosts()  : mixed
set_registration_defaults()  : mixed
Sets registration defaults
update_birthday_datastore()  : mixed
Rebuilds the birthday datastore if the user's birthday has changed
update_subscriptions()  : mixed
Updates user subscribed threads/forums to reflect new permissions

Properties

$condition

Condition to be used. Can be either array('keyfield' => 'value') or a valid assertor vB_dB_Query::CONDITIONS_KEY setting.

public string $condition = ull

$error_handler

The error handler for this object

public string $error_handler = B_DataManager_Constants::ERRTYPE_STANDARD

$errors

Array to store any errors encountered while building data

public array<string|int, mixed> $errors = array()

$existing

Array to store existing data

public array<string|int, mixed> $existing = array()

$failure_callback

Callback to execute just before an error is logged.

public callable $failure_callback = ull

$info

Array to store information

public array<string|int, mixed> $info = array()

$insertedadmin

Whether or not we have inserted an administrator record

public bool $insertedadmin = alse

$list_types

Types of lists stored in usertextfield, named <X>list.

public array<string|int, mixed> $list_types = array('buddy', 'ignore')

$presave_called

This variable prevents the pre_save() method from being called more than once.

public null|bool $presave_called = ull

In some classes, it is helpful to explicitly call pre_save() before calling save as additional checks are done. This variable is used to prevent pre_save() from being executed when save() is called. If null, pre_save() has yet to be called; else, it is the return value of pre_save().

$rawfields

Array to store the names for fields that will be taking raw SQL

public array<string|int, mixed> $rawfields = array()

$registry

The vBulletin registry object

public vB_Registry $registry = ull

$table

The main table this class deals with

public string $table = 'user'

$user

public mixed $user = array()

$userfield

public mixed $userfield = array()

$usertextfield

public mixed $usertextfield = array()

$assertor

The vBulletin dB_Assertor object

protected vB_dB_Assertor $assertor = ull

$bitfields

Array of field names that are bitfields, together with the name of the variable in the registry with the definitions.

protected array<string|int, mixed> $bitfields = array('options' => 'bf_misc_useroptions', 'adminoptions' => 'bf_misc_adminoptions', 'notification_options' => 'bf_misc_usernotificationoptions', 'moderatornotificationoptions' => 'bf_misc_moderatornotificationoptions', 'moderatoremailnotificationoptions' => 'bf_misc_moderatoremailnotificationoptions')

$keyField

protected mixed $keyField = 'userid'

$needRegistry

flag for vb5 transition. A subclass can set this to false and we won't set up $vbulletin *

protected mixed $needRegistry = alse

$options

The options array from vB_Datastore object

protected array<string|int, mixed> $options = array()

$setfields

Array to store the names of fields that have been sucessfully set

protected array<string|int, mixed> $setfields = array()

$userinfo

The userinfo array from vB_Session object

protected array<string|int, mixed> $userinfo = array()

$validfields

Array of recognised and required fields for users, and their types

protected array<string|int, mixed> $validfields = array( 'userid' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_INCR, B_DataManager_Constants::VF_METHOD, 'verify_nonzero'), 'username' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_YES, B_DataManager_Constants::VF_METHOD), 'email' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_YES, B_DataManager_Constants::VF_METHOD, 'verify_useremail'), 'parentemail' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'emailstamp' => array( B_Cleaner::TYPE_UNIXTIME, B_DataManager_Constants::REQ_NO), 'secret' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_NO), 'passworddate' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_NO), 'usergroupid' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_YES, B_DataManager_Constants::VF_METHOD), 'membergroupids' => array( B_Cleaner::TYPE_NOCLEAN, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD, 'verify_commalist'), 'infractiongroupids' => array( B_Cleaner::TYPE_NOCLEAN, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD, 'verify_commalist'), 'infractiongroupid' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'displaygroupid' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'styleid' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'languageid' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'options' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_YES), 'privacy_options' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'notification_options' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'adminoptions' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'showvbcode' => array( B_Cleaner::TYPE_INT, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'showbirthday' => array( B_Cleaner::TYPE_INT, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'threadedmode' => array( B_Cleaner::TYPE_INT, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'maxposts' => array( B_Cleaner::TYPE_INT, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'ipaddress' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'referrerid' => array( B_Cleaner::TYPE_NOHTMLCOND, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'posts' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'daysprune' => array( B_Cleaner::TYPE_INT, B_DataManager_Constants::REQ_NO), 'startofweek' => array( B_Cleaner::TYPE_INT, B_DataManager_Constants::REQ_NO), 'timezoneoffset' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_NO), 'autosubscribe' => array( B_Cleaner::TYPE_INT, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'emailnotification' => array( B_Cleaner::TYPE_INT, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'moderatornotificationoptions' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'moderatoremailnotificationoptions' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'homepage' => array( B_Cleaner::TYPE_NOHTML, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'icq' => array( B_Cleaner::TYPE_NOHTML, B_DataManager_Constants::REQ_NO), 'aim' => array( B_Cleaner::TYPE_NOHTML, B_DataManager_Constants::REQ_NO), 'yahoo' => array( B_Cleaner::TYPE_NOHTML, B_DataManager_Constants::REQ_NO), 'msn' => array( B_Cleaner::TYPE_NOHTML, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'skype' => array( B_Cleaner::TYPE_NOHTML, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'google' => array( B_Cleaner::TYPE_NOHTML, B_DataManager_Constants::REQ_NO), 'usertitle' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_NO), 'customtitle' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'ipoints' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'infractions' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'warnings' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'joindate' => array( B_Cleaner::TYPE_UNIXTIME, B_DataManager_Constants::REQ_AUTO), 'lastvisit' => array( B_Cleaner::TYPE_UNIXTIME, B_DataManager_Constants::REQ_NO), 'lastactivity' => array( B_Cleaner::TYPE_UNIXTIME, B_DataManager_Constants::REQ_NO), 'lastpost' => array( B_Cleaner::TYPE_UNIXTIME, B_DataManager_Constants::REQ_NO), 'lastpostid' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'birthday' => array( B_Cleaner::TYPE_NOCLEAN, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'birthday_search' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_AUTO), 'reputation' => array( B_Cleaner::TYPE_NOHTML, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD), 'reputationlevelid' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_AUTO), 'avatarid' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'avatarrevision' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'sigpicrevision' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'pmpopup' => array( B_Cleaner::TYPE_INT, B_DataManager_Constants::REQ_NO), 'pmtotal' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'pmunread' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'assetposthash' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_NO), // socnet counter fields 'profilevisits' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'friendcount' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'friendreqcount' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'vmunreadcount' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'vmmoderatedcount' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'pcunreadcount' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'pcmoderatedcount' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'gmmoderatedcount' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), // usertextfield fields 'subfolders' => array( B_Cleaner::TYPE_NOCLEAN, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD, 'verify_serialized'), 'pmfolders' => array( B_Cleaner::TYPE_NOCLEAN, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD, 'verify_serialized'), 'searchprefs' => array( B_Cleaner::TYPE_NOCLEAN, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD, 'verify_serialized'), 'buddylist' => array( B_Cleaner::TYPE_NOCLEAN, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD, 'verify_spacelist'), 'ignorelist' => array( B_Cleaner::TYPE_NOCLEAN, B_DataManager_Constants::REQ_NO, B_DataManager_Constants::VF_METHOD, 'verify_spacelist'), 'signature' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_NO), 'rank' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_NO), 'status' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_NO), // facebook fields 'fbuserid' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_NO), 'fbname' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_NO), 'fbjoindate' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), // Privacy Consent fields 'privacyconsent' => array( B_Cleaner::TYPE_INT, B_DataManager_Constants::REQ_NO), 'privacyconsentupdated' => array( B_Cleaner::TYPE_UINT, B_DataManager_Constants::REQ_NO), 'location' => array( B_Cleaner::TYPE_STR, B_DataManager_Constants::REQ_NO), )

$user_changelog_fields

Which fieldchanges will be logged

private array<string|int, mixed> $user_changelog_fields = array('username', 'usergroupid', 'membergroupids', 'email')

$user_changelog_state

We want to log or not the user changes

private bool $user_changelog_state = rue

$userchangelog

Arrays to store stuff to save to userchangelog table

private array<string|int, mixed> $userchangelog = array()

Methods

__construct()

Constructor - Checks for necessity of registry object

public __construct([vB_Registry $registry = NULL ][, int $errtype = NULL ]) : mixed

Note that this method will accept only the $errtype parameter (via some magic checking of the parameters) and this is the preferred way of calling the datamanager functions. The registry object is deprecated and will be created internally for those managers that still need it.

Parameters
$registry : vB_Registry = NULL

-- Instance of the vBulletin data registry object - expected to have the database object as one of its $this->db member.

$errtype : int = NULL

--One of the ERRTYPE_x constants

Return values
mixed —

__serialize()

public __serialize() : mixed
Return values
mixed —

__sleep()

public __sleep() : mixed
Return values
mixed —

__unserialize()

public __unserialize(mixed $serialized) : mixed
Parameters
$serialized : mixed
Return values
mixed —

__wakeup()

public __wakeup() : mixed
Return values
mixed —

any_other_admin_exists()

Returns true if any admin OTHER THAN the user specified exists.

public any_other_admin_exists(int $userid) : true

Note that this function does not check if specified user is an admin.

Parameters
$userid : int

User ID of user to be checked

Return values
true —

if any user other than the specified user is an admin.

check_password_history()

Checks to see if a password is in the user's password history

public check_password_history(mixed $password, mixed $historylength) : bool
Parameters
$password : mixed
$historylength : mixed
Return values
bool —

Returns true if password is in the history

check_required()

Checks through the required fields for this object and ensures that all required fields have a value

public check_required() : bool
Return values
bool —

Returns true if all required fields have a valid value set

db_delete()

Generates the SQL to delete a record from a database table, then executes it

public db_delete(mixed $tableprefix, mixed $table[, mixed $condition = '' ][, mixed $doquery = true ]) : int
Parameters
$tableprefix : mixed
$table : mixed
$condition : mixed = ''
$doquery : mixed = true
Return values
int —

The number of records deleted

db_insert()

Creates and runs an INSERT query to save the data from the object into the database

public db_insert(mixed $tableprefix, mixed $table[, mixed $doquery = true ][, mixed $replace = false ]) : int
Parameters
$tableprefix : mixed
$table : mixed
$doquery : mixed = true
$replace : mixed = false
Return values
int —

Returns the ID of the inserted record

db_update()

Creates and runs an UPDATE query to save the data from the object into the database

public db_update(mixed $tableprefix, mixed $table[, mixed $condition = null ][, mixed $doquery = true ][, mixed $delayed = false ][, mixed $affected_rows = false ]) : bool
Parameters
$tableprefix : mixed
$table : mixed
$condition : mixed = null
$doquery : mixed = true
$delayed : mixed = false
$affected_rows : mixed = false
Return values
bool —

Returns true on success

delete()

Deletes a user

public delete([mixed $doquery = true ]) : mixed
Parameters
$doquery : mixed = true
Return values
mixed —

The number of affected rows

deleteFile()

Check if a file exists, and then delete it if it does.

public deleteFile(mixed $file) : mixed
Parameters
$file : mixed
Return values
mixed —

do_set()

Takes valid data and sets it as part of the data to be saved

public do_set(mixed $fieldname, mixed &$value[, mixed $table = null ]) : mixed
Parameters
$fieldname : mixed
$value : mixed
$table : mixed = null
Return values
mixed —

do_unset()

Unsets a values that has already been set

public do_unset(mixed $fieldname[, mixed $table = null ]) : mixed
Parameters
$fieldname : mixed
$table : mixed = null
Return values
mixed —

error()

Shows an error message and halts execution - use this in the same way as print_stop_message();

public error(mixed $errorphrase) : mixed
Parameters
$errorphrase : mixed
Return values
mixed —

fetch_field()

Fetches info about the current data object - if a new value is set, it returns this, otherwise it will return the existing data

public fetch_field(mixed $fieldname[, mixed $table = null ]) : mixed
Parameters
$fieldname : mixed
$table : mixed = null
Return values
mixed —

The requested data

get_errors()

Returns the array of errors

public get_errors() : array<string|int, mixed>
Return values
array<string|int, mixed> —

--

get_exception()

public get_exception() : mixed
Return values
mixed —

has_errors()

Check if the DM currently has errors. Will kill execution if it does and $die is true.

public has_errors([mixed $die = true ]) : bool
Parameters
$die : mixed = true
Return values
bool —

True if there are errors, false otherwise

is_admin()

Checks usergroupid and membergroupids to see if the user has admin privileges

public is_admin(mixed $usergroupid, mixed $membergroupids) : bool
Parameters
$usergroupid : mixed
$membergroupids : mixed
Return values
bool —

Returns true if user has admin privileges

is_bitfield_set()

Determines if a bitfield value has been set

public is_bitfield_set(mixed $fieldname, mixed $bitname) : bool
Parameters
$fieldname : mixed
$bitname : mixed
Return values
bool —

is_field_set()

Determines if a field is set

public is_field_set(mixed $field) : mixed
Parameters
$field : mixed
Return values
mixed —

is_supermod()

Checks usergroupid and membergroupids to see if the user has super moderator privileges

public is_supermod(mixed $usergroupid, mixed $membergroupids) : bool
Parameters
$usergroupid : mixed
$membergroupids : mixed
Return values
bool —

Returns true if user has super moderator privileges

post_delete()

Any code to run after deleting

public post_delete([mixed $doquery = true ]) : mixed
Parameters
$doquery : mixed = true
Return values
mixed —

post_save_each()

Additional data to update after a save call (such as denormalized values in other tables).

public post_save_each([mixed $doquery = true ]) : mixed
Parameters
$doquery : mixed = true
Return values
mixed —

post_save_once()

Additional data to update after a save call (such as denormalized values in other tables).

public post_save_once([mixed $doquery = true ]) : mixed

In batch updates, is executed once after all records are updated.

Parameters
$doquery : mixed = true
Return values
mixed —

pre_delete()

Additional data to update before a delete call (such as denormalized values in other tables).

public pre_delete([mixed $doquery = true ]) : mixed
Parameters
$doquery : mixed = true
Return values
mixed —

pre_save()

Any checks to run immediately before saving. If returning false, the save will not take place.

public pre_save([mixed $doquery = true ]) : bool
Parameters
$doquery : mixed = true
Return values
bool —

True on success; false if an error occurred

save()

Saves the data from the object into the specified database tables

public save([mixed $doquery = true ][, mixed $delayed = false ][, mixed $affected_rows = false ][, mixed $replace = false ]) : int
Parameters
$doquery : mixed = true
$delayed : mixed = false
$affected_rows : mixed = false
$replace : mixed = false
Return values
int —

Returns the user id of the affected data

send_welcomepm()

Sends a welcome pm to the user

public send_welcomepm([mixed $fromuser = null ][, mixed $recipient = false ]) : mixed
Parameters
$fromuser : mixed = null
$recipient : mixed = false
Return values
mixed —

set()

Sets the supplied data to be part of the data to be saved. Use setr() if a reference to $value is to be passed

public set(mixed $fieldname, mixed $value[, mixed $clean = true ][, mixed $doverify = true ][, mixed $table = null ]) : bool
Parameters
$fieldname : mixed
$value : mixed
$clean : mixed = true
$doverify : mixed = true
$table : mixed = null
Return values
bool —

Returns false if the data is rejected for whatever reason

set_admin()

Inserts or deletes a record from the administrator table if necessary

public set_admin(mixed $userid, mixed $usergroups_changed, mixed $isadmin[, mixed $wasadmin = false ]) : mixed
Parameters
$userid : mixed
$usergroups_changed : mixed
$isadmin : mixed
$wasadmin : mixed = false
Return values
mixed —

set_bitfield()

Sets a bit in a bitfield

public set_bitfield(mixed $fieldname, mixed $bitname, mixed $onoff) : bool
Parameters
$fieldname : mixed
$bitname : mixed
$onoff : mixed
Return values
bool —

set_condition()

Sets the condition to be used in WHERE clauses, based upon the $this->existing data and the $this->condition_constuct condition template.

public set_condition([mixed $params = null ]) : mixed
Parameters
$params : mixed = null
Return values
mixed —

set_dst()

Sets DST options

public set_dst(mixed &$dst) : mixed
Parameters
$dst : mixed
Return values
mixed —

set_existing()

Sets the existing data

public set_existing(mixed $existing) : bool
Parameters
$existing : mixed
Return values
bool —

Returns true if successful

set_failure_callback()

Sets the function to call on an error.

public set_failure_callback(mixed $callback) : mixed
Parameters
$callback : mixed
Return values
mixed —

set_info()

Rather like set(), but sets data into the $this->info array instead. Use setr_info if $value if a reference to value is to be passed

public set_info(mixed $fieldname, mixed $value) : mixed
Parameters
$fieldname : mixed
$value : mixed
Return values
mixed —

set_ladder_usertitle()

Sets the ladder-based or group based user title for a particular amount of posts.

public set_ladder_usertitle(mixed $posts) : false|string
Parameters
$posts : mixed
Return values
false|string —

False if they use a custom title or can't process, the new title otherwise

set_ladder_usertitle_relative()

Sets the ladder usertitle relative to the current number of posts.

public set_ladder_usertitle_relative(mixed $relative_post_offset) : false|string
Parameters
$relative_post_offset : mixed
Return values
false|string —

Same return values as set_ladder_usertitle

set_supermod()

Inserts or deletes a record from the moderators table if necessary

public set_supermod(mixed $userid, mixed $usergroups_changed, mixed $issupermod[, mixed $wassupermod = false ]) : mixed
Parameters
$userid : mixed
$usergroups_changed : mixed
$issupermod : mixed
$wassupermod : mixed = false
Return values
mixed —

set_userfields()

Validates and sets custom user profile fields

public set_userfields(mixed &$values[, mixed $verify = true ][, mixed $all_fields = 'normal' ][, mixed $skip_unset_required_fields = false ]) : string
Parameters
$values : mixed
$verify : mixed = true
$all_fields : mixed = 'normal'
$skip_unset_required_fields : mixed = false
Return values
string —

Textual description of set profile fields (for email phrase)

set_usertitle()

Sets the values for user[usertitle] and user[customtitle]

public set_usertitle(mixed $customtext, mixed $reset, mixed $usergroup, mixed $canusecustomtitle, mixed $isadmin) : mixed
Parameters
$customtext : mixed
$reset : mixed
$usergroup : mixed
$canusecustomtitle : mixed
$isadmin : mixed
Return values
mixed —

setErrorHandler()

Sets the error handler for the object

public setErrorHandler([mixed $errtype = vB_DataManager_Constants::ERRTYPE_STANDARD ]) : bool
Parameters
$errtype : mixed = vB_DataManager_Constants::ERRTYPE_STANDARD
Return values
bool —

setr()

Sets the supplied data to be part of the data to be saved

public setr(mixed $fieldname, mixed &$value[, mixed $clean = true ][, mixed $doverify = true ]) : bool
Parameters
$fieldname : mixed
$value : mixed
$clean : mixed = true
$doverify : mixed = true
Return values
bool —

Returns false if the data is rejected for whatever reason

setr_info()

Rather like set(), but sets reference to data into the $this->info array instead

public setr_info(mixed $fieldname, mixed &$value) : mixed
Parameters
$fieldname : mixed
$value : mixed
Return values
mixed —

update_ban_status()

public update_ban_status(int $userid) : mixed
Parameters
$userid : int
Return values
mixed —

Resets the languageid cookie to the user's profile choice

public update_language_cookie(mixed $userid) : mixed
Parameters
$userid : mixed
Return values
mixed —

update_password_history()

Inserts a record into the password history table if the user's password has changed

public update_password_history(mixed $userid) : mixed
Parameters
$userid : mixed
Return values
mixed —

Resets the session styleid and styleid cookie to the user's profile choice

public update_style_cookie(mixed $userid) : mixed
Parameters
$userid : mixed
Return values
mixed —

Resets the threadedmode cookie to the user's profile choice

public update_threadedmode_cookie(mixed $userid) : mixed
Parameters
$userid : mixed
Return values
mixed —

update_username()

Updates all denormalized tables that contain a 'username' field (or field that holds a username)

public update_username(mixed $userid[, mixed $username = null ]) : mixed
Parameters
$userid : mixed
$username : mixed = null
Return values
mixed —

usergroups_changed()

Checks to see if a user's usergroup memberships have changed

public usergroups_changed() : bool
Return values
bool —

Returns true if memberships have changed

verify()

Verifies that the supplied data is one of the fields used by this object

public verify(mixed $fieldname, mixed &$value[, mixed $doverify = true ]) : bool

Also ensures that the data is of the correct type, and attempts to correct errors in the supplied data.

Parameters
$fieldname : mixed
$value : mixed
$doverify : mixed = true
Return values
bool —

Returns true if the data is one of the fields used by this object, and is the correct type (or has been successfully corrected to be so)

verify_birthday()

Verifies that the provided birthday is valid

public verify_birthday(mixed &$birthday) : bool
Parameters
$birthday : mixed
Return values
bool —

verify_date_array()

Verifies a date array as a valid unix timestamp

public verify_date_array(mixed &$date) : bool
Parameters
$date : mixed
Return values
bool —

verify_displaygroupid()

Verifies that the provided displaygroup ID is valid

public verify_displaygroupid(mixed &$displaygroupid) : bool
Parameters
$displaygroupid : mixed
Return values
bool —

verify_email()

Verifies that an email address is valid

public verify_email(mixed &$email) : bool
Parameters
$email : mixed
Return values
bool —

verify_emailnotification()

Verifies that an email notification choice is valid and workable

public verify_emailnotification(mixed &$emailnotification) : bool
Parameters
$emailnotification : mixed
Return values
bool —

verify_homepage()

Verifies that the user's homepage is valid

public verify_homepage(mixed &$homepage) : bool
Parameters
$homepage : mixed
Return values
bool —

Verifies that a hyperlink is valid

public verify_link(mixed &$link[, mixed $strict = false ]) : bool
Parameters
$link : mixed
$strict : mixed = false
Return values
bool —

verify_maxposts()

Verifies the value of user.maxposts, setting the forum default number if the value is invalid

public verify_maxposts(mixed &$maxposts) : bool
Parameters
$maxposts : mixed
Return values
bool —

verify_md5()

Verifies that a string is an MD5 string

public verify_md5(mixed &$md5) : bool
Parameters
$md5 : mixed
Return values
bool —

verify_msn()

Verifies an MSN handle

public verify_msn(mixed &$msn) : bool
Parameters
$msn : mixed
Return values
bool —

verify_parentemail()

Verifies that the provided parent email address is valid

public verify_parentemail(mixed &$parentemail) : bool
Parameters
$parentemail : mixed
Return values
bool —

verify_referrerid()

Verifies a specified referrer

public verify_referrerid(mixed &$referrerid) : bool
Parameters
$referrerid : mixed
Return values
bool —

verify_reputation()

Verifies a valid reputation value, and sets the appropriate reputation level

public verify_reputation(mixed &$reputation) : bool
Parameters
$reputation : mixed
Return values
bool —

verify_serialized()

Verifies that input is a serialized array (or force an array to serialize)

public verify_serialized(mixed &$data) : bool
Parameters
$data : mixed
Return values
bool —

verify_skype()

Verifies a Skype name

public verify_skype(mixed &$skype) : bool
Parameters
$skype : mixed
Return values
bool —

verify_threadedmode()

Verifies that $threadedmode is a valid value, and sets the appropriate options to support it.

public verify_threadedmode(mixed &$threadedmode) : bool
Parameters
$threadedmode : mixed
Return values
bool —

verify_useremail()

Verifies that everything is hunky dory with the user's email field

public verify_useremail(mixed &$email) : bool
Parameters
$email : mixed
Return values
bool —

verify_usergroupid()

Verifies that the usergroup provided is valid

public verify_usergroupid(mixed &$usergroupid) : bool
Parameters
$usergroupid : mixed
Return values
bool —

verify_userid()

Verifies that the specified user exists

public verify_userid(mixed &$userid) : bool
Parameters
$userid : mixed
Return values
bool —

Returns true if user exists

verify_username()

Verifies that the provided username is valid, and attempts to correct it if it is not valid

public verify_username(mixed &$username) : bool
Parameters
$username : mixed
Return values
bool —

Returns true if the username is valid, or has been corrected to be valid

fetchQueryInfo()

Returns an array with object info required for query methods as first argument

protected fetchQueryInfo(string $tableName) : array<string|int, mixed>
Parameters
$tableName : string
Return values
array<string|int, mixed> —

fetchTableBase()

Fetches the base table name even if the parameter contains the package prefix.

protected fetchTableBase(mixed $tablename) : string
Parameters
$tablename : mixed
Return values
string —

The proper table name.

forceItemInSet()

Checks that data is in the valid array. If it is not, set data to the $default.

protected forceItemInSet(mixed &$data, array<string|int, mixed> $validarray, mixed $default) : bool

This doesn't so much check if the data is valid as cleans the data to make it valid, which a number of validate functions do. This doesn't match the signature for verification functions because it's intended to build verification functions by passing the correct array and default.

Parameters
$data : mixed

-- scalar value

$validarray : array<string|int, mixed>

-- array of valid values

$default : mixed

-- value to set data to if its not in the array this valid must be in the array.

Return values
bool —

-- should always return true as $data will be set to a valid value if used correctly. Will return false if $data and $default are not in $validarray

loadExisting()

protected loadExisting(mixed $keyValue) : mixed
Parameters
$keyValue : mixed
Return values
mixed —

updateDeletedUserData()

Updates data after user being deleted.

protected updateDeletedUserData() : mixed
Return values
mixed —

verify_autosubscribe()

protected verify_autosubscribe(mixed &$data) : mixed
Parameters
$data : mixed
Return values
mixed —

verify_commalist()

Verifies that a variable is a comma-separated list of integers

protected verify_commalist(mixed &$list) : bool
Parameters
$list : mixed
Return values
bool —

verify_customtitle()

protected verify_customtitle(mixed &$data) : mixed
Parameters
$data : mixed
Return values
mixed —

verify_ipaddress()

Verifies an IP address

protected verify_ipaddress(mixed &$ipaddress) : bool
Parameters
$ipaddress : mixed
Return values
bool —

verify_list()

Creates a valid string of comma-separated integers

protected verify_list(mixed &$list[, mixed $glue = ',' ][, mixed $dropzero = false ]) : bool
Parameters
$list : mixed
$glue : mixed = ','
$dropzero : mixed = false
Return values
bool —

verify_nonempty()

Verifies that a string is not empty

protected verify_nonempty(mixed &$string) : bool
Parameters
$string : mixed
Return values
bool —

verify_nonzero()

Verifies that an integer is greater than zero

protected verify_nonzero(mixed &$int) : bool
Parameters
$int : mixed
Return values
bool —

verify_nonzero_or_negone()

Verifies that an integer is greater than zero or the special value -1 this rule matches a fair number of id columns

protected verify_nonzero_or_negone(mixed &$int) : bool
Parameters
$int : mixed
Return values
bool —

verify_privacy_options()

Verifies that privacy options are valid

protected verify_privacy_options(mixed $pOptions) : mixed
Parameters
$pOptions : mixed
Return values
mixed —

verify_showbirthday()

protected verify_showbirthday(mixed &$data) : mixed
Parameters
$data : mixed
Return values
mixed —

verify_showvbcode()

protected verify_showvbcode(mixed &$data) : mixed
Parameters
$data : mixed
Return values
mixed —

verify_spacelist()

Verifies that a variable is a space-separated list of integers

protected verify_spacelist(mixed &$list) : bool
Parameters
$list : mixed
Return values
bool —

getUsertitleFromPosts()

private getUsertitleFromPosts(mixed $posts) : mixed
Parameters
$posts : mixed
Return values
mixed —

set_registration_defaults()

Sets registration defaults

private set_registration_defaults() : mixed
Return values
mixed —

update_birthday_datastore()

Rebuilds the birthday datastore if the user's birthday has changed

private update_birthday_datastore(mixed $userid) : mixed
Parameters
$userid : mixed
Return values
mixed —

update_subscriptions()

Updates user subscribed threads/forums to reflect new permissions

private update_subscriptions(mixed $userid) : mixed
Parameters
$userid : mixed
Return values
mixed —

Search results