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
Constuctor Set module include path
Set custom include path for modules Schema for inclusion is include_path . modulebase
List modules
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
Check module authorisation.
Check module authorisation.
Set active module
Loads currently active module
Appending url parameter to the currently active module.
Check if a module is active
Get parents
Get tree branch
Build true binary tree from given array Not in use
Build navigation structure
Returns desired template name
Returns the desired page title
Load module as the current active one without the need for registering it
Display module
Toggle whether this module will be displayed or not
Add custom MOD info language file
Retrieve shortened module basename for legacy basenames (with xcp_ prefix)
If the basename contains a \ we don't use that for the URL.
Checks whether the given module basename is a correct class name
Details
at line 43
__construct($include_path = false)
Constuctor Set module include path
at line 63
set_custom_include_path(string $include_path)
Set custom include path for modules Schema for inclusion is include_path . modulebase
at line 83
list_modules($p_class)
List modules
This creates a list, stored in $this->module_ary of all available modules for the given class (ucp, mcp and acp). Additionally $this->module_y_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.
at line 331
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
at line 377
module_auth_self($module_auth)
Check module authorisation.
This is a non-static version that uses $this->acl_forum_id for the forum id.
at line 388
static
module_auth($module_auth, $forum_id)
Check module authorisation.
This is a static version, it must be given $forum_id. See also module_auth_self.
at line 481
set_active($id = false, $mode = false)
Set active module
at line 564
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.
at line 706
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/mcp_notes.php - $this->p_master->adjust_url() call.
at line 725
is_active($id, $mode = false)
Check if a module is active
at line 745
get_parents($parent_id, $left_id, $right_id, $all_parents)
Get parents
at line 771
get_branch($left_id, $right_id, $remaining)
Get tree branch
at line 792
build_tree($modules, $parents)
Build true binary tree from given array Not in use
at line 829
assign_tpl_vars($module_url)
Build navigation structure
at line 977
get_tpl_name()
Returns desired template name
at line 985
get_page_title()
Returns the desired page title
at line 1006
load(string $class, string $name, string $mode = false)
Load module as the current active one without the need for registering it
at line 1027
display($page_title, $display_online_list = false)
Display module
at line 1058
set_display($id, $mode = false, $display = true)
Toggle whether this module will be displayed or not
at line 1072
add_mod_info($module_class)
Add custom MOD info language file
at line 1126
protected string
get_short_name(string $basename)
Retrieve shortened module basename for legacy basenames (with xcp_ prefix)
at line 1148
protected string
get_module_identifier(string $basename)
If the basename contains a \ we don't use that for the URL.
Firefox is currently unable to correctly copy a urlencoded \ so users will be unable to post links to modules. However we can replace them with dashes and re-replace them later
at line 1164
protected bool
is_full_class(string $basename)
Checks whether the given module basename is a correct class name