golden hour
/home/godaofbq/dev.hyperredbed.com/wp-content/plugins/elementor/includes/controls
⬆️ Go Up
Upload
File/Folder
Size
Actions
alert.php
1.79 KB
Del
OK
animation.php
4.76 KB
Del
OK
base-data.php
3.66 KB
Del
OK
base-icon-font.php
628 B
Del
OK
base-multiple.php
2.03 KB
Del
OK
base-ui.php
516 B
Del
OK
base-units.php
3.5 KB
Del
OK
base.php
3.08 KB
Del
OK
box-shadow.php
3.39 KB
Del
OK
button.php
1.68 KB
Del
OK
choose.php
2.21 KB
Del
OK
code.php
1.99 KB
Del
OK
color.php
2.04 KB
Del
OK
date-time.php
2.04 KB
Del
OK
deprecated-notice.php
2.27 KB
Del
OK
dimensions.php
4.94 KB
Del
OK
divider.php
829 B
Del
OK
exit-animation.php
2.54 KB
Del
OK
font.php
2.22 KB
Del
OK
gallery.php
5.15 KB
Del
OK
gaps.php
1.62 KB
Del
OK
groups
-
Del
OK
heading.php
1.32 KB
Del
OK
hidden.php
948 B
Del
OK
hover-animation.php
4.32 KB
Del
OK
icon.php
31.33 KB
Del
OK
icons.php
7.67 KB
Del
OK
image-dimensions.php
3.71 KB
Del
OK
media.php
12.82 KB
Del
OK
notice.php
4.07 KB
Del
OK
number.php
2.09 KB
Del
OK
popover-toggle.php
2.66 KB
Del
OK
raw-html.php
1.48 KB
Del
OK
repeater.php
4.94 KB
Del
OK
section.php
1.32 KB
Del
OK
select.php
2.56 KB
Del
OK
select2.php
2.72 KB
Del
OK
slider.php
3.49 KB
Del
OK
structure.php
2.46 KB
Del
OK
switcher.php
2.08 KB
Del
OK
tab.php
1.01 KB
Del
OK
tabs.php
944 B
Del
OK
text-shadow.php
3.13 KB
Del
OK
text.php
2.1 KB
Del
OK
textarea.php
2.01 KB
Del
OK
url.php
5.09 KB
Del
OK
wp-widget.php
1.35 KB
Del
OK
wysiwyg.php
1.73 KB
Del
OK
Edit: media.php
<?php namespace Elementor; use Elementor\Core\Utils\Hints; use Elementor\Modules\DynamicTags\Module as TagsModule; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Elementor media control. * * A base control for creating a media chooser control. Based on the WordPress * media library. Used to select an image from the WordPress media library. * * @since 1.0.0 */ class Control_Media extends Control_Base_Multiple { /** * Get media control type. * * Retrieve the control type, in this case `media`. * * @since 1.0.0 * @access public * * @return string Control type. */ public function get_type() { return 'media'; } /** * Get media control default values. * * Retrieve the default value of the media control. Used to return the default * values while initializing the media control. * * @since 1.0.0 * @access public * * @return array Control default value. */ public function get_default_value() { return [ 'url' => '', 'id' => '', 'size' => '', ]; } /** * Import media images. * * Used to import media control files from external sites while importing * Elementor template JSON file, and replacing the old data. * * @since 1.0.0 * @access public * * @param array $settings Control settings * * @return array Control settings. */ public function on_import( $settings ) { if ( empty( $settings['url'] ) ) { return $settings; } $settings = Plugin::$instance->templates_manager->get_import_images_instance()->import( $settings ); if ( ! $settings ) { $settings = [ 'id' => '', 'url' => Utils::get_placeholder_image_src(), ]; } return $settings; } /** * Support SVG and JSON Import * * Called by the 'upload_mimes' filter. Adds SVG and JSON mime types to the list of WordPress' allowed mime types. * * @since 3.4.6 * @deprecated 3.5.0 * * @param $mimes * @return mixed */ public function support_svg_and_json_import( $mimes ) { Plugin::$instance->modules_manager->get_modules( 'dev-tools' )->deprecation->deprecated_function( __METHOD__, '3.5.0' ); return $mimes; } /** * Enqueue media control scripts and styles. * * Used to register and enqueue custom scripts and styles used by the media * control. * * @since 1.0.0 * @access public */ public function enqueue() { global $wp_version; $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; wp_enqueue_media(); wp_enqueue_style( 'media', admin_url( '/css/media' . $suffix . '.css' ), [], $wp_version ); wp_register_script( 'image-edit', '/wp-admin/js/image-edit' . $suffix . '.js', [ 'jquery', 'json2', 'imgareaselect', ], $wp_version, true ); wp_enqueue_script( 'image-edit' ); } /** * Render media control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { ?> <# // For BC. if ( data.media_type ) { data.media_types = [ data.media_type ]; } if ( data.should_include_svg_inline_option ) { data.media_types.push( 'svg' ); } // Determine if the current media type is viewable. const isViewable = () => { const viewable = [ 'image', 'video', 'svg', ]; // Make sure that all media types are viewable. return data.media_types.every( ( type ) => viewable.includes( type ) ); }; // Get the preview type for the current media type. const getPreviewType = () => { if ( data.media_types.includes( 'video' ) ) { return 'video'; } if ( data.media_types.includes( 'image' ) || data.media_types.includes( 'svg' ) ) { return 'image'; } return 'none'; } // Retrieve a button label by media type. const getButtonLabel = ( mediaType ) => { switch( mediaType ) { case 'image': return '<?php esc_html_e( 'Choose Image', 'elementor' ); ?>'; case 'video': return '<?php esc_html_e( 'Choose Video', 'elementor' ); ?>'; case 'svg': return '<?php esc_html_e( 'Choose SVG', 'elementor' ); ?>'; default: return '<?php esc_html_e( 'Choose File', 'elementor' ); ?>'; } } #> <div class="elementor-control-field elementor-control-media"> <label class="elementor-control-title">{{{ data.label }}}</label> <# if ( isViewable() ) { let inputWrapperClasses = 'elementor-control-input-wrapper'; if ( ! data.label_block ) { inputWrapperClasses += ' elementor-control-unit-5'; } #> <div class="{{{ inputWrapperClasses }}}"> <div class="elementor-control-media__content elementor-control-tag-area elementor-control-preview-area"> <div class="elementor-control-media-area"> <div class="elementor-control-media__remove elementor-control-media__content__remove" title="<?php echo esc_attr__( 'Remove', 'elementor' ); ?>"> <i class="eicon-trash-o" aria-hidden="true"></i> <span class="elementor-screen-only"><?php echo esc_html__( 'Remove', 'elementor' ); ?></span> </div> <# switch( getPreviewType() ) { case 'image': #> <div class="elementor-control-media__preview"></div> <# break; case 'video': #> <video class="elementor-control-media-video" preload="metadata"></video> <i class="eicon-video-camera" aria-hidden="true"></i> <# break; } #> </div> <div class="elementor-control-media-upload-button elementor-control-media__content__upload-button"> <i class="eicon-plus-circle" aria-hidden="true"></i> <span class="elementor-screen-only"><?php echo esc_html__( 'Add', 'elementor' ); ?></span> </div> <div class="elementor-control-media__tools elementor-control-dynamic-switcher-wrapper"> <# data.media_types.forEach( ( type ) => { #> <div class="elementor-control-media__tool elementor-control-media__replace" data-media-type="{{{ type }}}">{{{ getButtonLabel( type ) }}}</div> <# } ); #> </div> </div> <?php /* ?> <div class="elementor-control-media__warnings" role="alert" style="display: none;"> <?php Hints::get_notice_template( [ 'type' => 'warning', 'content' => esc_html__( 'This image doesn’t contain ALT text - which is necessary for accessibility and SEO.', 'elementor' ), 'icon' => true, ] ); ?> </div> <?php */ ?> <?php if ( Hints::should_display_hint( 'image-optimization' ) ) : ?> <div class="elementor-control-media__promotions" role="alert" style="display: none;"> <?php Hints::get_notice_template( [ 'display' => ! Hints::is_dismissed( 'image-optimization' ), 'type' => 'info', 'content' => __( 'Optimize your images to enhance site performance by using Image Optimizer.', 'elementor' ), 'icon' => true, 'dismissible' => 'image_optimizer_hint', 'button_text' => Hints::is_plugin_installed( 'image-optimization' ) ? __( 'Activate Plugin', 'elementor' ) : __( 'Install Plugin', 'elementor' ), 'button_event' => 'image_optimizer_hint', 'button_data' => [ 'action_url' => Hints::get_plugin_action_url( 'image-optimization' ), ], ] ); ?> </div> <?php endif; ?> </div> <# } /* endif isViewable() */ else { #> <div class="elementor-control-media__file elementor-control-preview-area"> <div class="elementor-control-media__file__content"> <div class="elementor-control-media__file__content__label"><?php echo esc_html__( 'Click the media icon to upload file', 'elementor' ); ?></div> <div class="elementor-control-media__file__content__info"> <div class="elementor-control-media__file__content__info__icon"> <i class="eicon-document-file"></i> </div> <div class="elementor-control-media__file__content__info__name"></div> </div> </div> <div class="elementor-control-media__file__controls"> <div class="elementor-control-media__remove elementor-control-media__file__controls__remove" title="<?php echo esc_attr__( 'Remove', 'elementor' ); ?>"> <i class="eicon-trash-o" aria-hidden="true"></i> <span class="elementor-screen-only"><?php echo esc_html__( 'Remove', 'elementor' ); ?></span> </div> <div class="elementor-control-media__file__controls__upload-button elementor-control-media-upload-button" title="<?php echo esc_attr__( 'Upload', 'elementor' ); ?>"> <i class="eicon-upload" aria-hidden="true"></i> <span class="elementor-screen-only"><?php echo esc_html__( 'Upload', 'elementor' ); ?></span> </div> </div> </div> <# } #> <# if ( data.description ) { #> <div class="elementor-control-field-description">{{{ data.description }}}</div> <# } #> <# if ( data.has_sizes ) { #> <div class="elementor-control-type-select e-control-image-size"> <div class="elementor-control-field"> <label class="elementor-control-title" data-e-responsive-switcher-sibling="false" for="<?php $this->print_control_uid( 'size' ); ?>"><?php echo esc_html__( 'Image Resolution', 'elementor' ); ?></label> <div class="elementor-control-input-wrapper elementor-control-unit-5"> <select class="e-image-size-select" id="<?php $this->print_control_uid( 'size' ); ?>" data-setting="size"> <?php foreach ( $this->get_image_sizes() as $size_key => $size_title ) : ?> <option value="<?php echo esc_attr( $size_key ); ?>"><?php echo esc_html( $size_title ); ?></option> <?php endforeach; ?> </select> </div> </div> </div> <# } #> <input type="hidden" data-setting="{{ data.name }}"/> </div> <?php } private function get_image_sizes() : array { $wp_image_sizes = Group_Control_Image_Size::get_all_image_sizes(); $image_sizes = []; foreach ( $wp_image_sizes as $size_key => $size_attributes ) { $control_title = ucwords( str_replace( '_', ' ', $size_key ) ); if ( is_array( $size_attributes ) ) { $control_title .= sprintf( ' - %d x %d', $size_attributes['width'], $size_attributes['height'] ); } $image_sizes[ $size_key ] = $control_title; } $image_sizes[''] = esc_html_x( 'Full', 'Image Size Control', 'elementor' ); return $image_sizes; } /** * Get media control default settings. * * Retrieve the default settings of the media control. Used to return the default * settings while initializing the media control. * * @since 1.0.0 * @access protected * * @return array Control default settings. */ protected function get_default_settings() { return [ 'label_block' => true, 'has_sizes' => false, 'ai' => [ 'active' => true, 'type' => 'media', 'category' => 'photographic', ], 'media_types' => [ 'image', ], 'dynamic' => [ 'categories' => [ TagsModule::IMAGE_CATEGORY ], 'returnType' => 'object', ], ]; } /** * Get media control image title. * * Retrieve the `title` of the image selected by the media control. * * @since 1.0.0 * @access public * @static * * @param array $attachment Media attachment. * * @return string Image title. */ public static function get_image_title( $attachment ) { if ( empty( $attachment['id'] ) ) { return ''; } return get_the_title( $attachment['id'] ); } /** * Get media control image alt. * * Retrieve the `alt` value of the image selected by the media control. * * @since 1.0.0 * @access public * @static * * @param array $instance Media attachment. * * @return string Image alt. */ public static function get_image_alt( $instance ) { if ( empty( $instance['id'] ) ) { // For `Insert From URL` images. return isset( $instance['alt'] ) ? trim( self::sanitise_text( $instance['alt'] ) ) : ''; } $attachment_id = $instance['id']; if ( ! $attachment_id ) { return ''; } $attachment = get_post( $attachment_id ); if ( ! $attachment ) { return ''; } $alt = get_post_meta( $attachment_id, '_wp_attachment_image_alt', true ); if ( ! $alt ) { if ( Utils::has_invalid_post_permissions( $attachment ) ) { return ''; } $alt = $attachment->post_excerpt; if ( ! $alt ) { $alt = $attachment->post_title; } } return trim( self::sanitise_text( $alt ) ); } public function get_style_value( $css_property, $control_value, array $control_data ) { if ( 'URL' !== $css_property || empty( $control_value['id'] ) ) { return parent::get_style_value( $css_property, $control_value, $control_data ); } if ( empty( $control_value['size'] ) ) { $control_value['size'] = 'full'; } return wp_get_attachment_image_url( $control_value['id'], $control_value['size'] ); } public static function sanitise_text( $string ) { return esc_attr( strip_tags( $string ) ); } }
Save