Coding standards
Security in ResourceSpace
Developer reference
Database
Action functions
Admin functions
Ajax functions
Annotation functions
API functions
Collections functions
Comment functions
Config functions
CSV export functions
Dash functions
Debug functions
Encryption functions
Facial recognition functions
File functions
General functions
Language functions
Log functions
Login functions
Message functions
Migration functions
Node functions
PDF functions
Plugin functions
Render functions
Reporting functions
Request functions
Research functions
Slideshow functions
Theme permission functions
User functions
Video functions
Database functions
Metadata functions
Resource functions
Search functions
Map functions
Job functions
Tab functions
Test functions

RenderPlugin()

Description

Render the plugin in the Plugin Manager with options to activate and configure.

Parameters

ColumnTypeDefaultDescription
$plugin array An array containing the plugin data, loaded from the plugin table
$active boolean true If true, display options to deactivate and allow group configuration

Return

void

Location

include/plugin_functions.php lines 1707 to 1781

Definition

 
function RenderPlugin($plugin$active true)
{
    global 
$lang$plugin_config_url$baseurl_short$disabled_plugins$disabled_plugins_message;

    
// Determine activation/deactivation labels, classes, and icons
    
$is_legacy = isset($plugin["legacy_inst"]);
    
$label $is_legacy $lang["plugins-legacyinst"] : ($active $lang["plugins-deactivate"] : $lang["plugins-activate"]);
    
$class $is_legacy "nowrap" : ($active "p-deactivate" "p-activate");
    
$icon $is_legacy "" : ($active "fa fa-circle-xmark" "fas fa-circle-plus");
    
$href $is_legacy "" $plugin['name'];

    
// Determine icon colour
    
$icon_colour = isset($plugin["icon-colour"]) && isValidCssColor($plugin["icon-colour"])
        ? 
$plugin["icon-colour"]
        : 
generateConsistentColour(substr($plugin["title"], 03), 8030);

    
// Render the plugin display
    
echo '<div class="PluginDisplay">';
    echo 
'<h2>';
    echo 
'<span class="plugin-header">';
    echo 
'<i class="plugin-icon fa-2x ' escape($plugin['icon']) . '" style="color:' escape($icon_colour) . ';"></i>';
    echo 
'<span class="plugin-title">' escape($plugin['title'] ?: $plugin['name']) . '</span>';
    echo 
'</span>';
    echo 
'</h2>';
    echo 
'<p>' escape($plugin['desc']) . '</p>';
    echo 
'<p class="PluginTools">';

    
// Render activation/deactivation or disabled message
    
if (!$is_legacy && (!in_array($plugin["name"], $disabled_plugins) || isset($plugin["inst_version"]))) {
        echo 
'<a href="#' escape($href) . '" class="' escape($class) . '">';
        echo 
'<i class="' escape($icon) . '"></i>&nbsp;' escape($label);
        echo 
'</a>';
    } elseif (
in_array($plugin["name"], $disabled_plugins)) {
        
$message $disabled_plugins_message ?: $lang['plugins-disabled-plugin-message'];
        echo 
strip_tags_and_attributes(i18n_get_translated($message), ['a'], ['href''target']);
    }

    
// Render "more info" link if available
    
if (!empty($plugin['info_url'])) {
        echo 
'<a class="nowrap" href="' escape($plugin['info_url']) . '" target="_blank">';
        echo 
'<i class="fas fa-info"></i>&nbsp;' escape($lang['plugins-moreinfo']);
        echo 
'</a> ';
    }

    
// Render group access link for active plugins
    
if ($active && empty($plugin['disable_group_select'])) {
        echo 
'<a onClick="return CentralSpaceLoad(this, true);" class="nowrap" href="';
        echo 
$baseurl_short 'pages/team/team_plugins_groups.php?plugin=' urlencode($plugin['name']);
        echo 
'"><i class="fas fa-users"></i>&nbsp;' escape($lang['groupaccess']);
        if (!empty(
trim((string) $plugin['enabled_groups']))) {
            
$s=explode(",",$plugin['enabled_groups']);
            echo 
' <span class="Pill">' count($s) . '</span>';
        }
        echo 
'</a> ';
    }

    
// Render configuration options link if available
    
if (!empty($plugin['config_url'])) {
        
$plugin_config_url = (substr($plugin['config_url'], 08) === "/plugins")
            ? 
str_replace("/plugins/" $plugin['name'], get_plugin_path($plugin['name'], true), $plugin['config_url'])
            : 
$baseurl_short $plugin['config_url'];
        echo 
'<a onClick="return CentralSpaceLoad(this, true);" class="nowrap" href="' escape($plugin_config_url) . '">';
        echo 
'<i class="fas fa-cog"></i>&nbsp;' escape($lang['options']);
        echo 
'</a> ';
    }

    
// Render purge configuration link if applicable
    
if (!empty($plugin['config'])) {
        echo 
'<a href="#' escape($plugin['name']) . '" class="p-purge">';
        echo 
'<i class="fa fa-trash"></i>&nbsp;' escape($lang['purge']);
        echo 
'</a> ';
    }

    echo 
'</p></div>';
}

This article was last updated 4th December 2024 09:05 Europe/London time based on the source file dated 29th November 2024 10:35 Europe/London time.