# assistant/1.5.4.2/backend/src/Hooks/Actions/OnPersonalOptionsUpdate.php

Assistant – Every Day Productivity Apps, version 1.5.4.2. 49 lines.

- Page: https://pluginprobe.com/plugins/assistant/1.5.4.2/code/backend/src/Hooks/Actions/OnPersonalOptionsUpdate.php
- Raw: https://pluginprobe.com/plugins/assistant/1.5.4.2/raw/backend/src/Hooks/Actions/OnPersonalOptionsUpdate.php
- Modified: 2026-04-30T14:57:22+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/assistant/1.5.4.2/code/backend/src/Hooks/Actions/OnPersonalOptionsUpdate.php#L10-L20`.

```php
<?php

namespace FL\Assistant\Hooks\Actions;

use FL\Assistant\Data\UserState;


/**
 * Class OnPersonalOptionsUpdate
 * @package FL\Assistant\Hooks\Actions
 *
 */
class OnPersonalOptionsUpdate {



	public function __invoke( $user_id ) {
		// check that the current user have the capability to edit the $user_id
		if ( ! current_user_can( 'edit_user', $user_id ) ) {
			return false;
		}

		$saved = get_user_meta( $user_id, UserState::FL_ASSISTANT_STATE, true );
		$updates = [];
		if ( isset( $saved['window'] ) ) {
			$window = $saved['window'];
			if ( isset( $_POST['fl_asst_hidden_ui'] ) ) {
				$window['hiddenAppearance'] = $_POST['fl_asst_hidden_ui'];
			}
			$show_in_admin = isset( $_POST['show_assistant_in_admin'] ) ? (bool) $_POST['show_assistant_in_admin'] : false;
			$updates = [
				'shouldShowInAdmin' => $show_in_admin,
				'window'            => $window,
			];
		}

		// create/update user meta for the $user_id
		return update_user_meta(
			$user_id,
			UserState::FL_ASSISTANT_STATE,
			array_merge(
				UserState::$default_state,
				$saved ? (array) $saved : [],
				$updates
			)
		);
	}
}

```
