PluginProbe
Media Cloud Sync / 1.4.1
Media Cloud Sync v1.4.1
1.4.1 1.4.0 1.3.12 1.3.11 1.3.10 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.2.0 1.2.10 1.2.11 1.2.12 1.2.13 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 All 35 releases
← All changes | includes/base/cdn.php +51 -13 1.2.101.4.1 View file →
@@ -27,28 +27,66 @@
27 27 * @since 1.0.0
28 28 *
29 29 */
30 30 public static function may_generate_cdn_url($url, $key) {
31 - $settings = Utils::get_settings();
31 + $settings = Utils::get_settings();
32 32
33 - if (
34 - isset($settings['enable_cdn'], $settings['cdn_url']) &&
35 - $settings['enable_cdn'] && !empty($settings['cdn_url']) &&
36 - isset($url, $key) && !Utils::is_empty($url) && !Utils::is_empty($key)
37 - ) {
38 - $url_parts = explode($key, $url);
39 - if (!empty($url_parts[0])) {
33 + if (
34 + isset($settings['enable_cdn'], $settings['cdn_url']) &&
35 + $settings['enable_cdn'] && !empty($settings['cdn_url']) &&
36 + isset($url, $key) && !Utils::is_empty($url) && !Utils::is_empty($key)
37 + ) {
38 + $url_parts = explode($key, $url);
39 + if (!empty($url_parts[0])) {
40 + $cdn_url = 'https://' . preg_replace('#^https?://#i', '', trim($settings['cdn_url']));
41 + $new_url = str_replace(trailingslashit($url_parts[0]), trailingslashit($cdn_url), $url);
42 + $new_url = apply_filters('wpmcs_cdn_url', $new_url, $url, $cdn_url);
43 + return preg_replace('/([^:])(\/{2,})/', '$1/', $new_url); // remove double slashes
44 + }
45 + }
46 +
47 + return $url;
48 + }
49 +
50 +
51 + /**
52 + * Is CDN URL ?
53 + * @since 1.3.6
54 + */
55 + public static function is_cdn_url($url) {
56 + $settings = Utils::get_settings();
57 +
58 + if (
59 + isset($settings['enable_cdn'], $settings['cdn_url']) &&
60 + $settings['enable_cdn'] && !empty($settings['cdn_url']) &&
61 + isset($url) && !Utils::is_empty($url)
62 + ) {
40 63 $cdn_url = 'https://' . preg_replace('#^https?://#i', '', trim($settings['cdn_url']));
41 - $new_url = str_replace(trailingslashit($url_parts[0]), trailingslashit($cdn_url), $url);
42 - $new_url = apply_filters('wpmcs_cdn_url', $new_url, $url, $cdn_url);
43 - return preg_replace('/([^:])(\/{2,})/', '$1/', $new_url); // remove double slashes
64 + return (strpos($url, $cdn_url . '/') !== false);
44 65 }
66 +
67 + return false;
45 68 }
46 69
47 - return $url;
48 -}
70 +
71 + /**
72 + * Get the CDN domain.
73 + *
74 + * @since 1.3.6
75 + * @return string The CDN domain URL if enabled, otherwise an empty string.
76 + */
77 + public static function get_domain() {
78 + $settings = Utils::get_settings();
49 79
80 + if (
81 + isset($settings['enable_cdn'], $settings['cdn_url']) &&
82 + $settings['enable_cdn'] && !empty($settings['cdn_url'])
83 + ) {
84 + return 'https://' . preg_replace('#^https?://#i', '', trim($settings['cdn_url']));
85 + }
50 86
87 + return '';
88 + }
51 89
52 90
53 91 public static function instance(){
54 92 if (is_null(self::$instance)) {