HEX
Server: Apache/2
System: Linux server-80-13-140-150.da.direct 5.14.0-362.24.1.el9_3.0.1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Apr 4 22:31:43 UTC 2024 x86_64
User: cpt (1004)
PHP: 8.1.24
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/cpt/public_html/wp-content/plugins/wpforms-lite/src/Admin/Tools/Views/View.php
<?php

namespace WPForms\Admin\Tools\Views;

use WPForms\Admin\Tools\Tools;

/**
 * Single View class.
 *
 * @since 1.6.6
 */
abstract class View {

	/**
	 * View slug.
	 *
	 * @since 1.6.6
	 *
	 * @var string
	 */
	protected $slug;

	/**
	 * Init.
	 *
	 * @since 1.6.6
	 */
	abstract public function init();

	/**
	 * Get link to the view page.
	 *
	 * @since 1.6.6
	 *
	 * @return string
	 */
	public function get_link() {

		return add_query_arg(
			[
				'page' => Tools::SLUG,
				'view' => $this->slug,
			],
			admin_url( 'admin.php' )
		);
	}

	/**
	 * Get view label.
	 *
	 * @since 1.6.6
	 *
	 * @return string
	 */
	abstract public function get_label();

	/**
	 * Checking user capability to view.
	 *
	 * @since 1.6.6
	 *
	 * @return bool
	 */
	abstract public function check_capability();

	/**
	 * Checking if needs display in navigation.
	 *
	 * @since 1.6.6
	 *
	 * @return bool
	 */
	public function hide_from_nav() {

		return false;
	}

	/**
	 * Checking if navigation needs display.
	 *
	 * @since 1.6.6
	 *
	 * @return bool
	 */
	public function show_nav() {

		return true;
	}

	/**
	 * Display nonce field.
	 *
	 * @since 1.6.6
	 */
	public function nonce_field() {

		wp_nonce_field( 'wpforms_' . $this->slug . '_nonce', 'wpforms-tools-' . $this->slug . '-nonce' );
	}

	/**
	 * Verify nonce field.
	 *
	 * @since 1.6.6
	 */
	public function verify_nonce(): bool {

		$nonce_name = 'wpforms-tools-' . $this->slug . '-nonce';
		$nonce      = isset( $_POST[ $nonce_name ] ) ? sanitize_text_field( wp_unslash( $_POST[ $nonce_name ] ) ) : '';

		return (bool) wp_verify_nonce( $nonce, 'wpforms_' . $this->slug . '_nonce' );
	}

	/**
	 * Display view content.
	 *
	 * @since 1.6.6
	 */
	abstract public function display();
}