FullSession. */ public static function add_page() { add_options_page( __( 'FullSession', 'fullsession' ), __( 'FullSession', 'fullsession' ), 'manage_options', self::PAGE, array( __CLASS__, 'render_page' ) ); } /** * Styles and script for the settings page only. * * @param string $hook_suffix Current admin page. */ public static function enqueue_assets( $hook_suffix ) { if ( 'settings_page_' . self::PAGE !== $hook_suffix ) { return; } wp_enqueue_style( 'fullsession-admin', FULLSESSION_URL . 'assets/css/admin.css', array(), FULLSESSION_VERSION ); wp_enqueue_script( 'fullsession-admin', FULLSESSION_URL . 'assets/js/admin.js', array(), FULLSESSION_VERSION, true ); } /** * "Settings" link on the Plugins screen. * * @param string[] $links Existing links. * @return string[] */ public static function action_links( $links ) { $url = admin_url( 'options-general.php?page=' . self::PAGE ); array_unshift( $links, '' . esc_html__( 'Settings', 'fullsession' ) . '' ); return $links; } /** * Register the option. The page renders its own fields, saving goes through options.php. */ public static function register_settings() { register_setting( self::PAGE, FullSession_Settings::OPTION, array( 'type' => 'array', 'sanitize_callback' => array( 'FullSession_Settings', 'sanitize' ), 'default' => FullSession_Settings::defaults(), ) ); } /** * Settings page. */ public static function render_page() { if ( ! current_user_can( 'manage_options' ) ) { return; } $settings = FullSession_Settings::get(); ?>

%2$s', esc_attr( $class ), esc_html( $label ) ); } /** * Customer ID, setup steps and the recording switch. * * @param array $settings Settings. */ private static function render_connection_card( $settings ) { $host = wp_parse_url( home_url(), PHP_URL_HOST ); $port = wp_parse_url( home_url(), PHP_URL_PORT ); if ( $port ) { $host .= ':' . $port; } $link = '%s'; ?>

  1. ' . esc_html( $host ) . '', sprintf( $link, esc_url( FULLSESSION_APP_URL . '/settings/manage-domains' ), esc_html__( 'Manage domains', 'fullsession' ) ) ) ); ?>
', esc_attr( FullSession_Settings::OPTION ), esc_attr( $settings['customer_id'] ) ); ?>

get_names() as $role => $name ) { printf( '', esc_attr( FullSession_Settings::OPTION ), esc_attr( $role ), checked( in_array( $role, $settings['excluded_roles'], true ), true, false ), esc_html( translate_user_role( $name ) ) ); } ?>

%2$s', esc_attr( FullSession_Settings::OPTION ), esc_textarea( $settings['excluded_urls'] ) ); ?>

>

/>
id ) { return; } $settings_url = admin_url( 'options-general.php?page=' . self::PAGE ); $dismiss_url = wp_nonce_url( admin_url( 'admin-post.php?action=fullsession_dismiss_notice' ), 'fullsession_dismiss_notice' ); ?>

|