/**
* Update playists with current theme playlists definitions.
*
* @param Theme $theme
* @param array $themePlaylists
*
* @return bool
*/
public function updateThemePlaylists($theme, $themePlaylists)
{
$newThemePlaylists = $this->buildNewThemePlaylists($themePlaylists);
foreach ($newThemePlaylists as $playlistName => $themePlaylist) {
$playlist = $this->em->getRepository('Newscoop\\Entity\\Playlist')->getPlaylistByTitle($playlistName)->getOneOrNullResult();
if (!$playlist) {
$playlist = new Playlist();
$playlist->setName($playlistName);
$this->em->persist($playlist);
}
$themes = $playlist->getThemes();
$themes[$theme->getId()] = $themePlaylist['templates'];
$playlist->setThemes($themes);
}
$this->em->flush();
return true;
}