protected function generateFields($objItem)
 {
     $arrItem = parent::generateFields($objItem);
     global $objPage;
     $arrItem['fields']['newsHeadline'] = $objItem->headline;
     $arrItem['fields']['subHeadline'] = $objItem->subheadline;
     $arrItem['fields']['hasSubHeadline'] = $objItem->subheadline ? true : false;
     $arrItem['fields']['linkHeadline'] = ModuleNews::generateLink($this, $objItem->headline, $objItem, false);
     $arrItem['fields']['more'] = ModuleNews::generateLink($this, $GLOBALS['TL_LANG']['MSC']['more'], $objItem, false, true);
     $arrItem['fields']['link'] = ModuleNews::generateNewsUrl($this, $objItem, false);
     $arrItem['fields']['text'] = '';
     // Clean the RTE output
     if ($objItem->teaser != '') {
         if ($objPage->outputFormat == 'xhtml') {
             $arrItem['fields']['teaser'] = \StringUtil::toXhtml($objItem->teaser);
         } else {
             $arrItem['fields']['teaser'] = \StringUtil::toHtml5($objItem->teaser);
         }
         $arrItem['fields']['teaser'] = \StringUtil::encodeEmail($arrItem['fields']['teaser']);
     }
     // Display the "read more" button for external/article links
     if ($objItem->source != 'default') {
         $arrItem['fields']['text'] = true;
     } else {
         $objElement = \ContentModel::findPublishedByPidAndTable($objItem->id, 'tl_news');
         if ($objElement !== null) {
             while ($objElement->next()) {
                 $arrItem['fields']['text'] .= $this->getContentElement($objElement->current());
             }
         }
     }
     $arrMeta = ModuleNews::getMetaFields($this, $objItem);
     // Add the meta information
     $arrItem['fields']['date'] = $arrMeta['date'];
     $arrItem['fields']['hasMetaFields'] = !empty($arrMeta);
     $arrItem['fields']['numberOfComments'] = $arrMeta['ccount'];
     $arrItem['fields']['commentCount'] = $arrMeta['comments'];
     $arrItem['fields']['timestamp'] = $objItem->date;
     $arrItem['fields']['author'] = $arrMeta['author'];
     $arrItem['fields']['datetime'] = date('Y-m-d\\TH:i:sP', $objItem->date);
     $arrItem['fields']['addImage'] = false;
     // Add an image
     $this->addImage($objItem, 'singleSRC', $arrItem);
     // enclosures are added in runBeforeTemplateParsing
     return $arrItem;
 }
 protected function generateFields($objItem)
 {
     $arrItem = parent::generateFields($objItem);
     if (in_array('member_content_archives', \ModuleLoader::getActive())) {
         $arrFilterTags = deserialize($this->memberContentArchiveTags, true);
         $arrItem['fields']['memberContent'] = '';
         if (($objMemberContentArchives = \HeimrichHannot\MemberContentArchives\MemberContentArchiveModel::findBy(array('mid=?', 'published=?'), array($objItem->memberId ?: $objItem->id, true))) !== null) {
             while ($objMemberContentArchives->next()) {
                 if (in_array($objMemberContentArchives->tag, $arrFilterTags)) {
                     $arrItem['fields']['memberContentId'] = $objMemberContentArchives->id;
                     $objElement = \ContentModel::findPublishedByPidAndTable($objMemberContentArchives->id, 'tl_member_content_archive');
                     if ($objElement !== null) {
                         while ($objElement->next()) {
                             $arrItem['fields']['memberContent'] .= \Controller::getContentElement($objElement->current());
                         }
                     }
                 }
             }
             if ($objMemberContentArchives->tag == $this->memberContentArchiveTeaserTag) {
                 $arrItem['fields']['memberContentTitle'] = $objMemberContentArchives->title;
                 $arrItem['fields']['memberContentTeaser'] = $objMemberContentArchives->teaser;
             }
             // override member fields
             $arrOverridableMemberFields = deserialize(\Config::get('overridableMemberFields'));
             if (!empty($arrOverridableMemberFields)) {
                 foreach ($arrOverridableMemberFields as $strField) {
                     $strFieldOverride = 'member' . ucfirst($strField);
                     if ($objMemberContentArchives->{$strFieldOverride}) {
                         if (\Validator::isUuid($objMemberContentArchives->{$strFieldOverride})) {
                             $objMemberContentArchives->{$strFieldOverride} = Files::getPathFromUuid($objMemberContentArchives->{$strFieldOverride});
                         }
                         $arrItem['fields'][$strField] = $objMemberContentArchives->{$strFieldOverride};
                     }
                 }
             }
         }
     }
     return $arrItem;
 }
 public function addItemColumns($objItem, &$arrItem)
 {
     parent::addItemColumns($objItem, $arrItem);
     global $objPage;
     // edit
     if ($this->addEditCol) {
         $arrItem['addEditCol'] = true;
         $strUrl = $this->addAjaxPagination ? Url::getCurrentUrlWithoutParameters() : Url::getUrl();
         if (($objPageJumpTo = \PageModel::findByPk($this->jumpToEdit)) !== null && $this->jumpToEdit != $objPage->id) {
             $strUrl = \Controller::generateFrontendUrl($objPageJumpTo->row(), null, null, true);
         }
         $arrItem['editUrl'] = Url::addQueryString($this->formHybridIdGetParameter . '=' . $objItem->id . (!$this->deactivateTokens ? '&token=' . \RequestToken::get() : ''), $strUrl);
     }
     // delete url
     if ($this->addDeleteCol) {
         $arrItem['addDeleteCol'] = true;
         $arrItem['deleteUrl'] = Url::addQueryString($this->formHybridIdGetParameter . '=' . $objItem->id . '&act=delete' . (!$this->deactivateTokens ? '&token=' . \RequestToken::get() : ''), $this->addAjaxPagination ? Url::getCurrentUrlWithoutParameters() : Url::getUrl());
     }
     // publish url
     if ($this->addPublishCol) {
         $arrItem['addPublishCol'] = true;
         $arrItem['publishUrl'] = Url::addQueryString($this->formHybridIdGetParameter . '=' . $objItem->id . '&act=publish' . (!$this->deactivateTokens ? '&token=' . \RequestToken::get() : ''), $this->addAjaxPagination ? Url::getCurrentUrlWithoutParameters() : Url::getUrl());
     }
 }