File: SettingsFileUtils.php

package info (click to toggle)
mediawiki 1%3A1.43.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 417,464 kB
  • sloc: php: 1,062,949; javascript: 664,290; sql: 9,714; python: 5,458; xml: 3,489; sh: 1,131; makefile: 64
file content (35 lines) | stat: -rw-r--r-- 996 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php

namespace MediaWiki\Settings\Source;

/**
 * A collection of static utility methods for use with
 * settings files.
 *
 * @since 1.38
 * @internal since the behavior may change to accommodate more types of source locations.
 */
class SettingsFileUtils {

	/**
	 * Resolves a relative settings source location. This method will attempt to interpret
	 * $path as relative to $base if possible. This behaves similar to relative URLs are
	 * made absolute using a base URL.
	 *
	 * The current implementation is based on file paths, but this may be expanded in the future
	 * to support other kinds of locations.
	 *
	 * @param string $path
	 * @param string $base
	 *
	 * @return string
	 */
	public static function resolveRelativeLocation( string $path, string $base ): string {
		// Qualify the path if it isn't already absolute
		if ( !preg_match( '!^[a-zA-Z]:\\\\!', $path ) && $path[0] != DIRECTORY_SEPARATOR ) {
			$path = $base . DIRECTORY_SEPARATOR . $path;
		}

		return $path;
	}
}