PluginProbe
VikBooking Hotel Booking Engine & PMS / trunk
VikBooking Hotel Booking Engine & PMS vtrunk
1.8.15 1.8.14 1.8.13 1.8.12 1.8.11 1.8.10 1.8.9 1.8.6 1.8.7 1.8.8 trunk 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 All 36 releases
vikbooking / admin / helpers / src / platform / detection.php

detection.php in VikBooking Hotel Booking Engine & PMS trunk, at admin/helpers/src/platform/detection.php

89 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package VikBooking
4 * @subpackage core
5 * @author E4J s.r.l.
6 * @copyright Copyright (C) 2023 E4J s.r.l. All Rights Reserved.
7 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
8 * @link https://vikwp.com
9 */
10
11 // No direct access
12 defined('ABSPATH') or die('No script kiddies please!');
13
14 /**
15 * Detects the platform on which the system is running.
16 *
17 * @since 1.16.1 (J) - 1.6.1 (WP)
18 */
19 final class VBOPlatformDetection
20 {
21 /**
22 * @var string
23 */
24 private static $platform = '';
25
26 /**
27 * Tells whether the current platform is WordPress.
28 *
29 * @return bool
30 */
31 public static function isWordPress()
32 {
33 if (!static::$platform) {
34 static::detect();
35 }
36
37 return (static::$platform === 'wordpress');
38 }
39
40 /**
41 * Tells whether the current platform is Joomla.
42 *
43 * @return bool
44 */
45 public static function isJoomla()
46 {
47 if (!static::$platform) {
48 static::detect();
49 }
50
51 return (static::$platform === 'joomla');
52 }
53
54 /**
55 * Tells whether the current execution is made by the WordPress REST API framework.
56 * Useful to tell, for example, if the Gutenberg preview is calling the REST endpoint.
57 *
58 * @return bool
59 *
60 * @since 1.16.7 (J) - 1.6.7 (WP)
61 */
62 public static function isWordPressRestApi()
63 {
64 $requestUri = JFactory::getApplication()->input->server->getString('REQUEST_URI', '');
65
66 if (static::isWordPress()) {
67 if (strpos($requestUri, trailingslashit(rest_get_url_prefix())) !== false || JUri::getInstance($requestUri)->hasVar('rest_route')) {
68 return true;
69 }
70 }
71
72 return false;
73 }
74
75 /**
76 * Detects the name of the platform on which we are running the software.
77 *
78 * @return void
79 */
80 private static function detect()
81 {
82 if (defined('ABSPATH') && function_exists('wp_die')) {
83 static::$platform = 'wordpress';
84 } else {
85 static::$platform = 'joomla';
86 }
87 }
88 }
89