public function checkIfThemePlaylistsAreUpToDate($theme, $themePlaylists)
{
if (empty($themePlaylists)) {
return false;
}
foreach ($themePlaylists as $playlistName => $themePlaylist) {
$playlist = $this->em->getRepository('Newscoop\\Entity\\Playlist')->getPlaylistByTitle($playlistName)->getOneOrNullResult();
if (!$playlist) {
return false;
}
$themes = $playlist->getThemes();
if (!array_key_exists($theme->getId(), $themes)) {
return false;
}
foreach ($themePlaylist['templates'] as $template) {
if (is_array($themes[$theme->getId()])) {
if (!in_array($template, $themes[$theme->getId()])) {
return false;
}
}
}
}
return true;
}