public function addSong(Form $form, array $values) { /** @var FileUpload $songFile */ $songFiles = $values['song']; $genreId = $values['genre']; $onlyOneSong = count($songFiles) == 1; $uploadOk = true; $alreadyExists = false; foreach ($songFiles as $songFile) { if ($songFile->isOk()) { $alreadyExists = $alreadyExists || $this->songsManager->addSongFromHTTP($songFile, $genreId); } else { $uploadOk = false; } } if ($uploadOk && !$alreadyExists) { if ($onlyOneSong) { $this->flashMessage('Skladba byla úspěšně přidána.', 'success'); } else { $this->flashMessage('Skladby byly úspěšně přidány.', 'success'); } } else { if ($alreadyExists) { if ($onlyOneSong) { $this->flashMessage('Skladba již byla nahrána dříve.', 'info'); } else { $this->flashMessage('Některé skladby již byly nahrány dříve.', 'info'); } } else { if ($onlyOneSong) { $this->flashMessage('Skladbu se nepodařilo přidat.', 'error'); } else { $this->flashMessage('Skladby se nepodařilo přidat.', 'error'); } } } $this->redirect('this'); }