for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace ApacheSolrForTypo3\Tika\Utility;
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
* The TYPO3 project - inspiring people to share!
*/
use TYPO3\CMS\Core\Core\Environment;
/**
* Class ShellUtility
class ShellUtility
{
* @return string
public static function getLanguagePrefix(): string
if (!empty($GLOBALS['TYPO3_CONF_VARS']['SYS']['UTF8filesystem']) && !Environment::isWindows()) {
return 'LC_CTYPE="' . $GLOBALS['TYPO3_CONF_VARS']['SYS']['systemLocale'] . '" ';
}
return '';
* Backwards compatibility to 6.x, is available in CommandUtility in 7.x
* @param string $argument
public static function escapeShellArgument(string $argument): string
$isUTF8Filesystem = !empty($GLOBALS['TYPO3_CONF_VARS']['SYS']['UTF8filesystem']);
if ($isUTF8Filesystem) {
$currentLocale = setlocale(LC_CTYPE, 0);
setlocale(
LC_CTYPE,
$GLOBALS['TYPO3_CONF_VARS']['SYS']['systemLocale']
);
$argument = escapeshellarg($argument);
setlocale(LC_CTYPE, $currentLocale);
$currentLocale
return $argument;