| 1 |
<?php |
| 2 |
|
| 3 |
trait SubscriptionFollowup |
| 4 |
{ |
| 5 |
public function matchFollowupsConditions(&$followups, $userId, $params) |
| 6 |
{ |
| 7 |
foreach ($followups as $key => $followup) { |
| 8 |
if (empty($followup->condition['lists_status']) || empty($followup->condition['lists'])) { |
| 9 |
continue; |
| 10 |
} |
| 11 |
|
| 12 |
$status = $followup->condition['lists_status'] === 'is'; |
| 13 |
if ($followup->trigger === $this->subscribeTrigger) { |
| 14 |
$user = false; |
| 15 |
foreach ($followup->condition['lists'] as $list) { |
| 16 |
if (in_array($list, $params['sub_lists'])) { |
| 17 |
$user = true; |
| 18 |
break; |
| 19 |
} |
| 20 |
} |
| 21 |
} else { |
| 22 |
acym_arrayToInteger($followup->condition['lists']); |
| 23 |
$lists = implode(',', $followup->condition['lists']); |
| 24 |
$user = acym_loadObject('SELECT * FROM #__acym_user_has_list WHERE user_id = '.intval($userId).' AND status = 1 AND list_id IN ('.$lists.')'); |
| 25 |
} |
| 26 |
|
| 27 |
if (($status && empty($user)) || (!$status && !empty($user))) { |
| 28 |
unset($followups[$key]); |
| 29 |
} |
| 30 |
} |
| 31 |
} |
| 32 |
|
| 33 |
public function getFollowupTriggers(&$triggers) |
| 34 |
{ |
| 35 |
$triggers[$this->subscribeTrigger] = acym_translation('ACYM_USER_SUBSCRIBES'); |
| 36 |
} |
| 37 |
|
| 38 |
public function getFollowupTriggerBlock(&$blocks) |
| 39 |
{ |
| 40 |
$blocks[] = [ |
| 41 |
'name' => acym_translation('ACYM_USER_SUBSCRIBES'), |
| 42 |
'description' => acym_translation('ACYM_USER_SUBSCRIBES_DESC'), |
| 43 |
'icon' => 'acymicon-user-check', |
| 44 |
'link' => acym_completeLink('campaigns&task=edit&step=followupCondition&trigger='.$this->subscribeTrigger), |
| 45 |
'level' => 2, |
| 46 |
'alias' => $this->subscribeTrigger, |
| 47 |
]; |
| 48 |
} |
| 49 |
} |
| 50 |
|