lists_db->get_list_id_name_map(); foreach ( $res as $id => $name ) { $list['id'] = $id; $list['es_email_group'] = $name; $es_lists[] = $list; } return $es_lists; } public static function es_view_subscriber_ins( $data = array(), $action = 'insert' ) { if ( empty( $data['es_email_mail'] ) ) { return; } $email = trim( $data['es_email_mail'] ); if ( ! is_email( $email ) ) { return; } $name = trim( $data['es_email_name'] ); $last_name = ''; if ( ! empty( $name ) ) { $name_parts = ES_Common::prepare_first_name_last_name( $name ); $first_name = $name_parts['first_name']; $last_name = $name_parts['last_name']; } else { $first_name = ES_Common::get_name_from_email( $email ); $name = $first_name; } $guid = ES_Common::generate_guid(); $sub_data = array( 'first_name' => $first_name, 'last_name' => $last_name, 'email' => $email, 'source' => 'api', 'status' => 'verified', 'hash' => $guid, 'created_at' => ig_get_current_date_time(), ); $contact_id = ES()->contacts_db->get_contact_id_by_email( $email ); if ( ! $contact_id ) { $contact_id = ES()->contacts_db->insert( $sub_data ); } if ( $contact_id ) { $optin_type = get_option( 'ig_es_optin_type', true ); $optin_type = ( 'double_opt_in' === $optin_type ) ? 2 : 1; $status = 'subscribed'; if ( 2 == $optin_type ) { $status = 'unconfirmed'; } $list_data = ES()->lists_db->get_list_by_name( $data['es_email_group'] ); $list_id = ! empty( $list_data['id'] ) ? $list_data['id'] : 1; $list_ids = array( $list_id ); $list_contact_data = array( 'contact_id' => $contact_id, 'status' => $status, 'optin_type' => $optin_type, 'subscribed_at' => ig_get_current_date_time(), 'subscribed_ip' => '', ); ES()->lists_contacts_db->add_contact_to_lists( $list_contact_data, $list_id ); $list_name = ES_Common::prepare_list_name_by_ids( $list_ids ); // Send Email Notification $data = array( 'name' => $name, 'first_name' => $sub_data['first_name'], 'last_name' => $sub_data['last_name'], 'email' => $email, 'contact_id' => $contact_id, 'guid' => $guid, 'list_name' => $list_name, 'list_ids' => array( $list_id ), 'source' => 'rm', ); if ( 1 == $optin_type ) { do_action( 'ig_es_contact_subscribed', $data ); } else { do_action( 'ig_es_contact_unconfirmed', $data ); } } } } class es_cls_settings { public static function es_setting_select() { return array( 'es_c_optinoption' => '' ); } }