public function SignupListBuilder::buildRow in SendinBlue 8
Same name and namespace in other branches
- 8.2 src/Entity/Controller/SignupListBuilder.php \Drupal\sendinblue\Entity\Controller\SignupListBuilder::buildRow()
Builds a row for an entity in the entity listing.
Parameters
\Drupal\Core\Entity\EntityInterface $entity: The entity for this row of the list.
Return value
array A render array structure of fields for this entity.
Overrides EntityListBuilder::buildRow
See also
\Drupal\Core\Entity\EntityListBuilder::render()
File
- src/
Entity/ Controller/ SignupListBuilder.php, line 89
Class
- SignupListBuilder
- Provides a list controller for content_entity_example_contact entity.
Namespace
Drupal\sendinblue\Entity\ControllerCode
public function buildRow(EntityInterface $entity) {
/* @var $entity \Drupal\sendinblue\Entity\Signup */
$signup = $entity;
$settings = $signup->settings
->first()
->getValue();
$modes = NULL;
$block_only = FALSE;
switch ($signup->mode->value) {
case SendinblueManager::SENDINBLUE_SIGNUP_BLOCK:
$modes = Link::fromTextAndUrl($this
->t('Block'), Url::fromUri('internal:/admin/structure/block'))
->toString();
$block_only = TRUE;
break;
case SendinblueManager::SENDINBLUE_SIGNUP_PAGE:
$modes = Link::fromTextAndUrl($this
->t('Page'), Url::fromUri('internal:/' . $settings['path']))
->toString();
break;
case SendinblueManager::SENDINBLUE_SIGNUP_BOTH:
$modes = Link::fromTextAndUrl($this
->t('Block'), Url::fromUri('internal:/admin/structure/block'))
->toString();
$modes .= ' and ';
$modes .= Link::fromTextAndUrl($this
->t('Page'), Url::fromUri('internal:/' . $settings['path']))
->toString();
break;
}
$list_name = $this->sendinblueManager
->getListNameById($settings['subscription']['settings']['list']);
$list_labels = Link::fromTextAndUrl($list_name, Url::fromUri(SendinblueManager::SIB_URL . '/users/list/id/?utm_source=drupal_plugin&utm_medium=plugin&utm_campaign=module_link' . $settings['subscription']['settings']['list']));
if ($block_only) {
$access = $this
->t('N/A - this form only exists as a block');
}
else {
$all_roles_allowed = user_roles(FALSE, 'sendinblue_signup_all_forms' . $signup->name->value);
$page_roles_allowed = user_roles(FALSE, 'sendinblue_signup_form_' . $signup->name->value);
$roles_allowed = array_merge($all_roles_allowed, $page_roles_allowed);
/** @var \Drupal\user\Entity\Role $role_object */
foreach ($roles_allowed as $id => $role_object) {
$roles_allowed[$id] = $role_object
->label();
}
$access = implode(', ', $roles_allowed);
}
$row['name'] = $signup->title->value;
$row['mode'] = Markup::create($modes);
$row['mcLists'] = $list_labels;
$row['access'] = $access;
return $row + parent::buildRow($entity);
}