PluginProbe
Image Optimization – Compress Images and Convert to WebP or AVIF / 1.1.0
Image Optimization – Compress Images and Convert to WebP or AVIF v1.1.0
1.7.6 1.7.5 1.7.4 trunk 1.0.0 1.0.1 1.0.2 1.1.0 1.2.0 1.2.1 1.3.0 1.4.0 1.4.1 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 All 32 releases
image-optimization / modules / settings / classes / settings.php

settings.php in Image Optimization – Compress Images and Convert to WebP or AVIF 1.1.0, at modules/settings/classes/settings.php

54 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace ImageOptimization\Modules\Settings\Classes;
4
5 if ( ! defined( 'ABSPATH' ) ) {
6 exit; // Exit if accessed directly.
7 }
8
9 class Settings {
10 public const COMPRESSION_LEVEL_OPTION_NAME = 'image_optimizer_compression_level';
11 public const OPTIMIZE_ON_UPLOAD_OPTION_NAME = 'image_optimizer_optimize_on_upload';
12 public const CONVERT_TO_WEBP_OPTION_NAME = 'image_optimizer_convert_to_webp';
13 public const RESIZE_LARGER_IMAGES_OPTION_NAME = 'image_optimizer_resize_larger_images';
14 public const RESIZE_LARGER_IMAGES_SIZE_OPTION_NAME = 'image_optimizer_resize_larger_images_size';
15 public const STRIP_EXIF_METADATA_OPTION_NAME = 'image_optimizer_exif_metadata';
16 public const BACKUP_ORIGINAL_IMAGES_OPTION_NAME = 'image_optimizer_original_images';
17 public const CUSTOM_SIZES_OPTION_NAME = 'image_optimizer_custom_sizes';
18
19 /**
20 * Returns plugin settings data by option name typecasted to an appropriate data type.
21 *
22 * @param string $option_name
23 * @return mixed
24 */
25 public static function get( string $option_name ) {
26 $data = get_option( $option_name );
27
28 switch ( $option_name ) {
29 case self::RESIZE_LARGER_IMAGES_SIZE_OPTION_NAME:
30 return (int) $data;
31
32 case self::CONVERT_TO_WEBP_OPTION_NAME:
33 case self::RESIZE_LARGER_IMAGES_OPTION_NAME:
34 case self::STRIP_EXIF_METADATA_OPTION_NAME:
35 case self::BACKUP_ORIGINAL_IMAGES_OPTION_NAME:
36 return (bool) $data;
37
38 case self::CUSTOM_SIZES_OPTION_NAME:
39 if ( 'all' === $data ) {
40 return $data;
41 }
42
43 if ( empty( $data ) ) {
44 return [];
45 }
46
47 return explode( ',', $data );
48
49 default:
50 return $data;
51 }
52 }
53 }
54