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

Activity Logs, User Activity Tracking, Multisite Activity Log from Logtivity, version 1.20.1. 77 lines.

- Page: https://pluginprobe.com/plugins/logtivity/1.20.1/code/Logs/Core/Logtivity_User.php
- Raw: https://pluginprobe.com/plugins/logtivity/1.20.1/raw/Logs/Core/Logtivity_User.php
- Modified: 2022-06-17T21:57:46+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.20.1/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'], 10, 1);
		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 ) 
	{
		$logtivityUser = new Logtivity_WP_User($user->ID);

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

	public function userLoggedOut($user_id)
	{
		if ($user_id == 0) {
			return;
		}
		
		$user = new Logtivity_WP_User($user_id);

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

	public function userCreated($user_id)
	{
		$log =  Logtivity_Logger::log();

		if (!is_user_logged_in()) {
			$log->setUser($user_id);
		}

		$user = new Logtivity_WP_User($user_id);

		$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;
```
