PluginProbe
WP Data Access – App Builder for Tables, Forms, Charts, Maps & Dashboards / 5.5.84
WP Data Access – App Builder for Tables, Forms, Charts, Maps & Dashboards v5.5.84
5.5.84 5.5.83 5.5.82 5.5.81 5.5.80 5.5.79 5.5.77 5.5.76 5.5.75 5.5.73 5.5.72 5.5.22 5.5.23 5.5.29 5.5.3 5.5.31 5.5.32 5.5.34 5.5.35 5.5.36 5.5.37 5.5.4 5.5.40 5.5.41 5.5.42 All 160 releases
wp-data-access / WPDataAccess / Utilities / WPDA_WP_Media.php

WPDA_WP_Media.php in WP Data Access – App Builder for Tables, Forms, Charts, Maps & Dashboards 5.5.84, at WPDataAccess/Utilities/WPDA_WP_Media.php

58 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace WPDataAccess\Utilities {
4
5 use WPDataAccess\WPDA;
6
7 class WPDA_WP_Media {
8
9 public static function get_media_columns_from_url( $columns ) {
10
11 // Get WordPress media library columns from URL argument.
12 $media_columns = array();
13
14 if ( isset( $_POST['media'] ) && is_array( $_POST['media'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing -- already verified
15 $media_array = rest_sanitize_array( $_POST['media'] ); // phpcs:ignore
16 foreach ( $media_array as $media ) {
17 if ( isset( $media['target'], $columns[ $media['target'] ]['name'] ) ) {
18 // Column target is stored in element data.
19 $media_columns[] = $columns[ $media['target'] ]['data'];
20 }
21 }
22 }
23
24 return $media_columns;
25
26 }
27
28 public static function get_media_url( $media_column ) {
29
30 if ( null === $media_column ) {
31 return null;
32 }
33
34 $media_ids = explode( ',', $media_column );
35 $media_src = array();
36
37 foreach ( $media_ids as $media_id ) {
38 $url = wp_get_attachment_url( esc_attr( $media_id ) );
39 if ( false !== $url ) {
40 $media_object = array(
41 'url' => $url,
42 'mime_type' => get_post_mime_type( $media_id ),
43 'title' => get_the_title( esc_attr( $media_id ) )
44 );
45
46 $media_src[] = json_encode( $media_object );
47 } else {
48 $media_src[] = $media_id; // Forces error in browser.
49 }
50 }
51
52 return $media_src;
53
54 }
55
56 }
57
58 }