PUM_Upgrade_Registry
Implements a registry for core upgrade routines.
Description Description
See also See also
- PUM_Batch_Process_Registry
Warning: preg_match(): Compilation failed: invalid range in character class at offset 24 in /mnt/data/home/502433.cloudwaysapps.com/rhbymdevka/public_html/wp-content/themes/wporg-developer/inc/formatting.php on line 207
Source Source
File: classes/Upgrade/Registry.php
class PUM_Upgrade_Registry extends PUM_Batch_Process_Registry { /** * @var string Currently installed version. */ public $version; /** * @var string Upgraded from version. */ public $upgraded_from; /** * @var string Initially installed version. */ public $initial_version; /** * @var PUM_Upgrade_Registry */ public static $instance; /** * @return PUM_Upgrade_Registry */ public static function instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); add_action( 'init', array( self::$instance, 'init' ), -9999 ); } return self::$instance; } /** * Initializes the upgrade registry. */ public function init() { $this->register_upgrades(); /** * Fires during instantiation of the batch processing registry. * * @param PUM_Upgrade_Registry $this PUM_Abstract_Registry instance. */ do_action( 'pum_upgrade_process_init', $this ); } /** * Registers upgrade routines. * * @see PUM_Utils_Upgrades::add_routine() */ private function register_upgrades() { /** * Fires during instantiation of the batch processing registry allowing proper registration of upgrades. * * @param PUM_Upgrade_Registry $this PUM_Abstract_Registry instance. */ do_action( 'pum_register_upgrades', $this ); } /** * Adds an upgrade to the registry. * * @param int $upgrade_id upgrade ID. * @param array $attributes { * Upgrade attributes. * * @type string $class upgrade handler class. * @type string $file upgrade handler class file. * } * * @return true Always true. */ public function add_upgrade( $upgrade_id, $attributes ) { $attributes = wp_parse_args( $attributes, array( 'rules' => array(), 'class' => '', 'file' => '', ) ); // Log an error if it's too late to register the process. if ( did_action( 'pum_upgrade_process_init' ) ) { PUM_Utils_Logging::instance()->log( sprintf( 'The %s upgrade process was registered too late. Registrations must occur while/before <code>pum_upgrade_process_init</code> fires.', esc_html( $upgrade_id ) ) ); return false; } return $this->register_process( $upgrade_id, $attributes ); } /** * Removes an upgrade from the registry by ID. * * @param string $upgrade_id upgrade ID. */ public function remove_upgrade( $upgrade_id ) { parent::remove_process( $upgrade_id ); } /** * Retrieves registered upgrades. * * @return array The list of registered upgrades. */ public function get_upgrades() { return parent::get_items(); } }
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
1.7.0 | Introduced. |
Methods Methods
- add_upgrade — Adds an upgrade to the registry.
- get_upgrades — Retrieves registered upgrades.
- init — Initializes the upgrade registry.
- instance
- register_upgrades — Registers upgrade routines.
- remove_upgrade — Removes an upgrade from the registry by ID.