PluginProbe
AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress / 11.0.0
AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress v11.0.0
11.1.1 11.1.0 11.0.5 11.0.4 11.0.3 11.0.2 11.0.1 11.0.0 10.11.1 10.11.0 10.10.2 10.10.1 10.10.0 10.9.1 trunk 10.0.0 10.0.1 10.1.0 10.1.1 10.1.2 10.1.3 10.1.4 10.2.0 10.2.1 10.2.2 All 62 releases
acymailing / back / dynamics / subscriber / SubscriberAutomationFilters.php

SubscriberAutomationFilters.php in AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress 11.0.0, at back/dynamics/subscriber/SubscriberAutomationFilters.php

52 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 trait SubscriberAutomationFilters
4 {
5 public function onAcymDeclareFilters(array &$filters): void
6 {
7 $this->filtersFromConditions($filters);
8
9 $filters['random'] = new stdClass();
10 $filters['random']->name = acym_translationSprintf('ACYM_RANDOMLY_SELECT_X_SUBSCRIBERS', 'X');
11 $filters['random']->option = '<div class="cell">';
12 $filters['random']->option .= acym_translationSprintf(
13 'ACYM_RANDOMLY_SELECT_X_SUBSCRIBERS',
14 '<input type="number" class="intext_input_automation" style="width:60px" value="30" name="acym_action[filters][__numor__][__numand__][random][number]" />'
15 );
16 $filters['random']->option .= '</div>';
17 }
18
19 public function onAcymProcessFilter_acy_field(&$query, &$options, $num)
20 {
21 $this->processAcyField($query, $options, $num);
22 }
23
24 public function onAcymProcessFilter_random(&$query, &$options, $num)
25 {
26 $numberOfUsers = intval($options['number']);
27 if (empty($numberOfUsers)) return;
28
29 $query->limit = (string)$numberOfUsers;
30 $query->orderBy = 'RAND()';
31 }
32
33 public function onAcymProcessFilterCount_acy_field(&$query, $options, $num)
34 {
35 $this->onAcymProcessFilter_acy_field($query, $options, $num);
36
37 return acym_translationSprintf('ACYM_SELECTED_USERS', $query->count());
38 }
39
40 public function onAcymProcessFilterCount_random(&$query, $options, $num)
41 {
42 $this->onAcymProcessFilter_random($query, $options, $num);
43
44 return acym_translationSprintf('ACYM_SELECTED_USERS', $query->count());
45 }
46
47 public function onAcymDeclareSummary_filters(&$automation)
48 {
49 $this->onAcymDeclareSummary_conditionsFilters($automation, 'ACYM_FILTER_ACY_FIELD_SUMMARY');
50 }
51 }
52