PluginProbe ʕ •ᴥ•ʔ
10Web Booster – Website speed optimization, Cache & Page Speed optimizer / trunk
10Web Booster – Website speed optimization, Cache & Page Speed optimizer vtrunk
2.33.0 2.30.5 2.30.7 2.30.9 2.31.10 2.31.8 2.32.11 2.32.21 2.32.3 2.32.4 2.32.7 2.6.31 2.6.40 2.6.42 2.6.7 2.7.37 2.7.44 2.7.47 2.8.18 2.8.19 2.8.32 2.8.34 2.8.35 2.9.23 2.9.24 2.9.25 2.9.27 v2.27.4 trunk 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.17 2.0.18 2.0.21 2.0.22 2.0.25 2.0.26 2.0.27 2.0.3 2.0.7 2.0.9 2.10.46 2.10.65 2.10.66 2.10.68 2.11.41 2.11.42 2.11.43 2.12.15 2.12.21 2.12.22 2.12.23 2.12.26 2.13.37 2.13.40 2.13.41 2.13.42 2.13.44 2.13.45 2.13.47 2.14.49 2.14.50 2.15.18 2.17.21 2.17.23 2.18.17 2.19.44 2.19.45 2.19.46 2.19.49 2.2.12 2.2.15 2.2.16 2.2.18 2.2.8 2.20.31 2.20.32 2.20.33 2.21.11 2.21.12 2.21.16 2.21.25 2.22.32 2.23.13 2.23.15 2.23.16 2.23.18 2.24.12 2.24.14 2.24.18 2.25.14 2.26.6 2.28.10 2.28.13 2.28.14 2.28.7 2.29.1 2.29.2 2.29.3 2.3.0 2.3.1 2.3.2 2.3.3 2.30.18
tenweb-speed-optimizer / vendor / 10web-utils / tenweb-image-optimizer / src / TenWebIO / Settings.php
tenweb-speed-optimizer / vendor / 10web-utils / tenweb-image-optimizer / src / TenWebIO Last commit date
Exceptions 4 years ago Queue 2 years ago Views 2 years ago Api.php 2 years ago Attachments.php 2 years ago Backup.php 2 years ago CLI.php 3 years ago Compress.php 2 years ago CompressDataService.php 3 years ago CompressService.php 3 years ago Config.php 2 years ago Init.php 2 years ago LastCompress.php 3 years ago Logs.php 2 years ago PreInit.php 3 years ago Rest.php 2 years ago Settings.php 3 years ago Utils.php 1 year ago
Settings.php
129 lines
1 <?php
2
3 namespace TenWebIO;
4
5 use TenWebWpTransients\OptimizerTransients;
6
7 class Settings
8 {
9 private $settings;
10 private $aws_credentials;
11 private $stat;
12 private $request_api;
13
14 public function __construct($request_api = true)
15 {
16 $this->request_api = $request_api;
17 }
18
19 /**
20 *
21 * @param bool $force
22 * @param int $exclude_aws
23 * @param int $exclude_stat
24 *
25 * @return mixed
26 */
27 public function getSettings($force = false, $exclude_aws = 0, $exclude_stat = 0)
28 {
29 $this->settings = get_option(TENWEBIO_PREFIX . '_settings');
30 if (empty($this->settings) || $force) {
31 $this->getCompressSettings(0, $exclude_aws, $exclude_stat);
32 }
33
34 return $this->settings;
35 }
36
37 /**
38 * @param bool $force
39 * @param int $exclude_settings
40 * @param int $exclude_stat
41 *
42 * @return mixed
43 */
44 public function getAwsCredentials($force = false, $exclude_settings = 0, $exclude_stat = 0)
45 {
46 $domain_id = get_option(TENWEBIO_MANAGER_PREFIX . '_domain_id');
47 $this->aws_credentials = OptimizerTransients::get(TENWEBIO_PREFIX . '_aws_credentials_' . $domain_id);
48 if (empty($this->aws_credentials) || $force) {
49 $this->getCompressSettings($exclude_settings, 0, $exclude_stat);
50 }
51
52 return $this->aws_credentials;
53 }
54
55 /**
56 * @param bool $force
57 * @param int $exclude_settings
58 * @param int $exclude_aws
59 *
60 * @return mixed
61 */
62 public function getStat($force = false, $exclude_settings = 0, $exclude_aws = 0)
63 {
64 $this->stat = get_option(TENWEBIO_PREFIX . '_stat');
65 if (empty($this->stat) || $force) {
66 $this->getCompressSettings($exclude_settings, $exclude_aws, 0);
67 }
68
69 return $this->stat;
70 }
71
72 /**
73 * @return void
74 */
75 public static function purgeCompressSettings()
76 {
77 delete_option(TENWEBIO_PREFIX . '_stat');
78 delete_option(TENWEBIO_PREFIX . '_settings');
79 $domain_id = get_option(TENWEBIO_MANAGER_PREFIX . '_domain_id');
80 OptimizerTransients::delete(TENWEBIO_PREFIX . '_aws_credentials_' . $domain_id);
81 delete_transient(TENWEBIO_PREFIX . '_not_optimized_data');
82 delete_transient(TENWEBIO_PREFIX . '_images_report');
83 }
84
85 public function settingActions()
86 {
87 $settings = $this->settings;
88 if ($settings["enable_auto_optimization"] == 0) {
89 wp_clear_scheduled_hook('tenwebio_compress_hook');
90 }
91 }
92
93 /**
94 * @param int $exclude_settings
95 * @param int $exclude_aws
96 * @param int $exclude_stat
97 *
98 * @return void
99 */
100
101 private function getCompressSettings($exclude_settings = 0, $exclude_aws = 0, $exclude_stat = 0)
102 {
103 if (!$this->request_api) {
104 return;
105 }
106 $api_instance = new Api(Api::API_COMPRESS_SETTINGS_ACTION);
107 $response = $api_instance->apiRequest('GET', array(), array(
108 'exclude_aws_credentials' => $exclude_aws,
109 'exclude_stat' => $exclude_stat,
110 'exclude_settings' => $exclude_settings,
111 ));
112 if ($response) {
113 if (!empty($response['settings'])) {
114 update_option(TENWEBIO_PREFIX . '_settings', $response['settings']);
115 $this->settings = $response['settings'];
116 $this->settingActions();
117 }
118 if (!empty($response['stat'])) {
119 update_option(TENWEBIO_PREFIX . '_stat', $response['stat']);
120 $this->stat = $response['stat'];
121 }
122 if (!empty($response['aws_credentials'])) {
123 $domain_id = get_option(TENWEBIO_MANAGER_PREFIX . '_domain_id');
124 OptimizerTransients::set(TENWEBIO_PREFIX . '_aws_credentials_' . $domain_id, $response['aws_credentials'], 17000);
125 $this->aws_credentials = $response['aws_credentials'];
126 }
127 }
128 }
129 }