PluginProbe
Image Optimization – Compress Images and Convert to WebP or AVIF / 1.6.6
Image Optimization – Compress Images and Convert to WebP or AVIF v1.6.6
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.6.6, at modules/settings/classes/settings.php

72 lines 2.2 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 use ImageOptimization\Classes\Image\Image_Conversion_Option;
6
7 if ( ! defined( 'ABSPATH' ) ) {
8 exit; // Exit if accessed directly.
9 }
10
11 class Settings {
12 public const COMPRESSION_LEVEL_OPTION_NAME = 'image_optimizer_compression_level';
13 public const OPTIMIZE_ON_UPLOAD_OPTION_NAME = 'image_optimizer_optimize_on_upload';
14 /** @deprecated Use self::CONVERT_TO_FORMAT_OPTION_NAME instead */
15 public const CONVERT_TO_WEBP_OPTION_NAME = 'image_optimizer_convert_to_webp';
16 public const CONVERT_TO_FORMAT_OPTION_NAME = 'image_optimizer_convert_to_format';
17 public const RESIZE_LARGER_IMAGES_OPTION_NAME = 'image_optimizer_resize_larger_images';
18 public const RESIZE_LARGER_IMAGES_SIZE_OPTION_NAME = 'image_optimizer_resize_larger_images_size';
19 public const STRIP_EXIF_METADATA_OPTION_NAME = 'image_optimizer_exif_metadata';
20 public const BACKUP_ORIGINAL_IMAGES_OPTION_NAME = 'image_optimizer_original_images';
21 public const CUSTOM_SIZES_OPTION_NAME = 'image_optimizer_custom_sizes';
22 public const SUPPORT_BIG_FILES = 'image_optimizer_support_big_files';
23
24 /**
25 * Returns plugin settings data by option name typecasted to an appropriate data type.
26 *
27 * @param string $option_name
28 * @return mixed
29 */
30 public static function get( string $option_name ) {
31 $data = get_option( $option_name );
32
33 switch ( $option_name ) {
34 case self::RESIZE_LARGER_IMAGES_SIZE_OPTION_NAME:
35 return (int) $data;
36
37 case self::RESIZE_LARGER_IMAGES_OPTION_NAME:
38 case self::STRIP_EXIF_METADATA_OPTION_NAME:
39 case self::BACKUP_ORIGINAL_IMAGES_OPTION_NAME:
40 return (bool) $data;
41
42 // TODO: [Stability] Remove this fallback after a few versions
43 case self::CONVERT_TO_WEBP_OPTION_NAME:
44 $new_option = get_option( self::CONVERT_TO_FORMAT_OPTION_NAME );
45
46 if ( Image_Conversion_Option::WEBP === $new_option ) {
47 return true;
48 }
49
50 return false;
51
52 case self::CUSTOM_SIZES_OPTION_NAME:
53 if ( 'all' === $data ) {
54 return $data;
55 }
56
57 if ( empty( $data ) ) {
58 return [];
59 }
60
61 return explode( ',', $data );
62
63 default:
64 return $data;
65 }
66 }
67
68 public static function set( string $option_name, $value ): bool {
69 return update_option( $option_name, $value, false );
70 }
71 }
72