CMS  Version 3.9
EmailListFieldRenderer Class Reference

Inherits TextFieldRenderer.

Public Member Functions

 EmailListFieldRenderer (&$form, $field, $label="")
 
 addValidatorsToForm ($field, $required=false)
 
 renderField ($field)
 
 preProcess ($field="")
 

Static Public Member Functions

static cleanup ($recipients)
 Given a string of emails, clean up the list, removing any ";" or extra spaces, or trailing punctuation. More...
 

Public Attributes

 $removeDuplicates = false
 

Detailed Description

Definition at line 47 of file email_recipients_field_renderer.inc.

Member Function Documentation

◆ addValidatorsToForm()

EmailListFieldRenderer::addValidatorsToForm (   $field,
  $required = false 
)

Definition at line 68 of file email_recipients_field_renderer.inc.

69  {
70  $label = isset($this->label) ? $this->label : $this->parent->prettifyFieldName($field);
71 
72  $this->parent->validator->add(new EmailListValidator($field, $label));
73 
74  if($required)
75  {
76  $this->parent->validator->add(new RequiredValidator($field, $label));
77  }
78  }
Email recipient list validator.

◆ cleanup()

static EmailListFieldRenderer::cleanup (   $recipients)
static

Given a string of emails, clean up the list, removing any ";" or extra spaces, or trailing punctuation.

Parameters
String$recipients

Definition at line 110 of file email_recipients_field_renderer.inc.

111  {
112  $patterns = array("/,\s+/", "/;\s+/");
113  $replacements = array(",", ",");
114  $recipients = preg_replace($patterns, $replacements, $recipients);
115  $recipients = rtrim($recipients, ",;");
116 
117  return $recipients;
118  }

◆ EmailListFieldRenderer()

EmailListFieldRenderer::EmailListFieldRenderer ( $form,
  $field,
  $label = "" 
)

Definition at line 51 of file email_recipients_field_renderer.inc.

52  {
53  parent::TextFieldRenderer($form);
54 
55  $label = ($label) ? $label : prettify($field);
56 
57  if ($form->data->hasField($field))
58  {
59  $form->override($field, $label, $this);
60  }
61  else
62  {
63  $form->add($this, $field);
64  $form->overrides[$field]['label'] = $label;
65  }
66  }
$form

◆ preProcess()

EmailListFieldRenderer::preProcess (   $field = "")

Definition at line 90 of file email_recipients_field_renderer.inc.

91  {
92  if(!$field) $field = "recipients";
93 
94  $recipients = EmailListFieldRenderer::cleanup($this->parent->data->get($field));
95 
96  if($this->removeDuplicates)
97  {
98  $recipients = implode(",", array_unique(explode(",", $recipients)));
99  }
100 
101  $this->parent->data->set($field, $recipients);
102  }
static cleanup($recipients)
Given a string of emails, clean up the list, removing any ";" or extra spaces, or trailing punctuatio...

◆ renderField()

EmailListFieldRenderer::renderField (   $field)

Definition at line 81 of file email_recipients_field_renderer.inc.

82  {
83  $recipients = $this->parent->data->get($field);
84  $recipients = preg_replace("/,\s*/", ", ", $recipients);
85  $this->parent->data->set($field, $recipients);
86 
87  parent::renderField($field);
88  }

Member Data Documentation

◆ $removeDuplicates

EmailListFieldRenderer::$removeDuplicates = false

Definition at line 49 of file email_recipients_field_renderer.inc.


The documentation for this class was generated from the following file: