*/
class Shell {
- /**
- * Apply a default set of restrictions for improved
- * security out of the box.
- *
- * Equal to NO_ROOT | SECCOMP | PRIVATE_DEV | NO_LOCALSETTINGS
- *
- * @note This value will change over time to provide increased security
- * by default, and is not guaranteed to be backwards-compatible.
- * @since 1.31
- */
- const RESTRICT_DEFAULT = 39;
-
/**
* Disallow any root access. Any setuid binaries
* will be run without elevated access.
*/
const NO_LOCALSETTINGS = 32;
+ /**
+ * Apply a default set of restrictions for improved
+ * security out of the box.
+ *
+ * @note This value will change over time to provide increased security
+ * by default, and is not guaranteed to be backwards-compatible.
+ * @since 1.31
+ */
+ const RESTRICT_DEFAULT = self::NO_ROOT | self::SECCOMP | self::PRIVATE_DEV |
+ self::NO_LOCALSETTINGS;
+
/**
* Don't apply any restrictions
*
/**
* Returns a new instance of Command class
*
- * @param string|string[] $command String or array of strings representing the command to
+ * @param string|string[] ...$commands String or array of strings representing the command to
* be executed, each value will be escaped.
* Example: [ 'convert', '-font', 'font name' ] would produce "'convert' '-font' 'font name'"
* @return Command
*/
- public static function command( $command ) {
- $args = func_get_args();
- if ( count( $args ) === 1 && is_array( reset( $args ) ) ) {
+ public static function command( ...$commands ) {
+ if ( count( $commands ) === 1 && is_array( reset( $commands ) ) ) {
// If only one argument has been passed, and that argument is an array,
// treat it as a list of arguments
- $args = reset( $args );
+ $commands = reset( $commands );
}
$command = MediaWikiServices::getInstance()
->getShellCommandFactory()
->create();
- return $command->params( $args );
+ return $command->params( $commands );
}
/**
* (https://bugs.php.net/bug.php?id=26285) and the locale problems on Linux in
* PHP 5.2.6+ (bug backported to earlier distro releases of PHP).
*
- * @param string $args,... strings to escape and glue together, or a single array of
- * strings parameter. Null values are ignored.
+ * @param string|string[] ...$args strings to escape and glue together, or a single
+ * array of strings parameter. Null values are ignored.
* @return string
*/
- public static function escape( /* ... */ ) {
- $args = func_get_args();
+ public static function escape( ...$args ) {
if ( count( $args ) === 1 && is_array( reset( $args ) ) ) {
// If only one argument has been passed, and that argument is an array,
// treat it as a list of arguments