PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 4.9.2
WP STAGING – WordPress Backup, Restore, Migration & Clone v4.9.2
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 / EndOfLinePlaceholderTrait.php
wp-staging / Framework / Traits Last commit date
ApplyFiltersTrait.php 2 months ago ArrayableTrait.php 7 months ago BatchSizeCalculateTrait.php 7 months ago BearerTokenTrait.php 4 months ago BenchmarkTrait.php 2 years ago BooleanTransientTrait.php 5 years ago DatabaseSearchReplaceTrait.php 2 weeks ago DbRowsGeneratorTrait.php 3 years ago DebugLogTrait.php 1 year ago DeveloperTimerTrait.php 9 months ago EndOfLinePlaceholderTrait.php 1 year ago EventLoggerTrait.php 1 month ago FileScanToCacheTrait.php 10 months ago FormatTrait.php 11 months ago HttpRequestTrait.php 9 months ago HydrateTrait.php 1 year ago I18nTrait.php 1 year ago IpResolverTrait.php 10 months ago MaintenanceTrait.php 5 months ago MemoryExhaustTrait.php 2 years ago MySQLRowsGeneratorTrait.php 7 months ago NoticesTrait.php 1 day ago PropertyConstructor.php 5 years ago RenameTmpDirectoryTrait.php 5 months ago ResourceTrait.php 4 months ago RestRequestTrait.php 3 months ago RestoreFileExclusionTrait.php 1 year ago SerializeTrait.php 1 year ago SetTimeLimitTrait.php 1 month ago SlashTrait.php 1 year ago SqlCommentTrait.php 3 months ago TablePrefixValidator.php 3 months ago UrlTrait.php 1 year ago ValueGetterTrait.php 1 year ago WindowsOsTrait.php 1 year ago
EndOfLinePlaceholderTrait.php
62 lines
1 <?php
2
3 namespace WPStaging\Framework\Traits;
4
5 /**
6 * Trait EndOfLinePlaceholderTrait
7 * @package WPStaging\Framework\Traits
8 */
9 trait EndOfLinePlaceholderTrait
10 {
11 use WindowsOsTrait;
12
13 /**
14 * @param array|string $subject
15 *
16 * @see https://github.com/wp-staging/wp-staging-pro/issues/3402
17 *
18 * @return array|string
19 */
20 public function replaceEOLsWithPlaceholders($subject)
21 {
22 if ($subject === null) {
23 return $subject;
24 }
25
26 //Early bail: newline (\n) in file name will not happen on windows.
27 if ($this->isWindowsOs()) {
28 return $subject;
29 }
30
31 return empty($subject) ? $subject : str_replace([PHP_EOL], ['{WPSTG_EOL}'], $subject);
32 }
33
34 /**
35 * @param array|string $subject
36 *
37 * @see https://github.com/wp-staging/wp-staging-pro/issues/3402
38 *
39 * @return array|string
40 */
41 public function replacePlaceholdersWithEOLs($subject)
42 {
43 if ($subject === null) {
44 return $subject;
45 }
46
47 if (strpos($subject, '{WPSTG_EOL}') === false) {
48 return $subject;
49 }
50
51 if ($this->isWindowsOs()) {
52 if (!empty($this->logger)) {
53 $this->logger->warning(sprintf('Filename %s contains EOL character, but Windows doesn\'t support EOL in file name, plugin/theme using that file might not work.', $subject));
54 }
55
56 return $subject;
57 }
58
59 return empty($subject) ? $subject : str_replace(['{WPSTG_EOL}'], [PHP_EOL], $subject);
60 }
61 }
62