PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.0.0
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.0.0
4.11.2 4.11.1 4.11.0 4.10.0 4.9.5 4.9.4 4.9.3 4.9.2 4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / Framework / Traits / UrlTrait.php
wp-staging / Framework / Traits Last commit date
ApplyFiltersTrait.php 1 year ago ArrayableTrait.php 1 year ago BenchmarkTrait.php 3 years ago BooleanTransientTrait.php 5 years ago DatabaseSearchReplaceTrait.php 1 year ago DbRowsGeneratorTrait.php 4 years ago DebugLogTrait.php 1 year ago DeveloperTimerTrait.php 4 years ago EndOfLinePlaceholderTrait.php 1 year ago EventLoggerTrait.php 1 year ago FileScanToCacheTrait.php 2 years ago FormatTrait.php 1 year ago HttpRequestTrait.php 1 year ago HydrateTrait.php 1 year ago I18nTrait.php 1 year ago MaintenanceTrait.php 5 years ago MemoryExhaustTrait.php 2 years ago MySQLRowsGeneratorTrait.php 1 year ago NoticesTrait.php 1 year ago PropertyConstructor.php 5 years ago ResourceTrait.php 2 years ago RestoreFileExclusionTrait.php 1 year ago SerializeTrait.php 1 year ago SlashTrait.php 1 year ago UrlTrait.php 1 year ago ValueGetterTrait.php 2 years ago WindowsOsTrait.php 1 year ago
UrlTrait.php
55 lines
1 <?php
2
3 namespace WPStaging\Framework\Traits;
4
5 /**
6 * Provide helper methods related to Url
7 * Useful in standalone tool
8 * Trait UrlTrait
9 * @package WPStaging\Framework\Traits
10 */
11 trait UrlTrait
12 {
13 /**
14 * Return url without scheme
15 * @param string $string
16 * @return string
17 */
18 public function getUrlWithoutScheme(string $string): string
19 {
20 return (string)preg_replace('#^https?://#', '', rtrim($string, '/'));
21 }
22
23 /**
24 * Decodes data encoded with MIME base64
25 * @param string $input
26 * @return string
27 */
28 public function base64Decode(string $input): string
29 {
30 $keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
31 $i = 0;
32 $output = "";
33 $input = preg_replace("[^A-Za-z0-9\+\/\=]", "", $input);
34 do {
35 $enc1 = strpos($keyStr, substr($input, $i++, 1));
36 $enc2 = strpos($keyStr, substr($input, $i++, 1));
37 $enc3 = strpos($keyStr, substr($input, $i++, 1));
38 $enc4 = strpos($keyStr, substr($input, $i++, 1));
39 $chr1 = ($enc1 << 2) | ($enc2 >> 4);
40 $chr2 = (($enc2 & 15) << 4) | ($enc3 >> 2);
41 $chr3 = (($enc3 & 3) << 6) | $enc4;
42
43 $output = $output . chr((int)$chr1);
44 if ($enc3 != 64) {
45 $output = $output . chr((int)$chr2);
46 }
47
48 if ($enc4 != 64) {
49 $output = $output . chr((int)$chr3);
50 }
51 } while ($i < strlen($input));
52 return urldecode($output);
53 }
54 }
55