Newscoop\Services\PlaylistsService::checkIfThemePlaylistsAreUpToDate PHP Method

checkIfThemePlaylistsAreUpToDate() public method

Check if playlists have current theme lists definitions.
public checkIfThemePlaylistsAreUpToDate ( Theme $theme, array $themePlaylists ) : boolean
$theme Theme
$themePlaylists array
return boolean
    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;
    }