HEX
Server: nginx/1.22.0
System: Linux iZuf6jdxbygmf6cco977lcZ 5.10.84-10.4.al8.x86_64 #1 SMP Tue Apr 12 12:31:07 CST 2022 x86_64
User: root (0)
PHP: 7.4.29
Disabled: passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,readlink,symlink,popepassthru,stream_socket_server,fsocket,popen
Upload Files
File: /data/wwwroot/wordpress/wp-content/plugins/flamingo/includes/user.php
<?php
/**
** Module for WordPress user.
**/

add_action( 'profile_update', 'flamingo_user_profile_update', 10, 1 );
add_action( 'user_register', 'flamingo_user_profile_update', 10, 1 );

function flamingo_user_profile_update( $user_id ) {
	$user = new WP_User( $user_id );

	$email = $user->user_email;
	$name = $user->display_name;

	$props = array(
		'first_name' => $user->first_name,
		'last_name' => $user->last_name,
	);

	if ( ! empty( $email ) ) {
		Flamingo_Contact::add( array(
			'email' => $email,
			'name' => $name,
			'props' => $props,
			'channel' => 'user',
		) );
	}
}

/* Collect contact info from existing users when activating plugin */
add_action( 'activate_' . FLAMINGO_PLUGIN_BASENAME,
	'flamingo_collect_contacts_from_users',
	10, 0
);

function flamingo_collect_contacts_from_users() {
	$users = get_users( array(
		'number' => 20,
	) );

	foreach ( $users as $user ) {
		$email = $user->user_email;
		$name = $user->display_name;

		if ( empty( $email ) ) {
			continue;
		}

		$props = array(
			'first_name' => empty( $user->first_name ) ? '' : $user->first_name,
			'last_name' => empty( $user->last_name ) ? '' : $user->last_name,
		);

		Flamingo_Contact::add( array(
			'email' => $email,
			'name' => $name,
			'props' => $props,
			'channel' => 'user',
		) );
	}
}