Keine Beschreibung

PostEditorBlock.php 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace MailPoet\PostEditorBlocks;
  3. if (!defined('ABSPATH')) exit;
  4. use MailPoet\Config\Env;
  5. use MailPoet\Config\Renderer;
  6. use MailPoet\WP\Functions as WPFunctions;
  7. class PostEditorBlock {
  8. /** @var Renderer */
  9. private $renderer;
  10. /** @var WPFunctions */
  11. private $wp;
  12. /** @var SubscriptionFormBlock */
  13. private $subscriptionFormBlock;
  14. public function __construct(
  15. Renderer $renderer,
  16. WPFunctions $wp,
  17. SubscriptionFormBlock $subscriptionFormBlock
  18. ) {
  19. $this->renderer = $renderer;
  20. $this->wp = $wp;
  21. $this->subscriptionFormBlock = $subscriptionFormBlock;
  22. }
  23. public function init() {
  24. $this->subscriptionFormBlock->init();
  25. if (is_admin()) {
  26. $this->initAdmin();
  27. } else {
  28. $this->initFrontend();
  29. }
  30. }
  31. private function initAdmin() {
  32. $this->wp->addAction('enqueue_block_editor_assets', [$this, 'enqueueAssets']);
  33. $this->subscriptionFormBlock->initAdmin();
  34. }
  35. public function enqueueAssets() {
  36. $this->wp->wpEnqueueScript(
  37. 'mailpoet-block-form-block-js',
  38. Env::$assetsUrl . '/dist/js/' . $this->renderer->getJsAsset('post_editor_block.js'),
  39. ['wp-blocks', 'wp-components', 'wp-server-side-render', 'wp-block-editor'],
  40. Env::$version,
  41. true
  42. );
  43. $this->wp->wpEnqueueStyle(
  44. 'mailpoetblock-form-block-css',
  45. Env::$assetsUrl . '/dist/css/' . $this->renderer->getCssAsset('mailpoet-post-editor-block.css'),
  46. ['wp-edit-blocks'],
  47. Env::$version
  48. );
  49. }
  50. private function initFrontend() {
  51. $this->subscriptionFormBlock->initFrontend();
  52. }
  53. }