Example #1
0
 /**
  * Publish group
  *
  * @param Newscoop\News\GroupRef $groupRef
  * @param Newscoop\News\Item $item
  * @return void
  */
 private function publishGroup(GroupRef $groupRef, Item $item)
 {
     $group = $item->getGroupSet()->getGroup($groupRef);
     $items = array();
     foreach ($group->getRefs() as $ref) {
         if ($ref instanceof ItemRef) {
             $groupItem = $this->findByItemRef($ref, $item->getFeed());
             if ($groupItem === null) {
                 continue;
             }
             $groupItem->setPublished(new \DateTime());
             switch ($groupItem->getItemMeta()->getItemClass()) {
                 case ItemMeta::CLASS_PICTURE:
                     $image = $this->publishPicture($groupItem);
                     \ArticleImage::AddImageToArticle($image->getImageId(), $items[0]->getArticleNumber());
                     break;
                 case ItemMeta::CLASS_TEXT:
                     $article = $this->publishText($groupItem);
                     $items[] = $article;
                     break;
             }
         } else {
             $this->publishGroup($ref, $item);
         }
     }
 }