Completed
Pull Request — master (#28)
by Rasmus
01:27
created
includes/class-images-via-imgix.php 1 patch
Spacing   +85 added lines, -85 removed lines patch added patch discarded remove patch
@@ -27,20 +27,20 @@  discard block
 block discarded – undo
27 27
 	 * ImagesViaImgix constructor.
28 28
 	 */
29 29
 	public function __construct() {
30
-		$this->options = get_option( 'imgix_settings', [] );
30
+		$this->options = get_option('imgix_settings', []);
31 31
 
32
-		add_filter( 'wp_get_attachment_url', [ $this, 'replace_image_url' ] );
33
-		add_filter( 'imgix/add-image-url', [ $this, 'replace_image_url' ] );
32
+		add_filter('wp_get_attachment_url', [$this, 'replace_image_url']);
33
+		add_filter('imgix/add-image-url', [$this, 'replace_image_url']);
34 34
 
35
-		add_filter( 'image_downsize', [ $this, 'image_downsize' ], 10, 3 );
35
+		add_filter('image_downsize', [$this, 'image_downsize'], 10, 3);
36 36
 
37
-		add_filter( 'wp_calculate_image_srcset', [ $this, 'calculate_image_srcset' ], 10, 5 );
37
+		add_filter('wp_calculate_image_srcset', [$this, 'calculate_image_srcset'], 10, 5);
38 38
 
39
-		add_filter( 'the_content', [ $this, 'replace_images_in_content' ] );
40
-		add_action( 'wp_head', [ $this, 'prefetch_cdn' ], 1 );
39
+		add_filter('the_content', [$this, 'replace_images_in_content']);
40
+		add_action('wp_head', [$this, 'prefetch_cdn'], 1);
41 41
 
42
-		add_action( 'after_setup_theme', [ $this, 'buffer_start_for_retina' ] );
43
-		add_action( 'shutdown', [ $this, 'buffer_end_for_retina' ] );
42
+		add_action('after_setup_theme', [$this, 'buffer_start_for_retina']);
43
+		add_action('shutdown', [$this, 'buffer_end_for_retina']);
44 44
 	}
45 45
 
46 46
 	/**
@@ -49,7 +49,7 @@  discard block
 block discarded – undo
49 49
 	 * @return Images_Via_Imgix
50 50
 	 */
51 51
 	public static function instance() {
52
-		if ( ! isset( self::$instance ) ) {
52
+		if ( ! isset(self::$instance)) {
53 53
 			self::$instance = new self;
54 54
 		}
55 55
 
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
 	 *
63 63
 	 * @param array $options
64 64
 	 */
65
-	public function set_options( $options ) {
65
+	public function set_options($options) {
66 66
 		$this->options = $options;
67 67
 	}
68 68
 
@@ -75,13 +75,13 @@  discard block
 block discarded – undo
75 75
 	 *
76 76
 	 * @return string Content with retina-enriched image tags.
77 77
 	 */
78
-	public function add_retina( $content ) {
78
+	public function add_retina($content) {
79 79
 		$pattern = '/<img((?![^>]+srcset )([^>]*)';
80 80
 		$pattern .= 'src=[\'"]([^\'"]*imgix.net[^\'"]*\?[^\'"]*w=[^\'"]*)[\'"]([^>]*)*?)>/i';
81 81
 		$repl    = '<img$2src="$3" srcset="${3}, ${3}&amp;dpr=2 2x, ${3}&amp;dpr=3 3x,"$4>';
82
-		$content = preg_replace( $pattern, $repl, $content );
82
+		$content = preg_replace($pattern, $repl, $content);
83 83
 
84
-		return preg_replace( $pattern, $repl, $content );
84
+		return preg_replace($pattern, $repl, $content);
85 85
 	}
86 86
 
87 87
 	/**
@@ -91,22 +91,22 @@  discard block
 block discarded – undo
91 91
 	 *
92 92
 	 * @return string
93 93
 	 */
94
-	public function replace_image_url( $url ) {
95
-		if ( ! empty ( $this->options['cdn_link'] ) ) {
96
-			$parsed_url = parse_url( $url );
97
-
98
-			if ( isset( $parsed_url['host'], $parsed_url['path'] ) && $parsed_url['host'] === parse_url( home_url( '/' ), PHP_URL_HOST ) && preg_match( '/\.(jpg|jpeg|gif|png)$/', $parsed_url['path'] ) ) {
99
-				$cdn = parse_url( $this->options['cdn_link'] );
100
-				foreach ( [ 'scheme', 'host', 'port' ] as $url_part ) {
101
-					if ( isset( $cdn[ $url_part ] ) ) {
102
-						$parsed_url[ $url_part ] = $cdn[ $url_part ];
94
+	public function replace_image_url($url) {
95
+		if ( ! empty ($this->options['cdn_link'])) {
96
+			$parsed_url = parse_url($url);
97
+
98
+			if (isset($parsed_url['host'], $parsed_url['path']) && $parsed_url['host'] === parse_url(home_url('/'), PHP_URL_HOST) && preg_match('/\.(jpg|jpeg|gif|png)$/', $parsed_url['path'])) {
99
+				$cdn = parse_url($this->options['cdn_link']);
100
+				foreach (['scheme', 'host', 'port'] as $url_part) {
101
+					if (isset($cdn[$url_part])) {
102
+						$parsed_url[$url_part] = $cdn[$url_part];
103 103
 					} else {
104
-						unset( $parsed_url[ $url_part ] );
104
+						unset($parsed_url[$url_part]);
105 105
 					}
106 106
 				}
107
-				$url = http_build_url( $parsed_url );
107
+				$url = http_build_url($parsed_url);
108 108
 
109
-				$url = add_query_arg( $this->get_global_params(), $url );
109
+				$url = add_query_arg($this->get_global_params(), $url);
110 110
 			}
111 111
 		}
112 112
 
@@ -122,35 +122,35 @@  discard block
 block discarded – undo
122 122
 	 *
123 123
 	 * @return false|array
124 124
 	 */
125
-	public function image_downsize( $return, $attachment_id, $size ) {
126
-		if ( ! empty ( $this->options['cdn_link'] ) ) {
127
-			$img_url = wp_get_attachment_url( $attachment_id );
125
+	public function image_downsize($return, $attachment_id, $size) {
126
+		if ( ! empty ($this->options['cdn_link'])) {
127
+			$img_url = wp_get_attachment_url($attachment_id);
128 128
 
129 129
 			$params = [];
130
-			if ( is_array( $size ) ) {
131
-				$params['w'] = $width = isset( $size[0] ) ? $size[0] : 0;
132
-				$params['h'] = $height = isset( $size[1] ) ? $size[1] : 0;
130
+			if (is_array($size)) {
131
+				$params['w'] = $width = isset($size[0]) ? $size[0] : 0;
132
+				$params['h'] = $height = isset($size[1]) ? $size[1] : 0;
133 133
 			} else {
134 134
 				$available_sizes = $this->get_all_defined_sizes();
135
-				if ( isset( $available_sizes[ $size ] ) ) {
136
-					$size        = $available_sizes[ $size ];
135
+				if (isset($available_sizes[$size])) {
136
+					$size        = $available_sizes[$size];
137 137
 					$params['w'] = $width = $size['width'];
138 138
 					$params['h'] = $height = $size['height'];
139 139
 				}
140 140
 			}
141 141
 
142
-			$params = array_filter( $params );
142
+			$params = array_filter($params);
143 143
 
144
-			$img_url = add_query_arg( $params, $img_url );
144
+			$img_url = add_query_arg($params, $img_url);
145 145
 
146
-			if ( ! isset( $width ) || ! isset( $height ) ) {
146
+			if ( ! isset($width) || ! isset($height)) {
147 147
 				// any other type: use the real image
148
-				$meta   = wp_get_attachment_metadata( $attachment_id );
149
-				$width  = isset( $width ) ? $width : $meta['width'];
150
-				$height = isset( $height ) ? $height : $meta['height'];
148
+				$meta   = wp_get_attachment_metadata($attachment_id);
149
+				$width  = isset($width) ? $width : $meta['width'];
150
+				$height = isset($height) ? $height : $meta['height'];
151 151
 			}
152 152
 
153
-			$return = [ $img_url, $width, $height, true ];
153
+			$return = [$img_url, $width, $height, true];
154 154
 		}
155 155
 
156 156
 		return $return;
@@ -167,15 +167,15 @@  discard block
 block discarded – undo
167 167
 	 *
168 168
 	 * @return array
169 169
 	 */
170
-	public function calculate_image_srcset( $sources, $size_array, $image_src, $image_meta, $attachment_id ) {
171
-		foreach ( $sources as $i => $image_size ) {
172
-			if ( $image_size['descriptor'] === 'w' ) {
173
-				if ( $attachment_id ) {
174
-					$image_src = wp_get_attachment_url( $attachment_id );
170
+	public function calculate_image_srcset($sources, $size_array, $image_src, $image_meta, $attachment_id) {
171
+		foreach ($sources as $i => $image_size) {
172
+			if ($image_size['descriptor'] === 'w') {
173
+				if ($attachment_id) {
174
+					$image_src = wp_get_attachment_url($attachment_id);
175 175
 				}
176 176
 
177
-				$image_src            = remove_query_arg( 'h', $image_src );
178
-				$sources[ $i ]['url'] = add_query_arg( 'w', $image_size['value'], $image_src );
177
+				$image_src            = remove_query_arg('h', $image_src);
178
+				$sources[$i]['url'] = add_query_arg('w', $image_size['value'], $image_src);
179 179
 			}
180 180
 		}
181 181
 
@@ -189,28 +189,28 @@  discard block
 block discarded – undo
189 189
 	 *
190 190
 	 * @return string
191 191
 	 */
192
-	public function replace_images_in_content( $content ) {
193
-		if ( ! empty ( $this->options['cdn_link'] ) ) {
194
-			if ( preg_match_all( '/<img\s[^>]*src=([\"\']??)([^\" >]*?)\1[^>]*>/iU', $content, $matches ) ) {
195
-				foreach ( $matches[2] as $image_src ) {
196
-					$content = str_replace( $image_src, apply_filters( 'wp_get_attachment_url', $image_src ), $content );
192
+	public function replace_images_in_content($content) {
193
+		if ( ! empty ($this->options['cdn_link'])) {
194
+			if (preg_match_all('/<img\s[^>]*src=([\"\']??)([^\" >]*?)\1[^>]*>/iU', $content, $matches)) {
195
+				foreach ($matches[2] as $image_src) {
196
+					$content = str_replace($image_src, apply_filters('wp_get_attachment_url', $image_src), $content);
197 197
 				}
198 198
 			}
199 199
 
200
-			if ( preg_match_all( '/<img\s[^>]*srcset=([\"\']??)([^\">]*?)\1[^>]*\/?>/iU', $content, $matches ) ) {
200
+			if (preg_match_all('/<img\s[^>]*srcset=([\"\']??)([^\">]*?)\1[^>]*\/?>/iU', $content, $matches)) {
201 201
 
202
-				foreach ( $matches[2] as $image_srcset ) {
203
-					$new_image_srcset = preg_replace_callback( '/(\S+)(\s\d+\w)/', function ( $srcset_matches ) {
204
-						return apply_filters( 'wp_get_attachment_url', $srcset_matches[1] ) . $srcset_matches[2];
205
-					}, $image_srcset );
202
+				foreach ($matches[2] as $image_srcset) {
203
+					$new_image_srcset = preg_replace_callback('/(\S+)(\s\d+\w)/', function($srcset_matches) {
204
+						return apply_filters('wp_get_attachment_url', $srcset_matches[1]) . $srcset_matches[2];
205
+					}, $image_srcset);
206 206
 
207
-					$content = str_replace( $image_srcset, $new_image_srcset, $content );
207
+					$content = str_replace($image_srcset, $new_image_srcset, $content);
208 208
 				}
209 209
 			}
210 210
 
211
-			if ( preg_match_all( '/<a\s[^>]*href=([\"\']??)([^\" >]*?)\1[^>]*>(.*)<\/a>/iU', $content, $matches ) ) {
212
-				foreach ( $matches[0] as $link ) {
213
-					$content = str_replace( $link[2], apply_filters( 'wp_get_attachment_url', $link[2] ), $content );
211
+			if (preg_match_all('/<a\s[^>]*href=([\"\']??)([^\" >]*?)\1[^>]*>(.*)<\/a>/iU', $content, $matches)) {
212
+				foreach ($matches[0] as $link) {
213
+					$content = str_replace($link[2], apply_filters('wp_get_attachment_url', $link[2]), $content);
214 214
 				}
215 215
 			}
216 216
 		}
@@ -222,12 +222,12 @@  discard block
 block discarded – undo
222 222
 	 * Add tag to dns prefetch cdn host
223 223
 	 */
224 224
 	public function prefetch_cdn() {
225
-		if ( ! empty ( $this->options['cdn_link'] ) ) {
226
-			$host = parse_url( $this->options['cdn_link'], PHP_URL_HOST );
225
+		if ( ! empty ($this->options['cdn_link'])) {
226
+			$host = parse_url($this->options['cdn_link'], PHP_URL_HOST);
227 227
 
228 228
 			printf(
229 229
 				'<link rel="dns-prefetch" href="%s"/>',
230
-				esc_attr( '//' . $host )
230
+				esc_attr('//' . $host)
231 231
 			);
232 232
 		}
233 233
 	}
@@ -236,9 +236,9 @@  discard block
 block discarded – undo
236 236
 	 * Start output buffer if auto retina is enabled
237 237
 	 */
238 238
 	public function buffer_start_for_retina() {
239
-		if ( ! empty ( $this->options['add_dpi2_srcset'] ) ) {
239
+		if ( ! empty ($this->options['add_dpi2_srcset'])) {
240 240
 			$this->buffer_started = true;
241
-			ob_start( [ $this, 'add_retina' ] );
241
+			ob_start([$this, 'add_retina']);
242 242
 		}
243 243
 	}
244 244
 
@@ -246,7 +246,7 @@  discard block
 block discarded – undo
246 246
 	 * Stop output buffer if it was enabled by the plugin
247 247
 	 */
248 248
 	public function buffer_end_for_retina() {
249
-		if ( $this->buffer_started === true ) {
249
+		if ($this->buffer_started === true) {
250 250
 			ob_end_flush();
251 251
 		}
252 252
 	}
@@ -262,20 +262,20 @@  discard block
 block discarded – undo
262 262
 
263 263
 		// For now, only "auto" is supported.
264 264
 		$auto = [];
265
-		if ( ! empty ( $this->options['auto_format'] ) ) {
266
-			array_push( $auto, 'format' );
265
+		if ( ! empty ($this->options['auto_format'])) {
266
+			array_push($auto, 'format');
267 267
 		}
268 268
 
269
-		if ( ! empty ( $this->options['auto_enhance'] ) ) {
270
-			array_push( $auto, 'enhance' );
269
+		if ( ! empty ($this->options['auto_enhance'])) {
270
+			array_push($auto, 'enhance');
271 271
 		}
272 272
 
273
-		if ( ! empty ( $this->options['auto_compress'] ) ) {
274
-			array_push( $auto, 'compress' );
273
+		if ( ! empty ($this->options['auto_compress'])) {
274
+			array_push($auto, 'compress');
275 275
 		}
276 276
 
277
-		if ( ! empty( $auto ) ) {
278
-			$params['auto'] = implode( '%2C', $auto );
277
+		if ( ! empty($auto)) {
278
+			$params['auto'] = implode('%2C', $auto);
279 279
 		}
280 280
 
281 281
 		return $params;
@@ -291,18 +291,18 @@  discard block
 block discarded – undo
291 291
 		$theme_image_sizes = wp_get_additional_image_sizes();
292 292
 
293 293
 		$sizes = [];
294
-		foreach ( get_intermediate_image_sizes() as $s ) {
295
-			$sizes[ $s ] = [ 'width' => '', 'height' => '', 'crop' => false ];
296
-			if ( isset( $theme_image_sizes[ $s ] ) ) {
294
+		foreach (get_intermediate_image_sizes() as $s) {
295
+			$sizes[$s] = ['width' => '', 'height' => '', 'crop' => false];
296
+			if (isset($theme_image_sizes[$s])) {
297 297
 				// For theme-added sizes
298
-				$sizes[ $s ]['width']  = intval( $theme_image_sizes[ $s ]['width'] );
299
-				$sizes[ $s ]['height'] = intval( $theme_image_sizes[ $s ]['height'] );
300
-				$sizes[ $s ]['crop']   = $theme_image_sizes[ $s ]['crop'];
298
+				$sizes[$s]['width']  = intval($theme_image_sizes[$s]['width']);
299
+				$sizes[$s]['height'] = intval($theme_image_sizes[$s]['height']);
300
+				$sizes[$s]['crop']   = $theme_image_sizes[$s]['crop'];
301 301
 			} else {
302 302
 				// For default sizes set in options
303
-				$sizes[ $s ]['width']  = get_option( "{$s}_size_w" );
304
-				$sizes[ $s ]['height'] = get_option( "{$s}_size_h" );
305
-				$sizes[ $s ]['crop']   = get_option( "{$s}_crop" );
303
+				$sizes[$s]['width']  = get_option("{$s}_size_w");
304
+				$sizes[$s]['height'] = get_option("{$s}_size_h");
305
+				$sizes[$s]['crop']   = get_option("{$s}_crop");
306 306
 			}
307 307
 		}
308 308
 
Please login to merge, or discard this patch.