ngs->get_settings('two_enable_nginx_webp_delivery'); } else { if (TENWEB_SO_HOSTED_ON_NGINX) { $webp_status['hosting'] = 'NGINX'; } else { $webp_status['hosting'] = 'APACHE'; $webp_status['htaccess_writable'] = TENWEB_SO_HTACCESS_WRITABLE; $webp_status['webp_delivery'] = $TwoSettings->get_settings('two_enable_htaccess_webp_delivery'); } $two_webp_delivery_working = \TenWebOptimizer\OptimizerUtils::testWebPDelivery(); $webp_status['webp_delivery_working'] = $two_webp_delivery_working; $webp_status['picture_webp_delivery'] = $TwoSettings->get_settings('two_enable_picture_webp_delivery'); } if ($webp_status) { $data_for_response['success'] = true; $data_for_response['message'] = 'WebP status collected successfully.'; $data_for_response['data'] = $webp_status; } } catch (Exception $exception) { $data_for_response['message'] = 'Error in getting webp status'; $data_for_response['error'] = $exception->getMessage() . ' in ' . $exception->getFile() . ' on ' . $exception->getLine(); return $data_for_response; } return $data_for_response; } public function get_settings($filter = '') { $filter_arr = []; if (!empty($filter)) { $filter_arr = explode(',', $filter); } $TwoSettings = new \TenWebOptimizer\OptimizerSettings(); $settings_data = $TwoSettings->settings_names; $default_settings = $TwoSettings->default_settings; $two_settings = get_option('two_settings'); $two_settings = json_decode($two_settings, true); $two_settings['two_critical_pages'] = OptimizerUtils::getCriticalPages(); $filter_data = []; if (!empty($filter_arr)) { foreach ($filter_arr as $option_name) { if (isset($settings_data[$option_name])) { $filter_data[$option_name] = $settings_data[$option_name]; } } if (!empty($filter_data)) { $settings_data = $filter_data; } } foreach ($two_settings as $key => $val) { if (isset($settings_data[$key])) { if ($settings_data[$key]['type'] == 'checkbox' && (empty($val) || $val === 'false')) { $val = 'off'; } if ($settings_data[$key]['default'] == 'true') { $settings_data[$key]['default'] = 'on'; } if ($key === 'two_critical_status' && $val === 'true') { $val = 'on'; } if ($settings_data[$key]['type'] == 'select') { if (empty($val) && isset($default_settings[$key])) { $val = $default_settings[$key]; } } $settings_data[$key]['value'] = $val; } } return $settings_data; } }