Source of file MemberProfileFieldsSection.php
Size: 1,384 Bytes - Last Modified: 2021-12-23T10:49:49+00:00
/var/www/docs.ssmods.com/process/src/src/Model/MemberProfileFieldsSection.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | <?php namespace Symbiote\MemberProfiles\Model; use SilverStripe\ORM\ArrayList; use SilverStripe\View\ArrayData; /** * A profile section that displays a list of fields that have been marked as * public. * * @package silverstripe-memberprofiles * @subpackage dataobjects */ class MemberProfileFieldsSection extends MemberProfileSection { private static $table_name = 'MemberProfileFieldsSection'; public function getDefaultTitle() { return _t('MemberProfiles.PROFILEFIELDSLIST', 'Profile Fields List'); } public function forTemplate() { return $this->renderWith(MemberProfileFieldsSection::class); } public function Fields() { $fields = $this->Parent()->Fields()->where('"PublicVisibility" <> \'Hidden\''); $public = $this->getMember()->getPublicFields(); $result = new ArrayList(); foreach ($fields as $field) { if ($field->PublicVisibility == 'MemberChoice') { if (!in_array($field->MemberField, $public)) { continue; } } $result->push(new ArrayData(array( 'Title' => $field->Title, 'Value' => $this->getMember()->{$field->MemberField} ))); } return $result; } public function ShowTitle() { return false; } } |