public function getId()
 {
     if ($this->__isInitialized__ === false) {
         return (int) $this->_identifier["id"];
     }
     $this->__load();
     return parent::getId();
 }
 public function popupAction()
 {
     $this->_helper->layout->setLayout('iframe');
     // TODO make a service
     $playlistId = $this->_request->getParam('id', null);
     $playlist = null;
     if (is_numeric($playlistId)) {
         $playlist = $this->playlistRepository->find($playlistId);
     } else {
         $playlist = new Playlist();
     }
     if ($playlist instanceof \Newscoop\Entity\Playlist) {
         $this->view->playlistName = $playlist->getName();
         $this->view->playlistId = $playlist->getId();
     }
 }
 /**
  * Remove items above the limit on playlist.
  *
  * @param Playlist $playlist
  */
 public function removeLeftItems($playlist)
 {
     if ($playlist->getMaxItems() != null) {
         $allowedArticles = $this->em->createQuery('SELECT pa.id FROM Newscoop\\Entity\\PlaylistArticle pa WHERE pa.idPlaylist = :playlistId AND pa.order >= 0 ORDER BY pa.order ASC')->setParameter('playlistId', $playlist->getId())->setMaxResults($playlist->getMaxItems())->getArrayResult();
         $ids = array();
         foreach ($allowedArticles as $article) {
             $ids[] = $article['id'];
         }
         $this->em->createQuery('DELETE FROM Newscoop\\Entity\\PlaylistArticle pa WHERE pa.id NOT IN (:ids) AND pa.idPlaylist = :playlistId')->setParameter('ids', $ids)->setParameter('playlistId', $playlist->getId())->execute();
     }
 }