protected function _writeFiles()
{
$overwriteAll = false;
if (!empty($this->params['overwrite'])) {
$overwriteAll = true;
}
foreach ($this->_storage as $domain => $sentences) {
$output = $this->_writeHeader();
foreach ($sentences as $sentence => $header) {
$output .= $header . $sentence;
}
// Remove vendor prefix if present.
$slashPosition = strpos($domain, '/');
if ($slashPosition !== false) {
$domain = substr($domain, $slashPosition + 1);
}
$filename = str_replace('/', '_', $domain) . '.pot';
$File = new File($this->_output . $filename);
$response = '';
while ($overwriteAll === false && $File->exists() && strtoupper($response) !== 'Y') {
$this->out();
$response = $this->in(sprintf('Error: %s already exists in this location. Overwrite? [Y]es, [N]o, [A]ll', $filename), ['y', 'n', 'a'], 'y');
if (strtoupper($response) === 'N') {
$response = '';
while (!$response) {
$response = $this->in("What would you like to name this file?", null, 'new_' . $filename);
$File = new File($this->_output . $response);
$filename = $response;
}
} elseif (strtoupper($response) === 'A') {
$overwriteAll = true;
}
}
$File->write($output);
$File->close();
}
}