Documentation

Activator
in package
Uses UtilsProvider, Activator

The activator class handles the plugin relevant activation hooks: Uninstall, activation, deactivation and installation. The "installation" means installing needed database tables.

Table of Contents

Constants

CHILD_UDF_NAME  = 'fn_realmedialibrary_childs'
DB_CHILD_QUERY_SUPPORTED  = '_cqs'

Properties

$charsetCollate  : string
See `$this->getCharsetCollate()`.
$childSupportCurrentType  : mixed

Methods

activate()  : mixed
Method gets fired when the user activates the plugin.
checkChildQuery()  : mixed
Check if the current instance type works as expected.
checkDirtyFunction()  : bool
Checks if the Database supports functions but the function is not yet created (due to exports for example).
createChildQueryFunction()  : mixed
Create a MySQL function wp_realmedialibrary_childs to read recursively children of a folder.
dbDelta()  : mixed
Install tables, stored procedures or whatever in the database.
deactivate()  : mixed
Method gets fired when the user deactivates the plugin.
getCharsetCollate()  : mixed
Get the charset collate definition for the SQL command. Similar to `$wpdb->get_charset_collate()` but it ensures to **not** mix the collates of our plugin database tables.
getDatabaseVersion()  : mixed
Get the current persisted database version.
getFirstDatabaseTableName()  : mixed
getMaxIndexLength()  : mixed
Indexes have a maximum size of 767 bytes. Historically, we haven't need to be concerned about that.
getPluginConstantPrefix()  : string
Get the prefix of this plugin so composer packages can dynamically build other constant values on it.
getPreviousDatabaseVersions()  : array<string|int, string>
Get a list of previous installed database versions.
install()  : bool
Run an installation or dbDelta within a callable.
isMigrationLocked()  : mixed
Check if the migration is locked. It uses a time span of 10 minutes (like Yoast SEO plugin).
persistPreviousVersion()  : mixed
Persist the previous installed versions of this plugin so we can e.g. start migrations.
registerCapabilities()  : mixed
Register custom capabilities with e.g. `wp_roles()` and `->add_cap()`. If you add capabilities, please also remove them through the `deactivate` method.
removeColumnsFromTable()  : mixed
`dbDelta` does currently not support removing columns from tables. For this, we need to read the structure of the table and remove the column accordingly on existence.
removeIndicesFromTable()  : mixed
`dbDelta` does currently not support removing indices from tables so updating e.g. `UNIQUE KEYS` does not work.
removePreviousPersistedVersions()  : mixed
Remove the previous persisted versions from the saved option. This is useful if you have successfully finished your migration.
removeTables()  : mixed
Remove database tables if they exist.
supportsChildQuery()  : bool
Checks if the current database supports functions or recursive drill-down query.

Constants

CHILD_UDF_NAME

public mixed CHILD_UDF_NAME = 'fn_realmedialibrary_childs'

DB_CHILD_QUERY_SUPPORTED

public mixed DB_CHILD_QUERY_SUPPORTED = '_cqs'

Properties

$charsetCollate

See `$this->getCharsetCollate()`.

private string $charsetCollate = null

$childSupportCurrentType

private mixed $childSupportCurrentType = null

Methods

activate()

Method gets fired when the user activates the plugin.

public activate() : mixed

checkChildQuery()

Check if the current instance type works as expected.

public checkChildQuery() : mixed

checkDirtyFunction()

Checks if the Database supports functions but the function is not yet created (due to exports for example).

public checkDirtyFunction(string $function_name) : bool
Parameters
$function_name : string
Return values
bool

createChildQueryFunction()

Create a MySQL function wp_realmedialibrary_childs to read recursively children of a folder.

public createChildQueryFunction() : mixed

dbDelta()

Install tables, stored procedures or whatever in the database.

public dbDelta(bool $errorlevel) : mixed

This method is always called when the version bumps up or for the first initial activation.

Parameters
$errorlevel : bool

If true throw errors

deactivate()

Method gets fired when the user deactivates the plugin.

public deactivate() : mixed

getDatabaseVersion()

Get the current persisted database version.

public getDatabaseVersion() : mixed

getFirstDatabaseTableName()

public getFirstDatabaseTableName() : mixed

getMaxIndexLength()

Indexes have a maximum size of 767 bytes. Historically, we haven't need to be concerned about that.

public getMaxIndexLength() : mixed

As of 4.2, however, we moved to utf8mb4, which uses 4 bytes per character. This means that an index which used to have room for floor(767/3) = 255 characters, now only has room for floor(767/4) = 191 characters.

Tags
see
https://github.com/WordPress/WordPress/blob/5f9cf0141e2e32f47ae7f809b7a6bbc0d4bd4ef2/wp-admin/includes/schema.php#L48-L53
codeCoverageIgnore

getPluginConstantPrefix()

Get the prefix of this plugin so composer packages can dynamically build other constant values on it.

public getPluginConstantPrefix() : string
Tags
codeCoverageIgnore

It only returns a string with the constant prefix

Return values
string

getPreviousDatabaseVersions()

Get a list of previous installed database versions.

public getPreviousDatabaseVersions() : array<string|int, string>
Return values
array<string|int, string>

install()

Run an installation or dbDelta within a callable.

public install([bool $errorlevel = false ][, callable $installThisCallable = null ]) : bool
Parameters
$errorlevel : bool = false

Set true to throw errors.

$installThisCallable : callable = null

Set a callable to install this one instead of the default.

Return values
bool

Returns false when e.g. the migration got locked

persistPreviousVersion()

Persist the previous installed versions of this plugin so we can e.g. start migrations.

public persistPreviousVersion() : mixed

registerCapabilities()

Register custom capabilities with e.g. `wp_roles()` and `->add_cap()`. If you add capabilities, please also remove them through the `deactivate` method.

public registerCapabilities() : mixed

removeColumnsFromTable()

`dbDelta` does currently not support removing columns from tables. For this, we need to read the structure of the table and remove the column accordingly on existence.

public removeColumnsFromTable(string $tableName, array<string|int, string> $columnNames) : mixed
Parameters
$tableName : string

This is not escaped, so use only the result of $this->getTableName()!

$columnNames : array<string|int, string>

removeIndicesFromTable()

`dbDelta` does currently not support removing indices from tables so updating e.g. `UNIQUE KEYS` does not work.

public removeIndicesFromTable(string $tableName, array<string|int, array<string|int, mixed>> $indexConfigurations) : mixed

For this, you need to add a new index name and remove the old one.

The index needs to be configured like this:

$indexConfigurations = [
  'PRIMARY' = ['myColumn1', 'myColumn2']
]
Parameters
$tableName : string

This is not escaped, so use only the result of $this->getTableName()!

$indexConfigurations : array<string|int, array<string|int, mixed>>
Tags
see
https://whtly.com/2010/04/02/wp-dbdelta-function-cannot-modify-unique-keys/

removePreviousPersistedVersions()

Remove the previous persisted versions from the saved option. This is useful if you have successfully finished your migration.

public removePreviousPersistedVersions(callable $filter) : mixed
Parameters
$filter : callable

removeTables()

Remove database tables if they exist.

public removeTables(array<string|int, string> $tableNames) : mixed
Parameters
$tableNames : array<string|int, string>

This is not escaped, so use only the result of $this->getTableName()!

supportsChildQuery()

Checks if the current database supports functions or recursive drill-down query.

public supportsChildQuery([bool $force = false ][, string $type = 'legacy' ]) : bool
Parameters
$force : bool = false
$type : string = 'legacy'

Can be 'legacy' or 'function'.

Tags
see
wp_rml_all_children_sql_supported
Return values
bool

        
On this page

Search results