| Server IP : 68.183.124.220 / Your IP : 216.73.217.137 Web Server : Apache/2.4.18 (Ubuntu) System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : gavin ( 1000) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/wp-content/plugins/ninja-forms/includes/Abstracts/ |
Upload File : |
<?php if ( ! defined( 'ABSPATH' ) ) exit;
/**
* WordPress Menu Page Base Class
*/
abstract class NF_Abstracts_Submenu
{
/**
* (required) The slug name for the parent menu (or the file name of a standard WordPress admin page)
*
* @var string
*/
public $parent_slug = '';
/**
* (required) The text to be displayed in the title tags of the page when the menu is selected
*
* @var string
*/
public $page_title = '';
/**
* (required) The on-screen name text for the menu
*
* @var string
*/
public $menu_title = '';
/**
* (required) The capability required for this menu to be displayed to the user.
*
* @var string
*/
public $capability = 'manage_options';
/**
* (required) The slug name to refer to this menu by (should be unique for this menu).
*
* @var string
*/
public $menu_slug = '';
/**
* (optional) The function that displays the page content for the menu page.
*
* @var string
*/
public $function = 'display';
public $priority = 10;
/**
* Constructor
*
* Translate text and add the 'admin_menu' action.
*/
public function __construct()
{
add_action( 'admin_menu', array( $this, 'register' ), $this->priority );
}
/**
* Register the menu page.
*/
public function register()
{
$function = ( $this->function ) ? array( $this, $this->function ) : NULL;
add_submenu_page(
$this->parent_slug,
$this->get_page_title(),
$this->get_menu_title(),
apply_filters( 'ninja_forms_submenu_' . $this->get_menu_slug() . '_capability', $this->get_capability() ),
$this->get_menu_slug(),
$function
);
}
public function get_page_title()
{
return $this->page_title;
}
public function get_menu_title()
{
return ( $this->menu_title ) ? $this->menu_title : $this->get_page_title();
}
public function get_menu_slug()
{
return ( $this->menu_slug ) ? $this->menu_slug : 'nf-' . strtolower( preg_replace( '/[^A-Za-z0-9-]+/', '-', $this->get_menu_title() ) );
}
public function get_capability()
{
return $this->capability;
}
/**
* Display the menu page.
*/
public abstract function display();
}