Manual:Hooks/DeleteUnknownPreferences
DeleteUnknownPreferences | |
---|---|
Available from version 1.31.0 Called by the cleanupPreferences.php maintenance script to build a WHERE clause with which to delete preferences that are not known about. | |
Define function: | public static function onDeleteUnknownPreferences( array &$where, \Wikimedia\Rdbms\IDatabase $db ) { ... }
|
Attach hook: | In extension.json:
{
"Hooks": {
"DeleteUnknownPreferences": "MediaWiki\\Extension\\MyExtension\\Hooks::onDeleteUnknownPreferences"
}
}
|
Called from: | File(s): ../maintenance/cleanupPreferences.php |
Interface: | DeleteUnknownPreferencesHook.php |
For more information about attaching hooks, see Manual:Hooks .
For examples of extensions using this hook, see Category:DeleteUnknownPreferences extensions.
This hook is called by the cleanupPreferences.php maintenance script to build a WHERE clause with which to delete preferences that are not known about. This hook is used by extensions that have dynamically-named preferences that should not be deleted in the usual cleanup process. For example, the Gadgets extension creates preferences prefixed with 'gadget-', and so anything with that prefix is excluded from the deletion.
Arguments
edit&where
: An array that will be passed as the $cond parameter to IDatabase::select() to determine what will be deleted from the user_properties table.$db
: The IDatabase object, useful for accessing $db->buildLike() etc.
Example
editTo prevent the deletion of any preference whose name ends in -custom-pref
:
namespace MediaWiki\Extension\MyExtension;
class MyExtensionHooks {
public static function onDeleteUnknownPreferences( &$where, \Wikimedia\Rdbms\IDatabase $db ) {
$where[] = 'up_property NOT ' . $db->buildLike( $db->anyString(), '-custom-pref' );
}
}