@@ -37,7 +37,7 @@ discard block |
||
| 37 | 37 | /** @var string|null */ |
| 38 | 38 | private $baseTag = null; |
| 39 | 39 | /** @var string|null */ |
| 40 | - private $starterPath=null; |
|
| 40 | + private $starterPath = null; |
|
| 41 | 41 | /** |
| 42 | 42 | * @var array|false|int|string|null |
| 43 | 43 | */ |
@@ -56,9 +56,9 @@ discard block |
||
| 56 | 56 | * ConvertToAbsolutePath constructor. |
| 57 | 57 | * @param $pagePath |
| 58 | 58 | */ |
| 59 | - public function __construct($pagePath=NULL) |
|
| 59 | + public function __construct($pagePath = NULL) |
|
| 60 | 60 | { |
| 61 | - if(isset($pagePath)) { |
|
| 61 | + if (isset($pagePath)) { |
|
| 62 | 62 | $this->setPagePath($pagePath); |
| 63 | 63 | } |
| 64 | 64 | } |
@@ -70,11 +70,11 @@ discard block |
||
| 70 | 70 | { |
| 71 | 71 | // Skip converting if the relative url like http://... or android-app://... etc. |
| 72 | 72 | if (preg_match('/[a-z0-9-]{1,}(:\/\/)/i', $path)) { |
| 73 | - if(preg_match('/services:\/\//i', $path)) |
|
| 73 | + if (preg_match('/services:\/\//i', $path)) |
|
| 74 | 74 | return ''; |
| 75 | - if(preg_match('/whatsapp:\/\//i', $path)) |
|
| 75 | + if (preg_match('/whatsapp:\/\//i', $path)) |
|
| 76 | 76 | return ''; |
| 77 | - if(preg_match('/tel:/i', $path)) |
|
| 77 | + if (preg_match('/tel:/i', $path)) |
|
| 78 | 78 | return ''; |
| 79 | 79 | return $path; |
| 80 | 80 | } |
@@ -83,33 +83,33 @@ discard block |
||
| 83 | 83 | return ''; |
| 84 | 84 | } |
| 85 | 85 | // Convert //www.google.com to http://www.google.com |
| 86 | - if(substr($path, 0, 2) == '//') { |
|
| 86 | + if (substr($path, 0, 2) == '//') { |
|
| 87 | 87 | return 'http:' . $path; |
| 88 | 88 | } |
| 89 | 89 | // If the path is a fragment or query string, |
| 90 | 90 | // it will be appended to the base url |
| 91 | - if(substr($path, 0, 1) == '#' || substr($path, 0, 1) == '?') { |
|
| 91 | + if (substr($path, 0, 1) == '#' || substr($path, 0, 1) == '?') { |
|
| 92 | 92 | return $this->getStarterPath() . $path; |
| 93 | 93 | } |
| 94 | 94 | // Treat paths with doc root, i.e, /about |
| 95 | - if(substr($path, 0, 1) == '/') { |
|
| 95 | + if (substr($path, 0, 1) == '/') { |
|
| 96 | 96 | return $this->onlySitePath($this->getStarterPath()) . $path; |
| 97 | 97 | } |
| 98 | 98 | // For paths like ./foo, it will be appended to the furthest directory |
| 99 | - if(substr($path, 0, 2) == './') { |
|
| 99 | + if (substr($path, 0, 2) == './') { |
|
| 100 | 100 | return $this->uptoLastDir($this->getStarterPath()) . substr($path, 2); |
| 101 | 101 | } |
| 102 | 102 | // Convert paths like ../foo or ../../bar |
| 103 | - if(substr($path, 0, 3) == '../') { |
|
| 103 | + if (substr($path, 0, 3) == '../') { |
|
| 104 | 104 | $rel = $path; |
| 105 | 105 | $base = $this->uptoLastDir($this->getStarterPath()); |
| 106 | - while(substr($rel, 0, 3) == '../') { |
|
| 106 | + while (substr($rel, 0, 3) == '../') { |
|
| 107 | 107 | $base = preg_replace('/\/([^\/]+\/)$/i', '/', $base); |
| 108 | 108 | $rel = substr($rel, 3); |
| 109 | 109 | } |
| 110 | 110 | if ($base === ($this->getScheme() . '://')) { |
| 111 | 111 | $base .= $this->getDomain(); |
| 112 | - } elseif ($base===($this->getScheme(). ':/')) { |
|
| 112 | + } elseif ($base === ($this->getScheme() . ':/')) { |
|
| 113 | 113 | $base .= '/' . $this->getDomain(); |
| 114 | 114 | } |
| 115 | 115 | return $base . $rel; |
@@ -127,9 +127,9 @@ discard block |
||
| 127 | 127 | $parseUrl = parse_url($url); |
| 128 | 128 | if (!isset($parseUrl['scheme']) AND !isset($parseUrl['host'])) { |
| 129 | 129 | return ''; |
| 130 | - }elseif(isset($parseUrl['scheme'])){ |
|
| 130 | + }elseif (isset($parseUrl['scheme'])) { |
|
| 131 | 131 | return $parseUrl['scheme'] . '://' . $parseUrl['host']; |
| 132 | - } else { |
|
| 132 | + }else { |
|
| 133 | 133 | return $parseUrl['host']; |
| 134 | 134 | } |
| 135 | 135 | } |
@@ -139,7 +139,7 @@ discard block |
||
| 139 | 139 | public function upToLastDir($url) { |
| 140 | 140 | $parseUrl = parse_url($url); |
| 141 | 141 | $path = ''; |
| 142 | - if(isset($parseUrl['path'])) |
|
| 142 | + if (isset($parseUrl['path'])) |
|
| 143 | 143 | $path = preg_replace('/\/([^\/]+)$/i', '', $parseUrl['path']); |
| 144 | 144 | return rtrim($parseUrl['scheme'] . '://' . $parseUrl['host'] . $path, '/') . '/'; |
| 145 | 145 | } |
@@ -177,12 +177,12 @@ discard block |
||
| 177 | 177 | */ |
| 178 | 178 | private function getStarterPath(): string |
| 179 | 179 | { |
| 180 | - if($this->starterPath===null){ |
|
| 181 | - if($this->getBaseTag() === null) { |
|
| 182 | - $this->starterPath =$this->getPagePath(); |
|
| 183 | - }elseif(array_key_exists('scheme', $this->getBaseTagParsing())){ |
|
| 184 | - $this->starterPath = $this->getBaseTag() ; |
|
| 185 | - }else{ |
|
| 180 | + if ($this->starterPath === null) { |
|
| 181 | + if ($this->getBaseTag() === null) { |
|
| 182 | + $this->starterPath = $this->getPagePath(); |
|
| 183 | + }elseif (array_key_exists('scheme', $this->getBaseTagParsing())) { |
|
| 184 | + $this->starterPath = $this->getBaseTag(); |
|
| 185 | + }else { |
|
| 186 | 186 | $this->starterPath = $this->getPagePathParsing()['scheme'] . '://' . $this->getPagePathParsing()['host'] . $this->getBaseTag(); |
| 187 | 187 | } |
| 188 | 188 | } |
@@ -192,11 +192,11 @@ discard block |
||
| 192 | 192 | private function getDomain() |
| 193 | 193 | { |
| 194 | 194 | if ($this->domain === null) { |
| 195 | - if($this->getBaseTag() === null) { |
|
| 195 | + if ($this->getBaseTag() === null) { |
|
| 196 | 196 | $this->domain = $this->getPagePathParsing()['host'] . '/'; |
| 197 | - }elseif(array_key_exists('scheme', $this->getBaseTagParsing())){ |
|
| 197 | + }elseif (array_key_exists('scheme', $this->getBaseTagParsing())) { |
|
| 198 | 198 | $this->domain = $this->getBaseTagParsing()['host'] . '/'; |
| 199 | - }else{ |
|
| 199 | + }else { |
|
| 200 | 200 | $this->domain = $this->getPagePathParsing()['host'] . '/'; |
| 201 | 201 | } |
| 202 | 202 | } |
@@ -206,11 +206,11 @@ discard block |
||
| 206 | 206 | private function getScheme() |
| 207 | 207 | { |
| 208 | 208 | if ($this->scheme === null) { |
| 209 | - if($this->getBaseTag() === null) { |
|
| 209 | + if ($this->getBaseTag() === null) { |
|
| 210 | 210 | $this->scheme = $this->getPagePathParsing()['scheme']; |
| 211 | - }elseif(array_key_exists('scheme', $this->getBaseTagParsing())){ |
|
| 211 | + }elseif (array_key_exists('scheme', $this->getBaseTagParsing())) { |
|
| 212 | 212 | $this->scheme = $this->getBaseTagParsing()['scheme']; |
| 213 | - }else{ |
|
| 213 | + }else { |
|
| 214 | 214 | $this->scheme = $this->getPagePathParsing()['scheme']; |
| 215 | 215 | } |
| 216 | 216 | } |
@@ -219,14 +219,14 @@ discard block |
||
| 219 | 219 | |
| 220 | 220 | private function getBaseTagParsing() |
| 221 | 221 | { |
| 222 | - if($this->baseTagParsing == null) |
|
| 222 | + if ($this->baseTagParsing == null) |
|
| 223 | 223 | $this->baseTagParsing = parse_url($this->getBaseTag()); |
| 224 | 224 | return $this->baseTagParsing; |
| 225 | 225 | } |
| 226 | 226 | |
| 227 | 227 | private function getPagePathParsing() |
| 228 | 228 | { |
| 229 | - if($this->pagePathParsing == null) |
|
| 229 | + if ($this->pagePathParsing == null) |
|
| 230 | 230 | $this->pagePathParsing = parse_url($this->getPagePath()); |
| 231 | 231 | return $this->pagePathParsing; |
| 232 | 232 | } |
@@ -70,12 +70,15 @@ discard block |
||
| 70 | 70 | { |
| 71 | 71 | // Skip converting if the relative url like http://... or android-app://... etc. |
| 72 | 72 | if (preg_match('/[a-z0-9-]{1,}(:\/\/)/i', $path)) { |
| 73 | - if(preg_match('/services:\/\//i', $path)) |
|
| 74 | - return ''; |
|
| 75 | - if(preg_match('/whatsapp:\/\//i', $path)) |
|
| 76 | - return ''; |
|
| 77 | - if(preg_match('/tel:/i', $path)) |
|
| 78 | - return ''; |
|
| 73 | + if(preg_match('/services:\/\//i', $path)) { |
|
| 74 | + return ''; |
|
| 75 | + } |
|
| 76 | + if(preg_match('/whatsapp:\/\//i', $path)) { |
|
| 77 | + return ''; |
|
| 78 | + } |
|
| 79 | + if(preg_match('/tel:/i', $path)) { |
|
| 80 | + return ''; |
|
| 81 | + } |
|
| 79 | 82 | return $path; |
| 80 | 83 | } |
| 81 | 84 | // Treat path as invalid if it is like javascript:... etc. |
@@ -127,7 +130,7 @@ discard block |
||
| 127 | 130 | $parseUrl = parse_url($url); |
| 128 | 131 | if (!isset($parseUrl['scheme']) AND !isset($parseUrl['host'])) { |
| 129 | 132 | return ''; |
| 130 | - }elseif(isset($parseUrl['scheme'])){ |
|
| 133 | + } elseif(isset($parseUrl['scheme'])){ |
|
| 131 | 134 | return $parseUrl['scheme'] . '://' . $parseUrl['host']; |
| 132 | 135 | } else { |
| 133 | 136 | return $parseUrl['host']; |
@@ -139,8 +142,9 @@ discard block |
||
| 139 | 142 | public function upToLastDir($url) { |
| 140 | 143 | $parseUrl = parse_url($url); |
| 141 | 144 | $path = ''; |
| 142 | - if(isset($parseUrl['path'])) |
|
| 143 | - $path = preg_replace('/\/([^\/]+)$/i', '', $parseUrl['path']); |
|
| 145 | + if(isset($parseUrl['path'])) { |
|
| 146 | + $path = preg_replace('/\/([^\/]+)$/i', '', $parseUrl['path']); |
|
| 147 | + } |
|
| 144 | 148 | return rtrim($parseUrl['scheme'] . '://' . $parseUrl['host'] . $path, '/') . '/'; |
| 145 | 149 | } |
| 146 | 150 | |
@@ -180,9 +184,9 @@ discard block |
||
| 180 | 184 | if($this->starterPath===null){ |
| 181 | 185 | if($this->getBaseTag() === null) { |
| 182 | 186 | $this->starterPath =$this->getPagePath(); |
| 183 | - }elseif(array_key_exists('scheme', $this->getBaseTagParsing())){ |
|
| 187 | + } elseif(array_key_exists('scheme', $this->getBaseTagParsing())){ |
|
| 184 | 188 | $this->starterPath = $this->getBaseTag() ; |
| 185 | - }else{ |
|
| 189 | + } else{ |
|
| 186 | 190 | $this->starterPath = $this->getPagePathParsing()['scheme'] . '://' . $this->getPagePathParsing()['host'] . $this->getBaseTag(); |
| 187 | 191 | } |
| 188 | 192 | } |
@@ -194,9 +198,9 @@ discard block |
||
| 194 | 198 | if ($this->domain === null) { |
| 195 | 199 | if($this->getBaseTag() === null) { |
| 196 | 200 | $this->domain = $this->getPagePathParsing()['host'] . '/'; |
| 197 | - }elseif(array_key_exists('scheme', $this->getBaseTagParsing())){ |
|
| 201 | + } elseif(array_key_exists('scheme', $this->getBaseTagParsing())){ |
|
| 198 | 202 | $this->domain = $this->getBaseTagParsing()['host'] . '/'; |
| 199 | - }else{ |
|
| 203 | + } else{ |
|
| 200 | 204 | $this->domain = $this->getPagePathParsing()['host'] . '/'; |
| 201 | 205 | } |
| 202 | 206 | } |
@@ -208,9 +212,9 @@ discard block |
||
| 208 | 212 | if ($this->scheme === null) { |
| 209 | 213 | if($this->getBaseTag() === null) { |
| 210 | 214 | $this->scheme = $this->getPagePathParsing()['scheme']; |
| 211 | - }elseif(array_key_exists('scheme', $this->getBaseTagParsing())){ |
|
| 215 | + } elseif(array_key_exists('scheme', $this->getBaseTagParsing())){ |
|
| 212 | 216 | $this->scheme = $this->getBaseTagParsing()['scheme']; |
| 213 | - }else{ |
|
| 217 | + } else{ |
|
| 214 | 218 | $this->scheme = $this->getPagePathParsing()['scheme']; |
| 215 | 219 | } |
| 216 | 220 | } |
@@ -219,15 +223,17 @@ discard block |
||
| 219 | 223 | |
| 220 | 224 | private function getBaseTagParsing() |
| 221 | 225 | { |
| 222 | - if($this->baseTagParsing == null) |
|
| 223 | - $this->baseTagParsing = parse_url($this->getBaseTag()); |
|
| 226 | + if($this->baseTagParsing == null) { |
|
| 227 | + $this->baseTagParsing = parse_url($this->getBaseTag()); |
|
| 228 | + } |
|
| 224 | 229 | return $this->baseTagParsing; |
| 225 | 230 | } |
| 226 | 231 | |
| 227 | 232 | private function getPagePathParsing() |
| 228 | 233 | { |
| 229 | - if($this->pagePathParsing == null) |
|
| 230 | - $this->pagePathParsing = parse_url($this->getPagePath()); |
|
| 234 | + if($this->pagePathParsing == null) { |
|
| 235 | + $this->pagePathParsing = parse_url($this->getPagePath()); |
|
| 236 | + } |
|
| 231 | 237 | return $this->pagePathParsing; |
| 232 | 238 | } |
| 233 | 239 | } |
| 234 | 240 | \ No newline at end of file |