# logtivity/1.3.0/Logs/Core/Logtivity_User.php

Activity Logs, User Activity Tracking, Multisite Activity Log from Logtivity, version 1.3.0. 69 lines.

- Page: https://pluginprobe.com/plugins/logtivity/1.3.0/code/Logs/Core/Logtivity_User.php
- Raw: https://pluginprobe.com/plugins/logtivity/1.3.0/raw/Logs/Core/Logtivity_User.php
- Modified: 2021-06-18T13:41:32+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/logtivity/1.3.0/code/Logs/Core/Logtivity_User.php#L10-L20`.

```php
<?php

class Logtivity_User extends Logtivity_Abstract_Logger
{
	public function registerHooks()
	{
		add_action('wp_login', [$this, 'userLoggedIn'], 10, 2);
		add_action('wp_logout', [$this, 'userLoggedOut']);
		add_action( 'user_register', [$this, 'userCreated'], 10, 1 );
		add_action( 'delete_user', [$this, 'userDeleted'] );
		add_action( 'profile_update', [$this, 'profileUpdated'], 10, 2 );
	}

	public function userLoggedIn( $user_login, $user ) 
	{
		$user = new Logtivity_WP_User($user->ID);

		return Logtivity_Logger::log()
	    	->setAction('User Logged In')
	    	->setContext($user->getRole())
	    	->send();
	}

	public function userLoggedOut($user_id)
	{
		$user = new Logtivity_WP_User($user_id);

		return (new Logtivity_Logger($user_id))
						->async(false)
						->setAction('User Logged Out')
						->setContext($user->getRole())
						->send();
	}

	public function userCreated($user_id)
	{
		$user = new Logtivity_WP_User($user_id);

		return Logtivity_Logger::log()
			->setAction('User Created')
			->setContext($user->getRole())
			->addMeta('Username', $user->userLogin())
			->send();
	}

	public function userDeleted($user_id)
	{
		$user = new Logtivity_WP_User($user_id);

		return Logtivity_Logger::log()
			->setAction('User Deleted')
			->setContext($user->getRole())
			->addMeta('Username', $user->userLogin())
			->send();
	}

	public function profileUpdated($user_id, $old_user_data)
	{
		$user = new Logtivity_WP_User($user_id);

		return Logtivity_Logger::log()
			->setAction('Profile Updated')
			->setContext($user->getRole())
			->addMeta('Username', $user->userLogin())
			->send();
	}
}

$Logtivity_User = new Logtivity_User;
```
