PluginProbe
Image Optimizer – Compress Images and Convert to WebP or AVIF / 1.7.7
Image Optimizer – Compress Images and Convert to WebP or AVIF v1.7.7
1.7.7 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 All 33 releases
image-optimization / modules / settings / classes / settings.php

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

74 lines 2.3 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 HELP_VIDEOS = 'image_optimizer_help_videos';
23 public const MIGRATION_POPUP_DISMISSED = 'image_optimizer_migration_popup_dismissed';
24 public const SUBSCRIPTION_ID = 'image_optimizer_subscription_id';
25
26 /**
27 * Returns plugin settings data by option name typecasted to an appropriate data type.
28 *
29 * @param string $option_name
30 * @return mixed
31 */
32 public static function get( string $option_name ) {
33 $data = get_option( $option_name );
34
35 switch ( $option_name ) {
36 case self::RESIZE_LARGER_IMAGES_SIZE_OPTION_NAME:
37 return (int) $data;
38
39 case self::RESIZE_LARGER_IMAGES_OPTION_NAME:
40 case self::STRIP_EXIF_METADATA_OPTION_NAME:
41 case self::BACKUP_ORIGINAL_IMAGES_OPTION_NAME:
42 return (bool) $data;
43
44 // TODO: [Stability] Remove this fallback after a few versions
45 case self::CONVERT_TO_WEBP_OPTION_NAME:
46 $new_option = get_option( self::CONVERT_TO_FORMAT_OPTION_NAME );
47
48 if ( Image_Conversion_Option::WEBP === $new_option ) {
49 return true;
50 }
51
52 return false;
53
54 case self::CUSTOM_SIZES_OPTION_NAME:
55 if ( 'all' === $data ) {
56 return $data;
57 }
58
59 if ( empty( $data ) ) {
60 return [];
61 }
62
63 return explode( ',', $data );
64
65 default:
66 return $data;
67 }
68 }
69
70 public static function set( string $option_name, $value ): bool {
71 return update_option( $option_name, $value, false );
72 }
73 }
74