From cbaa6eb27f6a7be08ea967d3026dc9d8f78bd698 Mon Sep 17 00:00:00 2001 From: Zaharia Alexandru Date: Mon, 14 Aug 2023 16:28:04 +0300 Subject: [PATCH 1/2] new: Added 4 urls for all types of screenshots. issue: https://github.com/bagrinsergiu/blox-editor/issues/23680 --- editor/editor/editor.php | 24 ++++++++++++++++-------- editor/screenshot/manager.php | 27 +++++++++++++++++++++++++-- 2 files changed, 41 insertions(+), 10 deletions(-) diff --git a/editor/editor/editor.php b/editor/editor/editor.php index 1279b3d22a..a69667d13c 100755 --- a/editor/editor/editor.php +++ b/editor/editor/editor.php @@ -358,19 +358,27 @@ private function addProjectData( $config, $context ) { private function getApiConfigFields( $config, $context ) { - $config['api'] = [ - 'media' => [ + + $screenshotManager = new Brizy_Editor_Screenshot_Manager( $this->urlBuilder ); + $config['api'] = [ + 'media' => [ 'mediaResizeUrl' => home_url() ], 'customFile' => [ 'customFileUrl' => home_url() ], - 'templates' => [ - 'kitsUrl' => Brizy_Config::getEditorTemplatesUrl('kits'), - 'layoutsUrl' => Brizy_Config::getEditorTemplatesUrl('layouts'), - 'popupsUrl' => Brizy_Config::getEditorTemplatesUrl('popups'), - 'storiesUrl' => Brizy_Config::getEditorTemplatesUrl('stories') - ] + 'screenshots' => [ + 'normalScreenshotUrl' => $screenshotManager->getScreenshotBaseUrl( Brizy_Editor_Screenshot_Manager::BLOCK_TYPE_NORMAL, $this->post->getWpPostId() ), + 'globalScreenshotUrl' => $screenshotManager->getScreenshotBaseUrl( Brizy_Editor_Screenshot_Manager::BLOCK_TYPE_GLOBAL, $this->post->getWpPostId() ), + 'layoutScreenshotUrl' => $screenshotManager->getScreenshotBaseUrl( Brizy_Editor_Screenshot_Manager::BLOCK_TYPE_LAYOUT, $this->post->getWpPostId() ), + 'savedScreenshotUrl' => $screenshotManager->getScreenshotBaseUrl( Brizy_Editor_Screenshot_Manager::BLOCK_TYPE_SAVED, $this->post->getWpPostId() ), + ], + 'templates' => [ + 'kitsUrl' => Brizy_Config::getEditorTemplatesUrl( 'kits' ), + 'layoutsUrl' => Brizy_Config::getEditorTemplatesUrl( 'layouts' ), + 'popupsUrl' => Brizy_Config::getEditorTemplatesUrl( 'popups' ), + 'storiesUrl' => Brizy_Config::getEditorTemplatesUrl( 'stories' ) + ] ]; return $config; diff --git a/editor/screenshot/manager.php b/editor/screenshot/manager.php index 289771fb3b..6b49a9a05e 100644 --- a/editor/screenshot/manager.php +++ b/editor/screenshot/manager.php @@ -31,7 +31,7 @@ public function __construct( Brizy_Editor_UrlBuilder $urlBuilder ) { * @return bool */ public function saveScreenshot( $screenUid, $blockType, $imageContent, $postId ) { - $path = $this->getScreenshotPath( $screenUid, $blockType, $postId ); + $path = $this->getScreenshotPath( $blockType, $postId ); if(!$this->validateImageContent( $imageContent )) { throw new Exception('Invalid image content'); @@ -51,7 +51,7 @@ public function getScreenshot( $screenUid, $postId = null ) { $types = array( self::BLOCK_TYPE_NORMAL, self::BLOCK_TYPE_GLOBAL, self::BLOCK_TYPE_SAVED, self::BLOCK_TYPE_LAYOUT ); foreach ( $types as $type ) { - $filePath = $this->getScreenshotPath( $screenUid, $type, $postId ); + $filePath = $this->getScreenshotPath( $type, $postId ); $filePath = $filePath . DIRECTORY_SEPARATOR . "{$screenUid}.jpeg"; @@ -88,6 +88,29 @@ private function getScreenshotPath( $screenUID, $blockType, $postID ) { return $folderPath; } + public function getScreenshotBaseUrl( $blockType, $postID ) { + + switch ( $blockType ) { + case self::BLOCK_TYPE_NORMAL: + $this->urlBuilder->set_post_id( $postID ); + $folderPath = $this->urlBuilder->page_upload_url( 'blockThumbnails' ); + break; + case self::BLOCK_TYPE_GLOBAL: + $folderPath = $this->urlBuilder->brizy_upload_url( 'blockThumbnails' . DIRECTORY_SEPARATOR . 'global' ); + break; + case self::BLOCK_TYPE_SAVED: + $folderPath = $this->urlBuilder->brizy_upload_url( 'blockThumbnails' . DIRECTORY_SEPARATOR . 'saved' ); + break; + case self::BLOCK_TYPE_LAYOUT: + $folderPath = $this->urlBuilder->brizy_upload_url( 'blockThumbnails' . DIRECTORY_SEPARATOR . 'layout' ); + break; + default: + return null; + } + + return $folderPath; + } + /** * @param $content From c93a5174a9bc3cc43d591323847d5d9b271aab9f Mon Sep 17 00:00:00 2001 From: Zaharia Alexandru Date: Thu, 17 Aug 2023 15:05:17 +0300 Subject: [PATCH 2/2] new: Added prefix in editor client config issue: https://github.com/bagrinsergiu/blox-editor/issues/23680 --- editor/editor/editor.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/editor/editor/editor.php b/editor/editor/editor.php index a69667d13c..7b995df30a 100755 --- a/editor/editor/editor.php +++ b/editor/editor/editor.php @@ -82,13 +82,14 @@ public function getClientConfig( $editorConfig, $context ) { } $config = [ - 'hash' => wp_create_nonce( Brizy_Editor_API::nonce ), - 'editorVersion' => BRIZY_EDITOR_VERSION, - 'url' => set_url_scheme( admin_url( 'admin-ajax.php' ) ), - 'actions' => $this->getApiActions(), - 'pageId' => $this->post->getWpPostId(), - 'collectionTypes' => $editorConfig['wp']['postLoopSources'] - ]; + 'prefix' => Brizy_Editor::prefix(), + 'hash' => wp_create_nonce( Brizy_Editor_API::nonce ), + 'editorVersion' => BRIZY_EDITOR_VERSION, + 'url' => set_url_scheme( admin_url( 'admin-ajax.php' ) ), + 'actions' => $this->getApiActions(), + 'pageId' => $this->post->getWpPostId(), + 'collectionTypes' => $editorConfig['wp']['postLoopSources'] + ]; $config = $this->getApiConfigFields( $config, $context );