PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.32
OttoKit: All-in-One Automation Platform v1.1.32
1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.9 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.47 1.0.48 1.0.49 1.0.50 1.0.51 1.0.52 1.0.53 1.0.54 1.0.55 1.0.56 1.0.57 1.0.58 1.0.59 1.0.60 1.0.61 1.0.62 1.0.63 1.0.64 1.0.65 1.0.66 1.0.67 1.0.68 1.0.69 1.0.7 1.0.70 1.0.71 1.0.72 1.0.73 1.0.74 1.0.75 1.0.76 1.0.77 1.0.78 1.0.79 1.0.8 1.0.80 1.0.81 1.0.82 1.0.83 1.0.84 1.0.85 1.0.86 1.0.87 1.0.88 1.0.89 1.0.9 1.0.90 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
suretriggers / src / Integrations / mail-mint / actions / remove-list-from-contact.php
suretriggers / src / Integrations / mail-mint / actions Last commit date
add-lists-to-contact.php 10 months ago add-recipients-to-campaign.php 1 week ago add-tag-to-contact.php 10 months ago create-contact.php 10 months ago delete-contact.php 10 months ago list-campaigns.php 10 months ago list-contacts.php 10 months ago list-lists.php 10 months ago list-tags.php 10 months ago remove-list-from-contact.php 10 months ago remove-tag-from-contact.php 10 months ago
remove-list-from-contact.php
111 lines
1 <?php
2 /**
3 * RemoveListFromContact.
4 * php version 5.6
5 *
6 * @category RemoveListFromContact
7 * @package SureTriggers
8 * @author BSF <username@example.com>
9 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
10 * @link https://www.brainstormforce.com/
11 * @since 1.0.0
12 */
13
14 namespace SureTriggers\Integrations\MailMint\Actions;
15
16 use SureTriggers\Integrations\AutomateAction;
17 use SureTriggers\Traits\SingletonLoader;
18 use Mint\MRM\DataBase\Models\ContactModel;
19 use Mint\MRM\DataBase\Models\ContactGroupModel;
20 use Mint\MRM\DataBase\Models\ContactGroupPivotModel;
21
22 use Exception;
23
24 /**
25 * RemoveListFromContact
26 *
27 * @category RemoveListFromContact
28 * @package SureTriggers
29 * @author BSF <username@example.com>
30 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
31 * @link https://www.brainstormforce.com/
32 * @since 1.0.0
33 */
34 class RemoveListFromContact extends AutomateAction {
35
36 /**
37 * Integration type.
38 *
39 * @var string
40 */
41 public $integration = 'MailMint';
42
43 /**
44 * Action name.
45 *
46 * @var string
47 */
48 public $action = 'mail_mint_remove_lists_from_contact';
49
50 use SingletonLoader;
51
52 /**
53 * Register a action.
54 *
55 * @param array $actions actions.
56 * @return array
57 */
58 public function register( $actions ) {
59 $actions[ $this->integration ][ $this->action ] = [
60 'label' => __( 'Remove Lists From Contact', 'suretriggers' ),
61 'action' => $this->action,
62 'function' => [ $this, 'action_listener' ],
63 ];
64
65 return $actions;
66 }
67
68 /**
69 * Action listener.
70 *
71 * @param int $user_id user_id.
72 * @param int $automation_id automation_id.
73 * @param array $fields fields.
74 * @param array $selected_options selectedOptions.
75 *
76 * @return array|void
77 * @throws Exception Error.
78 */
79 public function _action_listener( $user_id, $automation_id, $fields, $selected_options ) {
80 if ( ! class_exists( 'Mint\MRM\DataBase\Models\ContactGroupModel' ) || ! class_exists( 'Mint\MRM\DataBase\Models\ContactModel' ) || ! class_exists( 'Mint\MRM\DataBase\Models\ContactGroupPivotModel' ) ) {
81 return;
82 }
83 $contact_id = $selected_options['contact_id'] ? $selected_options['contact_id'] : 0;
84 if ( ! ContactModel::is_contact_ids_exists( [ $contact_id ] ) ) {
85 return [
86 'status' => 'error',
87 'message' => 'There is no contact with provided id.',
88 ];
89 }
90 $selected_tags = $selected_options['contact_lists'] ? explode( ',', $selected_options['contact_lists'] ) : [];
91 $tags_data = [];
92 foreach ( $selected_tags as $tag ) {
93 $tags = ContactGroupModel::is_group_exists( $tag, 'lists' );
94 if ( $tags ) {
95 $tags_data[] = [ 'id' => $tags ];
96 }
97 }
98
99 ContactGroupPivotModel::remove_groups_from_contacts( $tags_data, [ $contact_id ] );
100
101
102 return ContactModel::get( $contact_id );
103
104 }
105
106
107
108 }
109
110 RemoveListFromContact::get_instance();
111