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; }
protected function parseItem($objItem, $strClass = '', $intCount = 0) { if (in_array('member_content_archives', \ModuleLoader::getActive())) { $arrFilterTags = deserialize($this->memberContentArchiveTags, true); $objItem->memberContent = ''; if (($objMemberContentArchives = \HeimrichHannot\MemberContentArchives\MemberContentArchiveModel::findBy('mid', $objItem->memberId ?: $objItem->id)) !== null) { while ($objMemberContentArchives->next()) { if (in_array($objMemberContentArchives->tag, $arrFilterTags)) { $objItem->memberContentId = $objMemberContentArchives->id; $objElement = \ContentModel::findPublishedByPidAndTable($objMemberContentArchives->id, 'tl_member_content_archive'); if ($objElement !== null) { while ($objElement->next()) { $objItem->memberContent .= \Controller::getContentElement($objElement->current()); } } } } if ($objMemberContentArchives->tag == $this->memberContentArchiveTeaserTag) { $objItem->memberContentTitle = $objMemberContentArchives->title; $objItem->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}); } $objItem->{$strField} = $objMemberContentArchives->{$strFieldOverride}; } } } } } return parent::parseItem($objItem, $strClass, $intCount); }
public static function getAvailableContentArchiveTags($objDc) { $arrOption = array(); if (($objTags = \HeimrichHannot\MemberContentArchives\MemberContentArchiveTagModel::findAll()) !== null) { $arrResult = array_combine($objTags->fetchEach('id'), $objTags->fetchEach('title')); foreach ($arrResult as $intId => $strTag) { if (\HeimrichHannot\MemberContentArchives\MemberContentArchiveModel::findBy(array('mid=?', 'tag=?'), array($objDc->activeRecord->mid, $intId)) === null || $intId == $objDc->activeRecord->tag) { $arrOption[$intId] = $strTag; } } } asort($arrOption); return $arrOption; }
public static function getMemberContentLinkByMemberAndTag($intMember, $intTag) { if (($objMemberContentArchive = MemberContentArchiveModel::findBy(array('mid=?', 'tag=?'), array($intMember, $intTag))) !== null) { return static::getMemberContentLink($objMemberContentArchive->id); } }