run:R W Run
6.55 KB
2026-03-11 16:18:51
R W Run
7.08 KB
2026-03-11 16:18:51
R W Run
6.4 KB
2026-03-11 16:18:51
R W Run
2.84 KB
2026-03-11 16:18:51
R W Run
7.43 KB
2026-03-11 16:18:51
R W Run
11.87 KB
2026-03-11 16:18:51
R W Run
7.12 KB
2026-03-11 16:18:51
R W Run
6.27 KB
2026-03-11 16:18:51
R W Run
7.37 KB
2026-03-11 16:18:51
R W Run
12.35 KB
2026-03-11 16:18:51
R W Run
8.62 KB
2026-03-11 16:18:51
R W Run
15.01 KB
2026-03-11 16:18:51
R W Run
4 KB
2026-03-11 16:18:51
R W Run
5.59 KB
2026-03-11 16:18:51
R W Run
6.89 KB
2026-03-11 16:18:51
R W Run
5.8 KB
2026-03-11 16:18:51
R W Run
5.12 KB
2026-03-11 16:18:51
R W Run
2.66 KB
2026-03-11 16:18:51
R W Run
6.62 KB
2026-03-11 16:18:51
R W Run
20.85 KB
2026-03-11 16:18:51
R W Run
error_log
📄class-wp-widget-media-video.php
1<?php
2/**
3 * Widget API: WP_Widget_Media_Video class
4 *
5 * @package WordPress
6 * @subpackage Widgets
7 * @since 4.8.0
8 */
9
10/**
11 * Core class that implements a video widget.
12 *
13 * @since 4.8.0
14 *
15 * @see WP_Widget_Media
16 * @see WP_Widget
17 */
18class WP_Widget_Media_Video extends WP_Widget_Media {
19
20 /**
21 * Constructor.
22 *
23 * @since 4.8.0
24 */
25 public function __construct() {
26 parent::__construct(
27 'media_video',
28 __( 'Video' ),
29 array(
30 'description' => __( 'Displays a video from the media library or from YouTube, Vimeo, or another provider.' ),
31 'mime_type' => 'video',
32 )
33 );
34
35 $this->l10n = array_merge(
36 $this->l10n,
37 array(
38 'no_media_selected' => __( 'No video selected' ),
39 'add_media' => _x( 'Add Video', 'label for button in the video widget' ),
40 'replace_media' => _x( 'Replace Video', 'label for button in the video widget; should preferably not be longer than ~13 characters long' ),
41 'edit_media' => _x( 'Edit Video', 'label for button in the video widget; should preferably not be longer than ~13 characters long' ),
42 'missing_attachment' => sprintf(
43 /* translators: %s: URL to media library. */
44 __( 'That video cannot be found. Check your <a href="%s">media library</a> and make sure it was not deleted.' ),
45 esc_url( admin_url( 'upload.php' ) )
46 ),
47 /* translators: %d: Widget count. */
48 'media_library_state_multi' => _n_noop( 'Video Widget (%d)', 'Video Widget (%d)' ),
49 'media_library_state_single' => __( 'Video Widget' ),
50 /* translators: %s: A list of valid video file extensions. */
51 'unsupported_file_type' => sprintf( __( 'Sorry, the video at the supplied URL cannot be loaded. Please check that the URL is for a supported video file (%s) or stream (e.g. YouTube and Vimeo).' ), '<code>.' . implode( '</code>, <code>.', wp_get_video_extensions() ) . '</code>' ),
52 )
53 );
54 }
55
56 /**
57 * Get schema for properties of a widget instance (item).
58 *
59 * @since 4.8.0
60 *
61 * @see WP_REST_Controller::get_item_schema()
62 * @see WP_REST_Controller::get_additional_fields()
63 * @link https://core.trac.wordpress.org/ticket/35574
64 *
65 * @return array Schema for properties.
66 */
67 public function get_instance_schema() {
68
69 $schema = array(
70 'preload' => array(
71 'type' => 'string',
72 'enum' => array( 'none', 'auto', 'metadata' ),
73 'default' => 'metadata',
74 'description' => __( 'Preload' ),
75 'should_preview_update' => false,
76 ),
77 'loop' => array(
78 'type' => 'boolean',
79 'default' => false,
80 'description' => __( 'Loop' ),
81 'should_preview_update' => false,
82 ),
83 'content' => array(
84 'type' => 'string',
85 'default' => '',
86 'sanitize_callback' => 'wp_kses_post',
87 'description' => __( 'Tracks (subtitles, captions, descriptions, chapters, or metadata)' ),
88 'should_preview_update' => false,
89 ),
90 );
91
92 foreach ( wp_get_video_extensions() as $video_extension ) {
93 $schema[ $video_extension ] = array(
94 'type' => 'string',
95 'default' => '',
96 'format' => 'uri',
97 /* translators: %s: Video extension. */
98 'description' => sprintf( __( 'URL to the %s video source file' ), $video_extension ),
99 );
100 }
101
102 return array_merge( $schema, parent::get_instance_schema() );
103 }
104
105 /**
106 * Render the media on the frontend.
107 *
108 * @since 4.8.0
109 *
110 * @param array $instance Widget instance props.
111 */
112 public function render_media( $instance ) {
113 $instance = array_merge( wp_list_pluck( $this->get_instance_schema(), 'default' ), $instance );
114 $attachment = null;
115
116 if ( $this->is_attachment_with_mime_type( $instance['attachment_id'], $this->widget_options['mime_type'] ) ) {
117 $attachment = get_post( $instance['attachment_id'] );
118 }
119
120 $src = $instance['url'];
121 if ( $attachment ) {
122 $src = wp_get_attachment_url( $attachment->ID );
123 }
124
125 if ( empty( $src ) ) {
126 return;
127 }
128
129 $youtube_pattern = '#^https?://(?:www\.)?(?:youtube\.com/watch|youtu\.be/)#';
130 $vimeo_pattern = '#^https?://(.+\.)?vimeo\.com/.*#';
131
132 if ( $attachment || preg_match( $youtube_pattern, $src ) || preg_match( $vimeo_pattern, $src ) ) {
133 add_filter( 'wp_video_shortcode', array( $this, 'inject_video_max_width_style' ) );
134
135 echo wp_video_shortcode(
136 array_merge(
137 $instance,
138 compact( 'src' )
139 ),
140 $instance['content']
141 );
142
143 remove_filter( 'wp_video_shortcode', array( $this, 'inject_video_max_width_style' ) );
144 } else {
145 echo $this->inject_video_max_width_style( wp_oembed_get( $src ) );
146 }
147 }
148
149 /**
150 * Inject max-width and remove height for videos too constrained to fit inside sidebars on frontend.
151 *
152 * @since 4.8.0
153 *
154 * @param string $html Video shortcode HTML output.
155 * @return string HTML Output.
156 */
157 public function inject_video_max_width_style( $html ) {
158 $html = preg_replace( '/\sheight="\d+"/', '', $html );
159 $html = preg_replace( '/\swidth="\d+"/', '', $html );
160 $html = preg_replace( '/(?<=width:)\s*\d+px(?=;?)/', '100%', $html );
161 return $html;
162 }
163
164 /**
165 * Enqueue preview scripts.
166 *
167 * These scripts normally are enqueued just-in-time when a video shortcode is used.
168 * In the customizer, however, widgets can be dynamically added and rendered via
169 * selective refresh, and so it is important to unconditionally enqueue them in
170 * case a widget does get added.
171 *
172 * @since 4.8.0
173 */
174 public function enqueue_preview_scripts() {
175 /** This filter is documented in wp-includes/media.php */
176 if ( 'mediaelement' === apply_filters( 'wp_video_shortcode_library', 'mediaelement' ) ) {
177 wp_enqueue_style( 'wp-mediaelement' );
178 wp_enqueue_script( 'mediaelement-vimeo' );
179 wp_enqueue_script( 'wp-mediaelement' );
180 }
181 }
182
183 /**
184 * Loads the required scripts and styles for the widget control.
185 *
186 * @since 4.8.0
187 */
188 public function enqueue_admin_scripts() {
189 parent::enqueue_admin_scripts();
190
191 $handle = 'media-video-widget';
192 wp_enqueue_script( $handle );
193
194 $exported_schema = array();
195 foreach ( $this->get_instance_schema() as $field => $field_schema ) {
196 $exported_schema[ $field ] = wp_array_slice_assoc( $field_schema, array( 'type', 'default', 'enum', 'minimum', 'format', 'media_prop', 'should_preview_update' ) );
197 }
198 wp_add_inline_script(
199 $handle,
200 sprintf(
201 'wp.mediaWidgets.modelConstructors[ %s ].prototype.schema = %s;',
202 wp_json_encode( $this->id_base, JSON_HEX_TAG | JSON_UNESCAPED_SLASHES ),
203 wp_json_encode( $exported_schema, JSON_HEX_TAG | JSON_UNESCAPED_SLASHES )
204 )
205 );
206
207 wp_add_inline_script(
208 $handle,
209 sprintf(
210 '
211 wp.mediaWidgets.controlConstructors[ %1$s ].prototype.mime_type = %2$s;
212 wp.mediaWidgets.controlConstructors[ %1$s ].prototype.l10n = _.extend( {}, wp.mediaWidgets.controlConstructors[ %1$s ].prototype.l10n, %3$s );
213 ',
214 wp_json_encode( $this->id_base, JSON_HEX_TAG | JSON_UNESCAPED_SLASHES ),
215 wp_json_encode( $this->widget_options['mime_type'], JSON_HEX_TAG | JSON_UNESCAPED_SLASHES ),
216 wp_json_encode( $this->l10n, JSON_HEX_TAG | JSON_UNESCAPED_SLASHES )
217 )
218 );
219 }
220
221 /**
222 * Render form template scripts.
223 *
224 * @since 4.8.0
225 */
226 public function render_control_template_scripts() {
227 parent::render_control_template_scripts()
228 ?>
229 <script type="text/html" id="tmpl-wp-media-widget-video-preview">
230 <# if ( data.error && 'missing_attachment' === data.error ) { #>
231 <?php
232 wp_admin_notice(
233 $this->l10n['missing_attachment'],
234 array(
235 'type' => 'error',
236 'additional_classes' => array( 'notice-alt', 'notice-missing-attachment' ),
237 )
238 );
239 ?>
240 <# } else if ( data.error && 'unsupported_file_type' === data.error ) { #>
241 <?php
242 wp_admin_notice(
243 $this->l10n['unsupported_file_type'],
244 array(
245 'type' => 'error',
246 'additional_classes' => array( 'notice-alt', 'notice-missing-attachment' ),
247 )
248 );
249 ?>
250 <# } else if ( data.error ) { #>
251 <?php
252 wp_admin_notice(
253 __( 'Unable to preview media due to an unknown error.' ),
254 array(
255 'type' => 'error',
256 'additional_classes' => array( 'notice-alt' ),
257 )
258 );
259 ?>
260 <# } else if ( data.is_oembed && data.model.poster ) { #>
261 <a href="{{ data.model.src }}" target="_blank" class="media-widget-video-link">
262 <img src="{{ data.model.poster }}" />
263 </a>
264 <# } else if ( data.is_oembed ) { #>
265 <a href="{{ data.model.src }}" target="_blank" class="media-widget-video-link no-poster">
266 <span class="dashicons dashicons-format-video"></span>
267 </a>
268 <# } else if ( data.model.src ) { #>
269 <?php wp_underscore_video_template(); ?>
270 <# } #>
271 </script>
272 <?php
273 }
274}
275
Ui Ux Design – Teachers Night Out https://cardgames4educators.com Wed, 16 Oct 2024 22:24:18 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 https://cardgames4educators.com/wp-content/uploads/2024/06/cropped-Card-4-Educators-logo-32x32.png Ui Ux Design – Teachers Night Out https://cardgames4educators.com 32 32 Masters In English How English Speaker https://cardgames4educators.com/masters-in-english-how-english-speaker/ https://cardgames4educators.com/masters-in-english-how-english-speaker/#comments Mon, 27 May 2024 08:54:45 +0000 https://themexriver.com/wp/kadu/?p=1

Erat himenaeos neque id sagittis massa. Hac suscipit pulvinar dignissim platea magnis eu. Don tellus a pharetra inceptos efficitur dui pulvinar. Feugiat facilisis penatibus pulvinar nunc dictumst donec odio platea habitasse. Lacus porta dolor purus elit ante bibendum tortor netus taciti nullam cubilia. Erat per suspendisse placerat morbi egestas pulvinar bibendum sollicitudin nec. Euismod cubilia eleifend velit himenaeos sodales lectus. Leo maximus cras ac porttitor aliquam torquent pulvinar odio volutpat parturient. Quisque risus finibus suspendisse mus purus magnis facilisi condimentum consectetur dui. Curae elit suspendisse cursus vehicula.

Turpis taciti class non vel pretium quis pulvinar tempor lobortis nunc. Libero phasellus parturient sapien volutpat malesuada ornare. Cubilia dignissim sollicitudin rhoncus lacinia maximus. Cras lorem fermentum bibendum pellentesque nisl etiam ligula enim cubilia. Vulputate pede sapien torquent montes tempus malesuada in mattis dis turpis vitae. Porta est tempor ex eget feugiat vulputate ipsum. Justo nec iaculis habitant diam arcu fermentum.

We offer comprehen sive emplo ment services such as assistance wit employer compliance.Our company is your strategic HR partner as instead of HR. john smithson

Cubilia dignissim sollicitudin rhoncus lacinia maximus. Cras lorem fermentum bibendum pellentesque nisl etiam ligula enim cubilia. Vulputate pede sapien torquent montes tempus malesuada in mattis dis turpis vitae.

Exploring Learning Landscapes in Academic

Feugiat facilisis penatibus pulvinar nunc dictumst donec odio platea habitasse. Lacus porta dolor purus elit ante bibendum tortor netus taciti nullam cubilia. Erat per suspendisse placerat morbi egestas pulvinar bibendum sollicitudin nec. Euismod cubilia eleifend velit himenaeos sodales lectus. Leo maximus cras ac porttitor aliquam torquent.

]]>
https://cardgames4educators.com/masters-in-english-how-english-speaker/feed/ 1