diff --git a/assets/dev/js/frontend/utils/video-api/youtube-loader.js b/assets/dev/js/frontend/utils/video-api/youtube-loader.js index 5bfed84c9b48..c9555c1650b1 100644 --- a/assets/dev/js/frontend/utils/video-api/youtube-loader.js +++ b/assets/dev/js/frontend/utils/video-api/youtube-loader.js @@ -6,7 +6,7 @@ export default class YoutubeLoader extends BaseLoader { } getURLRegex() { - return /^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?vi?=|(?:embed|v|vi|user)\/))([^?&"'>]+)/; + return /^(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?vi?=|(?:embed|v|vi|user|shorts)\/))([^?&"'>]+)/; } isApiLoaded() { diff --git a/assets/dev/scss/frontend/conditionals/e-swiper.scss b/assets/dev/scss/frontend/conditionals/e-swiper.scss index 08d24cb37027..bdda2c7cdc60 100644 --- a/assets/dev/scss/frontend/conditionals/e-swiper.scss +++ b/assets/dev/scss/frontend/conditionals/e-swiper.scss @@ -116,6 +116,14 @@ } } + .elementor-swiper { + position: relative; + } + + .elementor-main-swiper { + position: static; + } + &.elementor-arrows-position- { &outside { diff --git a/changelog.txt b/changelog.txt index d0102aa3c6c7..3b7787300082 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,5 +1,13 @@ == Changelog == += 3.25.11 - 2024-12-10 = + +* Tweak: Updated `eicons` library to v5.34.0 +* Security Fix: Improved code security enforcement in Image widget +* Security Fix: Improved code security enforcement in Connect process +* Security Fix: Improved code security enforcement in Progress bar widget +* Fix: YouTube video in lightbox is not presented as expected in Video widget ([#29241](https://github.com/elementor/elementor/issues/29241)) + = 3.25.10 - 2024-11-24 = * Security Fix: Improved code security enforcement in Typography control diff --git a/core/common/modules/connect/admin.php b/core/common/modules/connect/admin.php index 228394da8775..41e9daeb1000 100644 --- a/core/common/modules/connect/admin.php +++ b/core/common/modules/connect/admin.php @@ -29,6 +29,12 @@ public function register_admin_menu( Admin_Menu_Manager $admin_menu ) { * @access public */ public function on_load_page() { + if ( ! $this->user_has_enough_permissions() ) { + wp_die( 'You do not have sufficient permissions to access this page.', 'You do not have sufficient permissions to access this page.', [ + 'back_link' => true, + ] ); + } + if ( isset( $_GET['action'], $_GET['app'] ) ) { $manager = Plugin::$instance->common->get_component( 'connect' ); @@ -59,6 +65,18 @@ public function on_load_page() { } } + private function user_has_enough_permissions() { + if ( current_user_can( 'manage_options' ) ) { + return true; + } + + if ( 'library' === Utils::get_super_global_value( $_GET, 'app' ) ) { + return current_user_can( 'edit_posts' ); + } + + return false; + } + /** * @since 2.3.0 * @access public diff --git a/includes/embed.php b/includes/embed.php index 38f19c0d835f..f5579613a751 100644 --- a/includes/embed.php +++ b/includes/embed.php @@ -28,7 +28,7 @@ class Embed { * @var array Provider URL structure regex. */ private static $provider_match_masks = [ - 'youtube' => '/^.*(?:youtu\.be\/|youtube(?:-nocookie)?\.com\/(?:(?:watch)?\?(?:.*&)?vi?=|(?:embed|v|vi|user)\/))([^\?&\"\'>]+)/', + 'youtube' => '/^.*(?:youtu\.be\/|youtube(?:-nocookie)?\.com\/(?:(?:watch)?\?(?:.*&)?vi?=|(?:embed|v|vi|user|shorts)\/))([^\?&\"\'>]+)/', 'vimeo' => '/^.*vimeo\.com\/(?:[a-z]*\/)*([0-9]{6,11})[?]?.*/', 'dailymotion' => '/^.*dailymotion.com\/(?:video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/', 'videopress' => [ diff --git a/includes/managers/image.php b/includes/managers/image.php index 9b7e2587388d..2d0fe24d5132 100644 --- a/includes/managers/image.php +++ b/includes/managers/image.php @@ -29,7 +29,7 @@ class Images_Manager { * @access public */ public function get_images_details() { - if ( ! current_user_can( Editor::EDITING_CAPABILITY ) ) { + if ( ! current_user_can( 'publish_posts' ) ) { wp_send_json_error( 'Permission denied' ); } diff --git a/includes/widgets/progress.php b/includes/widgets/progress.php index fbc465bb55e0..689d3e6ace78 100644 --- a/includes/widgets/progress.php +++ b/includes/widgets/progress.php @@ -423,13 +423,13 @@ protected function render() { if ( ! Utils::is_empty( $settings['title'] ) ) { ?> < print_render_attribute_string( 'title' ); ?>> - print_unescaped_setting( 'title' ); ?> + >