ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
wp-includes
2026-09-16 07:48:18
Editing: promotion-data.php
Cancel
Save Changes
<?php namespace Elementor\Modules\Promotions; use Elementor\Core\Utils\Promotions\Filtered_Promotions_Manager; use Elementor\Includes\EditorAssetsAPI; use Elementor\Utils; class PromotionData { protected EditorAssetsAPI $editor_assets_api; public function __construct( EditorAssetsAPI $editor_assets_api ) { $this->editor_assets_api = $editor_assets_api; } public function get_promotion_data( $force_request = false ): array { $assets_data = $this->transform_assets_data( $force_request ); return [ Utils::ANIMATED_HEADLINE => $this->get_animated_headline_data( $assets_data ), Utils::VIDEO_PLAYLIST => $this->get_video_playlist_data( $assets_data ), Utils::CTA => $this->get_cta_button_data( $assets_data ), Utils::IMAGE_CAROUSEL => $this->get_image_carousel_data( $assets_data ), Utils::TESTIMONIAL_WIDGET => $this->get_testimonial_widget_data( $assets_data ), ]; } public function get_v4_promotions_data( $force_request = false ): array { $assets_data = $this->editor_assets_api->get_assets_data( $force_request ); if ( empty( $assets_data ) ) { return []; } $promotions = []; foreach ( $assets_data as $item ) { foreach ( $item as $key => $promotion ) { $promotions[ $key ] = [ 'title' => esc_html( $promotion['title'] ?? '' ), 'content' => esc_html( $promotion['content'] ?? '' ), 'ctaUrl' => esc_url( $promotion['ctaUrl'] ?? '' ), 'image' => esc_url( $promotion['image'] ?? '' ), ]; } } return $promotions; } private function transform_assets_data( $force_request = false ) { $assets_data = $this->editor_assets_api->get_assets_data( $force_request ); $transformed_data = []; foreach ( $assets_data as $asset ) { $transformed_data[ $asset['id'] ] = $asset['imageSrc']; } return $transformed_data; } private function get_animated_headline_data( $assets_data ) { $data = [ 'image' => esc_url( $assets_data[ Utils::ANIMATED_HEADLINE ] ?? '' ), 'image_alt' => esc_attr__( 'Upgrade', 'elementor' ), 'title' => esc_html__( 'Bring Headlines to Life', 'elementor' ), 'description' => [ esc_html__( 'Highlight key messages dynamically.', 'elementor' ), esc_html__( 'Apply rotating effects to text.', 'elementor' ), esc_html__( 'Fully customize your headlines.', 'elementor' ), ], 'upgrade_text' => esc_html__( 'Upgrade Now', 'elementor' ), 'upgrade_url' => 'https://go.elementor.com/go-pro-heading-widget-control/', ]; return $this->filter_data( Utils::ANIMATED_HEADLINE, $data ); } private function get_video_playlist_data( $assets_data ) { $data = [ 'image' => esc_url( $assets_data[ Utils::VIDEO_PLAYLIST ] ?? '' ), 'image_alt' => esc_attr__( 'Upgrade', 'elementor' ), 'title' => esc_html__( 'Showcase Video Playlists', 'elementor' ), 'description' => [ esc_html__( 'Embed videos with full control.', 'elementor' ), esc_html__( 'Adjust layout and playback settings.', 'elementor' ), esc_html__( 'Seamlessly customize video appearance.', 'elementor' ), ], 'upgrade_text' => esc_html__( 'Upgrade Now', 'elementor' ), 'upgrade_url' => 'https://go.elementor.com/go-pro-video-widget-control/', ]; return $this->filter_data( Utils::VIDEO_PLAYLIST, $data ); } private function get_cta_button_data( $assets_data ) { $data = [ 'image' => esc_url( $assets_data[ Utils::CTA ] ?? '' ), 'image_alt' => esc_attr__( 'Upgrade', 'elementor' ), 'title' => esc_html__( 'Boost Conversions with CTAs', 'elementor' ), 'description' => [ esc_html__( 'Combine text, buttons, and images.', 'elementor' ), esc_html__( 'Add hover animations and CSS effects.', 'elementor' ), esc_html__( 'Create unique, interactive designs.', 'elementor' ), ], 'upgrade_text' => esc_html__( 'Upgrade Now', 'elementor' ), 'upgrade_url' => 'https://go.elementor.com/go-pro-button-widget-control/', ]; return $this->filter_data( Utils::CTA, $data ); } private function get_image_carousel_data( $assets_data ) { $data = [ 'image' => esc_url( $assets_data[ Utils::IMAGE_CAROUSEL ] ?? '' ), 'image_alt' => esc_attr__( 'Upgrade', 'elementor' ), 'title' => esc_html__( 'Design Custom Carousels', 'elementor' ), 'description' => [ esc_html__( 'Create flexible custom carousels.', 'elementor' ), esc_html__( 'Adjust transitions and animations.', 'elementor' ), esc_html__( 'Showcase multiple items with style.', 'elementor' ), ], 'upgrade_text' => esc_html__( 'Upgrade Now', 'elementor' ), 'upgrade_url' => 'https://go.elementor.com/go-pro-image-carousel-widget-control/', ]; return $this->filter_data( Utils::IMAGE_CAROUSEL, $data ); } private function get_testimonial_widget_data( $assets_data ) { $data = [ 'image' => esc_url( $assets_data[ Utils::TESTIMONIAL_WIDGET ] ?? '' ), 'image_alt' => esc_attr__( 'Upgrade', 'elementor' ), 'title' => esc_html__( 'Upgrade Your Testimonials', 'elementor' ), 'description' => [ esc_html__( 'Display reviews in a rotating carousel.', 'elementor' ), esc_html__( 'Boost credibility with dynamic testimonials.', 'elementor' ), esc_html__( 'Customize layouts for visual appeal.', 'elementor' ), ], 'upgrade_text' => esc_html__( 'Upgrade Now', 'elementor' ), 'upgrade_url' => 'https://go.elementor.com/go-pro-testimonial-widget-control/', ]; return $this->filter_data( Utils::TESTIMONIAL_WIDGET, $data ); } private function filter_data( $widget_name, $asset_data ): array { return Filtered_Promotions_Manager::get_filtered_promotion_data( $asset_data, "elementor/widgets/{$widget_name}/custom_promotion", 'upgrade_url' ); } }
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete