Commit 8872b0dd authored by catch's avatar catch

Issue #2842942 by alexpott: Fix tempnam() usage in PHP7.1

parent 6b342913
......@@ -648,7 +648,7 @@ public function testPluralConfigStringsSourceElements() {
foreach ($languages as $langcode => $data) {
// Import a .po file to add a new language with a given number of plural forms
$name = tempnam('temporary://', $langcode . '_') . '.po';
$name = \Drupal::service('file_system')->tempnam('temporary://', $langcode . '_') . '.po';
file_put_contents($name, $this->getPoFile($data['plurals']));
$this->drupalPostForm('admin/config/regional/translate/import', array(
'langcode' => $langcode,
......@@ -684,7 +684,7 @@ public function testPluralConfigStrings() {
// First import a .po file with multiple plural forms.
// This will also automatically add the 'sl' language.
$name = tempnam('temporary://', "sl_") . '.po';
$name = \Drupal::service('file_system')->tempnam('temporary://', "sl_") . '.po';
file_put_contents($name, $this->getPoFile(4));
$this->drupalPostForm('admin/config/regional/translate/import', array(
'langcode' => 'sl',
......
......@@ -3,6 +3,7 @@
namespace Drupal\locale\Form;
use Drupal\Component\Gettext\PoStreamWriter;
use Drupal\Core\File\FileSystemInterface;
use Drupal\Core\Form\FormBase;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Language\LanguageInterface;
......@@ -23,14 +24,24 @@ class ExportForm extends FormBase {
*/
protected $languageManager;
/**
* The file system service.
*
* @var \Drupal\Core\File\FileSystemInterface
*/
protected $fileSystem;
/**
* Constructs a new ExportForm.
*
* @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
* The language manager.
* @param \Drupal\Core\File\FileSystemInterface $file_system
* The file system service.
*/
public function __construct(LanguageManagerInterface $language_manager) {
public function __construct(LanguageManagerInterface $language_manager, FileSystemInterface $file_system) {
$this->languageManager = $language_manager;
$this->fileSystem = $file_system;
}
/**
......@@ -38,7 +49,8 @@ public function __construct(LanguageManagerInterface $language_manager) {
*/
public static function create(ContainerInterface $container) {
return new static(
$container->get('language_manager')
$container->get('language_manager'),
$container->get('file_system')
);
}
......@@ -147,7 +159,7 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
$item = $reader->readItem();
if (!empty($item)) {
$uri = tempnam('temporary://', 'po_');
$uri = $this->fileSystem->tempnam('temporary://', 'po_');
$header = $reader->getHeader();
$header->setProjectName($this->config('system.site')->get('name'));
$header->setLanguageName($language_name);
......
......@@ -43,7 +43,7 @@ protected function setUp() {
public function testExportTranslation() {
// First import some known translations.
// This will also automatically add the 'fr' language.
$name = tempnam('temporary://', "po_") . '.po';
$name = \Drupal::service('file_system')->tempnam('temporary://', "po_") . '.po';
file_put_contents($name, $this->getPoFile());
$this->drupalPostForm('admin/config/regional/translate/import', array(
'langcode' => 'fr',
......@@ -62,7 +62,7 @@ public function testExportTranslation() {
$this->assertRaw('msgstr "lundi"', 'French translations present in exported file.');
// Import some more French translations which will be marked as customized.
$name = tempnam('temporary://', "po2_") . '.po';
$name = \Drupal::service('file_system')->tempnam('temporary://', "po2_") . '.po';
file_put_contents($name, $this->getCustomPoFile());
$this->drupalPostForm('admin/config/regional/translate/import', array(
'langcode' => 'fr',
......
......@@ -369,7 +369,7 @@ public function testCreatedLanguageTranslation() {
* (optional) Additional options to pass to the translation import form.
*/
public function importPoFile($contents, array $options = array()) {
$name = tempnam('temporary://', "po_") . '.po';
$name = \Drupal::service('file_system')->tempnam('temporary://', "po_") . '.po';
file_put_contents($name, $contents);
$options['files[file]'] = $name;
$this->drupalPostForm('admin/config/regional/translate/import', $options, t('Import'));
......
......@@ -351,7 +351,7 @@ public function testPluralEditExport() {
* Additional options to pass to the translation import form.
*/
public function importPoFile($contents, array $options = array()) {
$name = tempnam('temporary://', "po_") . '.po';
$name = \Drupal::service('file_system')->tempnam('temporary://', "po_") . '.po';
file_put_contents($name, $contents);
$options['files[file]'] = $name;
$this->drupalPostForm('admin/config/regional/translate/import', $options, t('Import'));
......
......@@ -209,7 +209,7 @@ protected function installLanguages() {
$this->assertRaw('"edit-languages-' . $langcode . '-weight"', 'Language code found.');
// Import the custom .po contents for the language.
$filename = tempnam('temporary://', "po_") . '.po';
$filename = \Drupal::service('file_system')->tempnam('temporary://', "po_") . '.po';
file_put_contents($filename, $contents);
$options = array(
'files[file]' => $filename,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment