public function ContactSubtype::getArgument in CiviCRM Entity 8.3
Return the default argument.
This needs to be overridden by every default argument handler to properly do what is needed.
Overrides ArgumentDefaultPluginBase::getArgument
File
- src/
Plugin/ views/ argument_default/ ContactSubtype.php, line 108
Class
- ContactSubtype
- Default argument plugin to extract the current user's civicrm contact subtype
Namespace
Drupal\civicrm_entity\Plugin\views\argument_defaultCode
public function getArgument() {
$current_user_contact_subtype = $this->options['no_subtype'] == 'none' ? '<none>' : 'all';
$results = $this->civicrmApi
->get('UFMatch', [
'sequential' => 1,
'id' => $this->currentUser
->id(),
]);
if (!empty($results) && !empty($results[0]['contact_id'])) {
$cid = $results[0]['contact_id'];
$results = $this->civicrmApi
->get('contact', [
'sequential' => 1,
'return' => [
'contact_sub_type',
],
'id' => $cid,
]);
if (!empty($results) && !empty($results[0]['contact_sub_type'])) {
// Get subtypes for argument.
if ($this->options['multiple_subtype'] == 'first') {
// Match first.
$current_user_contact_subtype = reset($results[0]['contact_sub_type']);
}
else {
// Match any.
$current_user_contact_subtype = implode('+', $results[0]['contact_sub_type']);
}
}
}
return $current_user_contact_subtype;
}