1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
<?php namespace Imagify\Context;
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
/** * Context class used for the custom folders. * * @since 1.9 * @author Grégory Viguier */ class CustomFolders extends AbstractContext { use \Imagify\Traits\InstanceGetterTrait;
/** * Context "short name". * * @var string * @since 1.9 * @access protected * @author Grégory Viguier */ protected $context = 'custom-folders';
/** * The thumbnail sizes for this context, except the full size. * * @var array { * Data for the currently registered thumbnail sizes. * Size names are used as array keys. * * @type int $width The image width. * @type int $height The image height. * @type bool $crop True to crop, false to resize. * @type string $name The size name. * } * @since 1.9 * @access public * @author Grégory Viguier */ protected $thumbnail_sizes = [];
/** * Get images max width for this context. This is used when resizing. * 0 means to not resize. * * @since 1.9.8 * @access public * @author Grégory Viguier * * @return int */ public function get_resizing_threshold() { return 0; }
/** * Tell if the optimization process is allowed to backup in this context. * * @since 1.9 * @access public * @author Grégory Viguier * * @return bool */ public function can_backup() { if ( isset( $this->can_backup ) ) { return $this->can_backup; }
$this->can_backup = get_imagify_option( 'backup' );
return $this->can_backup; }
/** * Tell if the optimization process is allowed to keep exif in this context. * * @since 1.9 * @access public * @author Grégory Viguier * * @return bool */ public function can_keep_exif() { if ( isset( $this->can_keep_exif ) ) { return $this->can_keep_exif; }
$this->can_keep_exif = get_imagify_option( 'exif' );
return $this->can_keep_exif; }
/** * Get user capacity to operate Imagify in this context. * * @since 1.9 * @access public * @author Grégory Viguier * * @param string $describer Capacity describer. Possible values are like 'manage', 'bulk-optimize', 'manual-optimize', 'auto-optimize'. * @return string */ public function get_capacity( $describer ) { switch ( $describer ) { case 'manage': $capacity = imagify_is_active_for_network() ? 'manage_network_options' : 'manage_options'; break;
case 'bulk-optimize': case 'optimize': case 'restore': case 'manual-optimize': case 'manual-restore': case 'auto-optimize': $capacity = is_multisite() ? 'manage_network_options' : 'manage_options'; break;
default: $capacity = $describer; }
return $this->filter_capacity( $capacity, $describer ); } }
|