phpBB API Documentation
Class

p_master

class p_master

Class handling all types of 'plugins' (a future term)

Properties

$p_id
$p_class
$p_name
$p_mode
$p_parent
$include_path
$active_module
$active_module_row_id
$acl_forum_id
$module_ary

Methods

p_master($include_path = false)

Constuctor Set module include path

set_custom_include_path(string $include_path)

Set custom include path for modules Schema for inclusion is include_path .

list_modules($p_class)

List modules

bool loaded(string $module_basename, mixed $module_mode = false)

Check if a certain main module is accessible/loaded By giving the module mode you are able to additionally check for only one mode within the main module

module_auth_self($module_auth)

Check module authorisation.

set_active($id = false, $mode = false)

Set active module

load_active(string|false $mode = false, string|false $module_url = false, bool $execute_module = true)

Loads currently active module

adjust_url(string $url_extra)

Appending url parameter to the currently active module.

is_active($id, $mode = false)

Check if a module is active

get_parents($parent_id, $left_id, $right_id, $all_parents)

Get parents

get_branch($left_id, $right_id, $remaining)

Get tree branch

build_tree($modules, $parents)

Build true binary tree from given array Not in use

assign_tpl_vars($module_url)

Build navigation structure

get_tpl_name()

Returns desired template name

get_page_title()

Returns the desired page title

load(string $class, string $name, string $mode = false)

Load module as the current active one without the need for registering it

display($page_title, $display_online_list = false)

Display module

set_display($id, $mode = false, $display = true)

Toggle whether this module will be displayed or not

add_mod_info($module_class)

Add custom MOD info language file

Details

at line 43
public p_master($include_path = false)

Constuctor Set module include path

Parameters

$include_path

at line 63
public set_custom_include_path(string $include_path)

Set custom include path for modules Schema for inclusion is include_path .

modulebase

Parameters

string $include_path include path to be used.

at line 83
public list_modules($p_class)

List modules

This creates a list, stored in $this->moduleary of all available modules for the given class (ucp, mcp and acp). Additionally $this->moduley_ary is created with indentation information for displaying the module list appropriately. Only modules for which the user has access rights are included in these lists.

Parameters

$p_class

at line 331
public bool loaded(string $module_basename, mixed $module_mode = false)

Check if a certain main module is accessible/loaded By giving the module mode you are able to additionally check for only one mode within the main module

Parameters

string $module_basename The module base name, for example logs, reports, main (for the mcp).
mixed $module_mode The module mode to check. If provided the mode will be checked in addition for presence.

Return Value

bool Returns true if module is loaded and accessible, else returns false

at line 377
public module_auth_self($module_auth)

Check module authorisation.

This is a non-static version that uses $this->aclforumid for the forum id.

Parameters

$module_auth

at line 481
public set_active($id = false, $mode = false)

Set active module

Parameters

$id
$mode

at line 556
public load_active(string|false $mode = false, string|false $module_url = false, bool $execute_module = true)

Loads currently active module

This method loads a given module, passing it the relevant id and mode.

Parameters

string|false $mode mode, as passed through to the module
string|false $module_url If supplied, we use this module url
bool $execute_module If true, at the end we execute the main method for the new instance

at line 691
public adjust_url(string $url_extra)

Appending url parameter to the currently active module.

This function is called for adding specific url parameters while executing the current module. It is doing the same as the module{name}url() function, apart from being able to be called after having dynamically parsed specific parameters. This allows more freedom in choosing additional parameters. One example can be seen in /includes/mcp/mcpnotes.php - $this->pmaster->adjusturl() call.

Parameters

string $url_extra Extra url parameters, e.g.: &u=$user_id

at line 710
public is_active($id, $mode = false)

Check if a module is active

Parameters

$id
$mode

at line 730
public get_parents($parent_id, $left_id, $right_id, $all_parents)

Get parents

Parameters

$parent_id
$left_id
$right_id
$all_parents

at line 756
public get_branch($left_id, $right_id, $remaining)

Get tree branch

Parameters

$left_id
$right_id
$remaining

at line 777
public build_tree($modules, $parents)

Build true binary tree from given array Not in use

Parameters

$modules
$parents

at line 814
public assign_tpl_vars($module_url)

Build navigation structure

Parameters

$module_url

at line 954
public get_tpl_name()

Returns desired template name

at line 962
public get_page_title()

Returns the desired page title

at line 983
public load(string $class, string $name, string $mode = false)

Load module as the current active one without the need for registering it

Parameters

string $class module class (acp/mcp/ucp)
string $name module name (class name of the module, or its basename phpbbextfooacpbarmodule, ucpzebra or zebra)
string $mode mode, as passed through to the module

at line 1004
public display($page_title, $display_online_list = false)

Display module

Parameters

$page_title
$display_online_list

at line 1035
public set_display($id, $mode = false, $display = true)

Toggle whether this module will be displayed or not

Parameters

$id
$mode
$display

at line 1049
public add_mod_info($module_class)

Add custom MOD info language file

Parameters

$module_class