From 23dfd11d394eb64a1c42795aa5e86866df3e005c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Menrath?= Date: Fri, 17 Nov 2023 16:28:04 +0100 Subject: [PATCH] initial wip based on how elementor does it --- includes/base/class-base-transformer.php | 28 +++++++ .../managers/class-transformers-manager.php | 74 +++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 includes/base/class-base-transformer.php create mode 100644 includes/managers/class-transformers-manager.php diff --git a/includes/base/class-base-transformer.php b/includes/base/class-base-transformer.php new file mode 100644 index 0000000..7c2d445 --- /dev/null +++ b/includes/base/class-base-transformer.php @@ -0,0 +1,28 @@ +require_files(); + + add_action( 'elementor/ajax/register_actions', [ $this, 'register_ajax_actions' ] ); + } + + /** + * Register a transformer. + * + * @since version_number_transformer_management_placeholder + * @access public + * + * @param \ActivityPub\Base_Transformer $transformer_instance ActivityPub Transformer. + * + * @return bool True if the transformer was registered. + */ + public function register( Base_Transformer $control_instance, $control_id = null ) { + + // TODO: For BC. Remove in the future. + if ( $control_id ) { + Plugin::instance()->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_argument( + '$control_id', '3.5.0' + ); + } else { + $control_id = $control_instance->get_type(); + } + + $this->controls[ $control_id ] = $control_instance; + } + +} \ No newline at end of file