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 / uri / aware.php

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

61 lines 1.4 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) 2021 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 * Adapter used to implement URI commons methods between the platform interfaces.
16 *
17 * @since 1.5
18 */
19 abstract class VBOPlatformUriAware implements VBOPlatformUriInterface
20 {
21 /**
22 * Converts the given absolute path into a reachable URL.
23 *
24 * @param string $path The absolute path.
25 * @param boolean $relative True to receive a relative path.
26 *
27 * @return mixed The resulting URL on success, null otherwise.
28 */
29 public function getUrlFromPath($path, $relative = false)
30 {
31 // get platform base path
32 $base = $this->getAbsolutePath();
33
34 if (strpos($path, $base) !== 0)
35 {
36 // The path doesn't start with the base path of the site...
37 // Probably the path cannot be reached via URL.
38 return null;
39 }
40
41 // remove initial path
42 $path = str_replace($base, '', $path);
43 // remove initial directory separator
44 $path = preg_replace("/^[\/\\\\]/", '', $path);
45
46 if (DIRECTORY_SEPARATOR === '\\')
47 {
48 // replace Windows DS
49 $path = preg_replace("[\\\\]", '/', $path);
50 }
51
52 if ($relative)
53 {
54 return $path;
55 }
56
57 // rebuild URL
58 return JUri::root() . $path;
59 }
60 }
61