settings_object = new OptionsManager( $token_repository, $method_factory, $format_factory, $directory_factory ); } /** * Returns settings of plugin. * * @return mixed[] */ public function get_plugin_settings(): array { if ( $this->plugin_settings === null ) { $this->plugin_settings = $this->settings_object->get_values(); } return $this->plugin_settings; } /** * Returns settings of plugin. * * @param string|null $form_name . * * @return mixed[] */ public function get_plugin_options( ?string $form_name = null ): array { return $this->settings_object->get_options( $form_name ); } /** * Returns settings of plugin without sensitive data. * * @return mixed[] */ public function get_public_settings(): array { if ( $this->plugin_public_settings === null ) { $this->plugin_public_settings = $this->settings_object->get_public_values(); } return $this->plugin_public_settings; } /** * Returns settings of plugin for debug. * * @return mixed[] */ public function get_debug_settings(): array { if ( $this->debug_settings === null ) { $this->debug_settings = $this->settings_object->get_values( true ); } return $this->debug_settings; } /** * Clears cache for settings of plugin. * * @return void */ public function invalidate_plugin_settings() { $this->plugin_settings = null; $this->plugin_public_settings = null; $this->debug_settings = null; } /** * @param mixed[]|null $posted_settings Settings submitted in form. * @param string|null $form_name . * * @return mixed[] Values of plugin settings. */ public function validate_plugin_settings( ?array $posted_settings = null, ?string $form_name = null ): array { return $this->settings_object->get_validated_values( $posted_settings, $form_name ); } }