Open Journal Systems  3.3.0
Plugin Class Reference
Inheritance diagram for Plugin:
AuthPlugin GatewayPlugin ImportExportPlugin LazyLoadPlugin MetadataPlugin OAIMetadataFormatPlugin ReportPlugin LDAPAuthPlugin AnnouncementFeedGatewayPlugin MarkupBatchGatewayPlugin MarkupGatewayPlugin PLNGatewayPlugin ResolverPlugin WebFeedGatewayPlugin NativeImportExportPlugin PKPUserImportExportPlugin PubMedExportPlugin PubObjectsExportPlugin QuickSubmitPlugin SwordImportExportPlugin BlockPlugin GenericPlugin PaymethodPlugin PKPPubIdPlugin ThemePlugin PKPDc11MetadataPlugin OAIMetadataFormatPlugin_JATS OAIMetadataFormatPlugin_MARC OAIMetadataFormatPlugin_MARC21 OAIMetadataFormatPlugin_RFC1807 PKPOAIMetadataFormatPlugin_DC ArticleReportPlugin CounterReportPlugin PKPUsageStatsReportPlugin ReviewReportPlugin SubscriptionReportPlugin ViewReportPlugin

Public Member Functions

 __construct ()
 
 _overridePluginTemplates ($hookName, $args)
 
 addLocaleData ($locale=null)
 
 getActions ($request, $actionArgs)
 
 getCanDisable ()
 
 getCanEnable ()
 
 getCategory ()
 
 getContextSpecificPluginSettingsFile ()
 
 getCurrentVersion ()
 
 getDescription ()
 
 getDirName ()
 
 getDisplayName ()
 
 getEnabled ()
 
 getHideManagement ()
 
 getInstallControlledVocabFiles ()
 
 getInstallDataFile ()
 
 getInstallEmailTemplateDataFile ()
 
 getInstallEmailTemplatesFile ()
 
 getInstallFilterConfigFiles ()
 
 getInstallMigration ()
 
 getInstallSchemaFile ()
 
 getInstallSitePluginSettingsFile ()
 
 getLocaleFilename ($locale)
 
 getName ()
 
 getPluginPath ()
 
getRequest ()
 
 getSeq ()
 
 getSetting ($contextId, $name)
 
 getTemplatePath ($inCore=false)
 
 getTemplateResource ($template=null, $inCore=false)
 
 import ($class)
 
 installContextSpecificSettings ($hookName, $args)
 
 installControlledVocabs ($hookName, $args)
 
 installData ($hookName, $args)
 
 installEmailTemplateData ($hookName, $args)
 
 installEmailTemplates ($hookName, $args)
 
 installFilters ($hookName, $args)
 
 installLocale ($hookName, $args)
 
 installSiteSettings ($hookName, $args)
 
 isSitePlugin ()
 
 manage ($args, $request)
 
 register ($category, $path, $mainContextId=null)
 
 smartyPluginUrl ($params, $smarty)
 
 updateSchema ($hookName, $args)
 
 updateSetting ($contextId, $name, $value, $type=null)
 

Data Fields

 $pluginCategory
 
 $pluginPath
 
 $request
 

Protected Member Functions

 _registerTemplateResource ($inCore=false)
 

Detailed Description

Abstract class for plugins.

See also
PluginRegistry, PluginSettingsDAO

For best performance, a plug-in should not be instantiated if it is disabled or the current page/operation does not require the plug-in's functionality.

Newer plug-ins support enable/disable and request filter settings that enable the PKP library plug-in framework to lazy-load plug-ins only when their functionality is actually being required for a request.

For backwards compatibility we need to assume that older plug-ins do not support lazy-load because their register() method and hooks may have side-effects required on all requests. We have no way of knowing on which pages these side effects are important so we need to load legacy plug-ins on all pages.

In these cases the register() function will be called on every request when the category the plug-in belongs to is being loaded. This was the default behavior before plug-in lazy load was introduced.

Plug-ins that want to enable lazy-load have to include a 'lazy-load' setting in their version.xml:

<lazy-load>1</lazy-load>

Definition at line 51 of file Plugin.inc.php.

Constructor & Destructor Documentation

◆ __construct()

Plugin::__construct ( )

Constructor

Reimplemented in UsageStatsPlugin.

Definition at line 73 of file Plugin.inc.php.

Member Function Documentation

◆ _overridePluginTemplates()

Plugin::_overridePluginTemplates (   $hookName,
  $args 
)

Call this method when an enabled plugin is registered in order to override template files. Any plugin which calls this method can override template files by adding their own templates to: <overridingPlugin>/templates/plugins/<category>/<originalPlugin>/templates/<path>.tpl

Parameters
$hookNamestring TemplateResource::getFilename
$argsarray [ @option string File path to preferred template. Leave as-is to not override template. @option string Template file requested ]
Returns
boolean

Definition at line 398 of file Plugin.inc.php.

◆ _registerTemplateResource()

Plugin::_registerTemplateResource (   $inCore = false)
protected

Register this plugin's templates as a template resource

Parameters
$inCoreboolean True iff this is a core resource.

Definition at line 376 of file Plugin.inc.php.

References PKPTemplateManager\getManager(), getTemplatePath(), and getTemplateResource().

Referenced by BrowseBySectionPlugin\register(), TexturePlugin\register(), register(), and UsageStatsPlugin\register().

◆ addLocaleData()

◆ getActions()

Plugin::getActions (   $request,
  $actionArgs 
)

Get a list of link actions for plugin management.

Parameters
requestPKPRequest
$actionArgsarray The list of action args to be included in request URLs.
Returns
array List of LinkActions

Reimplemented in SwordPlugin, UsageStatsPlugin, MarkupPlugin, WebFeedPlugin, PLNPlugin, AnnouncementFeedPlugin, GoogleAnalyticsPlugin, OrcidProfilePlugin, CitationStyleLanguagePlugin, StaticPagesPlugin, ReportPlugin, SubscriptionSSOPlugin, CustomBlockManagerPlugin, PKPAcronPlugin, PKPPubIdPlugin, and ImportExportPlugin.

Definition at line 844 of file Plugin.inc.php.

◆ getCanDisable()

Plugin::getCanDisable ( )

Determine whether the plugin can be disabled.

Returns
boolean

Reimplemented in LazyLoadPlugin, TinyMCEPlugin, OAIMetadataFormatPlugin_JATS, and GatewayPlugin.

Definition at line 860 of file Plugin.inc.php.

◆ getCanEnable()

Plugin::getCanEnable ( )

Determine whether the plugin can be enabled.

Returns
boolean

Reimplemented in LazyLoadPlugin, OAIMetadataFormatPlugin_JATS, and GatewayPlugin.

Definition at line 852 of file Plugin.inc.php.

◆ getCategory()

Plugin::getCategory ( )

Get the name of the category this plugin is registered to.

Returns
String category

Definition at line 322 of file Plugin.inc.php.

References $pluginCategory.

Referenced by CustomBlockManagerPlugin\getActions(), OrcidProfilePlugin\smartyPluginUrl(), and smartyPluginUrl().

◆ getContextSpecificPluginSettingsFile()

Plugin::getContextSpecificPluginSettingsFile ( )

Get the filename of the settings data for this plugin to install when a new application context (e.g. journal, conference or press) is installed.

Subclasses using default settings should override this.

Returns
string

Reimplemented in DefaultThemePlugin, PLNPlugin, MarkupPlugin, WebFeedPlugin, PdfJsViewerPlugin, GoogleScholarPlugin, LensGalleyPlugin, DublinCoreMetaPlugin, TinyMCEPlugin, HtmlArticleGalleyPlugin, DevelopedByBlockPlugin, ResolverPlugin, LanguageToggleBlockPlugin, SubscriptionBlockPlugin, and InformationBlockPlugin.

Definition at line 268 of file Plugin.inc.php.

Referenced by register().

◆ getCurrentVersion()

Plugin::getCurrentVersion ( )

Get the current version of this plugin

Returns
Version

Definition at line 810 of file Plugin.inc.php.

References $pluginPath, DAORegistry\getDAO(), and getPluginPath().

◆ getDescription()

Plugin::getDescription ( )
abstract

Get a description of this plugin.

Returns
string

Reimplemented in OrcidProfilePlugin, DefaultThemePlugin, SwordPlugin, UsageStatsPlugin, GoogleScholarPlugin, DublinCoreMetaPlugin, PLNPlugin, SubscriptionSSOPlugin, HealthSciencesThemePlugin, ImmersionThemePlugin, MarkupGatewayPlugin, TinyMCEPlugin, MarkupBatchGatewayPlugin, BootstrapThreeThemePlugin, CustomBlockPlugin, CriticalTimesThemePlugin, HypothesisPlugin, MarkupPlugin, PKPAcronPlugin, SwordImportExportPlugin, PKPUsageEventPlugin, CounterReportPlugin, PLNGatewayPlugin, LDAPAuthPlugin, WebFeedBlockPlugin, WebFeedGatewayPlugin, UsageStatsOptoutBlockPlugin, URNPubIdPlugin, AnnouncementFeedBlockPlugin, AnnouncementFeedGatewayPlugin, DOIPubIdPlugin, CrossRefExportPlugin, PdfJsViewerPlugin, QuickSubmitPlugin, DRIVERPlugin, LensGalleyPlugin, BrowseBySectionPlugin, PKPUserImportExportPlugin, NativeImportExportPlugin, ReviewReportPlugin, ResolverPlugin, HtmlArticleGalleyPlugin, DevelopedByBlockPlugin, RecommendByAuthorPlugin, RecommendBySimilarityPlugin, DataciteExportPlugin, PubMedExportPlugin, SubscriptionReportPlugin, LanguageToggleBlockPlugin, AnnouncementFeedPlugin, PKPUsageStatsReportPlugin, ArticleReportPlugin, PKPDc11MetadataPlugin, DOAJExportPlugin, CitationStyleLanguagePlugin, MedraExportPlugin, GoogleAnalyticsPlugin, ViewReportPlugin, SubscriptionBlockPlugin, OAIMetadataFormatPlugin_JATS, InformationBlockPlugin, PaypalPaymentPlugin, ManualPaymentPlugin, OAIMetadataFormatPlugin_MARC, OAIMetadataFormatPlugin_RFC1807, TexturePlugin, OAIMetadataFormatPlugin_MARC21, PKPOAIMetadataFormatPlugin_DC, MakeSubmissionBlockPlugin, WebFeedPlugin, CustomBlockManagerPlugin, DefaultTranslationPlugin, BrowseBlockPlugin, and StaticPagesPlugin.

◆ getDirName()

Plugin::getDirName ( )

Get the directory name of the plugin

Returns
String directory name

Definition at line 338 of file Plugin.inc.php.

◆ getDisplayName()

Plugin::getDisplayName ( )
abstract

Get the display name for this plugin.

Returns
string

Reimplemented in OrcidProfilePlugin, DefaultThemePlugin, SwordPlugin, UsageStatsPlugin, GoogleScholarPlugin, DublinCoreMetaPlugin, PLNPlugin, SubscriptionSSOPlugin, HealthSciencesThemePlugin, ImmersionThemePlugin, MarkupGatewayPlugin, TinyMCEPlugin, MarkupBatchGatewayPlugin, BootstrapThreeThemePlugin, CustomBlockPlugin, CriticalTimesThemePlugin, HypothesisPlugin, MarkupPlugin, PKPAcronPlugin, SwordImportExportPlugin, PKPUsageEventPlugin, CounterReportPlugin, PLNGatewayPlugin, LDAPAuthPlugin, WebFeedBlockPlugin, WebFeedGatewayPlugin, UsageStatsOptoutBlockPlugin, URNPubIdPlugin, AnnouncementFeedBlockPlugin, AnnouncementFeedGatewayPlugin, DOIPubIdPlugin, DRIVERPlugin, CrossRefExportPlugin, PdfJsViewerPlugin, QuickSubmitPlugin, ResolverPlugin, LensGalleyPlugin, BrowseBySectionPlugin, ReviewReportPlugin, PKPUserImportExportPlugin, HtmlArticleGalleyPlugin, NativeImportExportPlugin, DevelopedByBlockPlugin, RecommendByAuthorPlugin, RecommendBySimilarityPlugin, DataciteExportPlugin, PubMedExportPlugin, SubscriptionReportPlugin, LanguageToggleBlockPlugin, PKPUsageStatsReportPlugin, ArticleReportPlugin, AnnouncementFeedPlugin, ViewReportPlugin, PKPDc11MetadataPlugin, DOAJExportPlugin, CitationStyleLanguagePlugin, MedraExportPlugin, GoogleAnalyticsPlugin, SubscriptionBlockPlugin, OAIMetadataFormatPlugin_JATS, InformationBlockPlugin, PaypalPaymentPlugin, OAIMetadataFormatPlugin_MARC, OAIMetadataFormatPlugin_RFC1807, ManualPaymentPlugin, OAIMetadataFormatPlugin_MARC21, PKPOAIMetadataFormatPlugin_DC, TexturePlugin, MakeSubmissionBlockPlugin, CustomBlockManagerPlugin, DefaultTranslationPlugin, WebFeedPlugin, BrowseBlockPlugin, and StaticPagesPlugin.

Referenced by ThemePlugin\addOption().

◆ getEnabled()

Plugin::getEnabled ( )

Determine whether the plugin is enabled.

Returns
boolean

Reimplemented in MarkupGatewayPlugin, PLNGatewayPlugin, AnnouncementFeedGatewayPlugin, OAIMetadataFormatPlugin_JATS, and GatewayPlugin.

Definition at line 868 of file Plugin.inc.php.

Referenced by AnnouncementFeedPlugin\callbackAddLinks(), UsageStatsPlugin\callbackParseCronTab(), GoogleAnalyticsPlugin\getActions(), PKPPubIdPlugin\getActions(), PKPAcronPlugin\getActions(), CustomBlockManagerPlugin\getActions(), SubscriptionSSOPlugin\getActions(), AnnouncementFeedPlugin\getActions(), PLNPlugin\getActions(), WebFeedPlugin\getActions(), ReportPlugin\getActions(), StaticPagesPlugin\getActions(), MarkupPlugin\getActions(), UsageStatsPlugin\getActions(), SwordPlugin\getActions(), OrcidProfilePlugin\getActions(), PLNPlugin\getManagementVerbs(), BrowseBySectionPlugin\loadPageHandler(), SubscriptionSSOPlugin\register(), PdfJsViewerPlugin\register(), HtmlArticleGalleyPlugin\register(), LensGalleyPlugin\register(), TinyMCEPlugin\register(), AnnouncementFeedPlugin\register(), DublinCoreMetaPlugin\register(), GoogleAnalyticsPlugin\register(), GoogleScholarPlugin\register(), BrowseBySectionPlugin\register(), DOIPubIdPlugin\register(), URNPubIdPlugin\register(), OAIMetadataFormatPlugin\register(), PKPPubIdPlugin\register(), SwordPlugin\register(), RecommendByAuthorPlugin\register(), DRIVERPlugin\register(), RecommendBySimilarityPlugin\register(), DefaultTranslationPlugin\register(), CustomBlockManagerPlugin\register(), WebFeedPlugin\register(), TexturePlugin\register(), OrcidProfilePlugin\register(), StaticPagesPlugin\register(), CitationStyleLanguagePlugin\register(), PLNPlugin\register(), MarkupPlugin\register(), UsageStatsPlugin\register(), and OrcidProfilePlugin\setupCallbackHandler().

◆ getHideManagement()

Plugin::getHideManagement ( )

Determine whether or not this plugin should be hidden from the management interface. Useful in the case of derivative plugins, i.e. when a generic plugin registers a feed plugin.

Returns
boolean

Reimplemented in MarkupGatewayPlugin, CustomBlockPlugin, WebFeedBlockPlugin, PLNGatewayPlugin, AnnouncementFeedGatewayPlugin, UsageStatsOptoutBlockPlugin, WebFeedGatewayPlugin, and AnnouncementFeedBlockPlugin.

Definition at line 203 of file Plugin.inc.php.

◆ getInstallControlledVocabFiles()

Plugin::getInstallControlledVocabFiles ( )

Get the filename of the controlled vocabulary for this plugin to install when the system is installed. Null if none included.

Returns
array|null Filename of controlled vocabs XML file.

Reimplemented in MetadataPlugin.

Definition at line 255 of file Plugin.inc.php.

Referenced by installControlledVocabs(), and register().

◆ getInstallDataFile()

Plugin::getInstallDataFile ( )

Get the filename of the install data for this plugin. Subclasses using SQL tables should override this.

Deprecated:
Use getInstallMigration instead.
Returns
string|array|null one or more data files to be installed.

Reimplemented in PLNPlugin.

Definition at line 235 of file Plugin.inc.php.

Referenced by installData(), installEmailTemplateData(), and register().

◆ getInstallEmailTemplateDataFile()

Plugin::getInstallEmailTemplateDataFile ( )

Get the filename of the email template data for this plugin. Subclasses using email templates should override this.

Deprecated:
Starting with OJS/OMP 3.2, localized content should be specified via getInstallEmailTemplatesFile(). (pkp/pkp-lib#5461)
Returns
string

Definition at line 290 of file Plugin.inc.php.

Referenced by installEmailTemplateData(), installLocale(), and register().

◆ getInstallEmailTemplatesFile()

Plugin::getInstallEmailTemplatesFile ( )

Get the filename of the email templates for this plugin. Subclasses using email templates should override this.

Returns
string

Reimplemented in OrcidProfilePlugin, SwordPlugin, PaypalPaymentPlugin, and ManualPaymentPlugin.

Definition at line 278 of file Plugin.inc.php.

Referenced by installEmailTemplates(), installLocale(), and register().

◆ getInstallFilterConfigFiles()

Plugin::getInstallFilterConfigFiles ( )

Get the filename(s) of the filter configuration data for this plugin. Subclasses using filters can override this.

The default implementation establishes "well known" locations for the filter configuration. If you keep your files in these locations then there's no need to override this method.

Returns
string|array one or more file locations.

Definition at line 304 of file Plugin.inc.php.

References getPluginPath().

Referenced by installFilters().

◆ getInstallMigration()

Plugin::getInstallMigration ( )

Get the installation migration for this plugin.

Returns
Illuminate\Database\Migrations\Migration?

Reimplemented in UsageStatsPlugin.

Definition at line 225 of file Plugin.inc.php.

Referenced by register(), and updateSchema().

◆ getInstallSchemaFile()

Plugin::getInstallSchemaFile ( )

Get the filename of the ADODB schema for this plugin. Subclasses using SQL tables should override this.

Deprecated:
See Plugin::getInstallMigration
Returns
string?

Reimplemented in SwordPlugin, MarkupPlugin, StaticPagesPlugin, and PLNPlugin.

Definition at line 217 of file Plugin.inc.php.

Referenced by register(), and updateSchema().

◆ getInstallSitePluginSettingsFile()

Plugin::getInstallSitePluginSettingsFile ( )

Get the filename of the settings data for this plugin to install when the system is installed (i.e. site-level plugin settings). Subclasses using default settings should override this.

Returns
string

Reimplemented in DefaultThemePlugin, UsageStatsPlugin, PKPAcronPlugin, PKPUsageEventPlugin, TinyMCEPlugin, DevelopedByBlockPlugin, and LanguageToggleBlockPlugin.

Definition at line 246 of file Plugin.inc.php.

Referenced by installSiteSettings(), and register().

◆ getLocaleFilename()

Plugin::getLocaleFilename (   $locale)

Get the filename for the locale data for this plugin.

Parameters
$localestring
Returns
array The locale file names.

Reimplemented in CounterReportPlugin.

Definition at line 531 of file Plugin.inc.php.

References getPluginPath().

Referenced by addLocaleData().

◆ getName()

◆ getPluginPath()

Plugin::getPluginPath ( )

Get the path this plugin's files are located in.

Returns
String pathname

Reimplemented in MarkupGatewayPlugin, MarkupBatchGatewayPlugin, PLNGatewayPlugin, UsageStatsOptoutBlockPlugin, WebFeedBlockPlugin, WebFeedGatewayPlugin, AnnouncementFeedBlockPlugin, AnnouncementFeedGatewayPlugin, SwordImportExportPlugin, and CustomBlockPlugin.

Definition at line 330 of file Plugin.inc.php.

References $pluginPath.

Referenced by ImmersionThemePlugin\addSiteWideData(), MarkupPlugin\callbackLoadBatchHandler(), TexturePlugin\callbackLoadHandler(), UsageStatsPlugin\callbackLoadHandler(), MarkupPlugin\callbackLoadMarkupHandler(), PLNPlugin\callbackParseCronTab(), UsageStatsPlugin\callbackParseCronTab(), SwordPlugin\callbackSwordLoadHandler(), CounterReportPlugin\getClassPath(), InformationBlockPlugin\getContextSpecificPluginSettingsFile(), SubscriptionBlockPlugin\getContextSpecificPluginSettingsFile(), LanguageToggleBlockPlugin\getContextSpecificPluginSettingsFile(), ResolverPlugin\getContextSpecificPluginSettingsFile(), DevelopedByBlockPlugin\getContextSpecificPluginSettingsFile(), HtmlArticleGalleyPlugin\getContextSpecificPluginSettingsFile(), TinyMCEPlugin\getContextSpecificPluginSettingsFile(), DublinCoreMetaPlugin\getContextSpecificPluginSettingsFile(), LensGalleyPlugin\getContextSpecificPluginSettingsFile(), GoogleScholarPlugin\getContextSpecificPluginSettingsFile(), PdfJsViewerPlugin\getContextSpecificPluginSettingsFile(), WebFeedPlugin\getContextSpecificPluginSettingsFile(), MarkupPlugin\getContextSpecificPluginSettingsFile(), PLNPlugin\getContextSpecificPluginSettingsFile(), DefaultThemePlugin\getContextSpecificPluginSettingsFile(), MarkupPlugin\getCssUrl(), getCurrentVersion(), OrcidProfilePlugin\getHandlerPath(), PLNPlugin\getHandlerPath(), OrcidProfilePlugin\getIcon(), MetadataPlugin\getInstallControlledVocabFiles(), PLNPlugin\getInstallDataFile(), ManualPaymentPlugin\getInstallEmailTemplatesFile(), PaypalPaymentPlugin\getInstallEmailTemplatesFile(), SwordPlugin\getInstallEmailTemplatesFile(), OrcidProfilePlugin\getInstallEmailTemplatesFile(), getInstallFilterConfigFiles(), PLNPlugin\getInstallSchemaFile(), StaticPagesPlugin\getInstallSchemaFile(), MarkupPlugin\getInstallSchemaFile(), SwordPlugin\getInstallSchemaFile(), LanguageToggleBlockPlugin\getInstallSitePluginSettingsFile(), DevelopedByBlockPlugin\getInstallSitePluginSettingsFile(), TinyMCEPlugin\getInstallSitePluginSettingsFile(), PKPUsageEventPlugin\getInstallSitePluginSettingsFile(), PKPAcronPlugin\getInstallSitePluginSettingsFile(), UsageStatsPlugin\getInstallSitePluginSettingsFile(), DefaultThemePlugin\getInstallSitePluginSettingsFile(), StaticPagesPlugin\getJavaScriptURL(), MarkupPlugin\getJsUrl(), SwordPlugin\getJsUrl(), LensGalleyPlugin\getLensPath(), CounterReportPlugin\getLocaleFilename(), getLocaleFilename(), TexturePlugin\getPluginUrl(), OrcidProfilePlugin\getStyleSheet(), getTemplatePath(), getTemplateResource(), import(), installEmailTemplates(), installLocale(), ThemePlugin\isActive(), UsageStatsPlugin\loadJavascript(), HealthSciencesThemePlugin\loadTemplateData(), URNPubIdPlugin\loadUrnFieldComponent(), AnnouncementFeedPlugin\register(), PKPUserImportExportPlugin\register(), CustomBlockManagerPlugin\register(), WebFeedPlugin\register(), and UsageStatsPlugin\register().

◆ getRequest()

◆ getSeq()

Plugin::getSeq ( )

Return a number indicating the sequence in which this plugin should be registered compared to others of its category. Higher = later.

Returns
integer

Reimplemented in MarkupBatchGatewayPlugin, and DefaultTranslationPlugin.

Definition at line 173 of file Plugin.inc.php.

◆ getSetting()

Plugin::getSetting (   $contextId,
  $name 
)

Retrieve a plugin setting within the given context

Parameters
$contextIdint Context ID
$namestring Setting name

Reimplemented in PLNPlugin, and OrcidProfilePlugin.

Definition at line 473 of file Plugin.inc.php.

References DAORegistry\getDAO(), getName(), and Config\getVar().

Referenced by UsageStatsPlugin\_getPluginSetting(), PKPAcronPlugin\_getTasksToRun(), URNPubIdPlugin\addPublicationFormFields(), DOIPubIdPlugin\addPublicationFormFields(), URNPubIdPlugin\addPublishFormNotice(), DOIPubIdPlugin\addPublishFormNotice(), ManualPaymentPlugin\addSettings(), PaypalPaymentPlugin\addSettings(), AnnouncementFeedPlugin\callbackAddLinks(), WebFeedPlugin\callbackAddLinks(), MarkupPlugin\callbackUserProfile(), URNPubIdPlugin\constructPubId(), MedraExportPlugin\depositXML(), DOAJExportPlugin\depositXML(), DataciteExportPlugin\depositXML(), CrossRefExportPlugin\depositXML(), PubObjectsExportPlugin\display(), UsageStatsPlugin\displayReaderArticleGraph(), UsageStatsPlugin\displayReaderMonographGraph(), UsageStatsPlugin\displayReaderPreprintGraph(), CustomBlockPlugin\getContents(), BlockPlugin\getEnabled(), GatewayPlugin\getEnabled(), LazyLoadPlugin\getEnabled(), OAIMetadataFormatPlugin_JATS\getEnabled(), CitationStyleLanguagePlugin\getEnabledCitationDownloads(), CitationStyleLanguagePlugin\getEnabledCitationStyles(), DOAJExportPlugin\getExportActions(), PubObjectsExportPlugin\getExportActions(), MarkupPlugin\getOTSLoginParametersForJournal(), CitationStyleLanguagePlugin\getPrimaryStyleName(), PubIdPlugin\getPubId(), URNPubIdPlugin\getResolvingURL(), CrossRefExportPlugin\getStatusMessage(), PKPUsageEventPlugin\getUniqueSiteId(), PaypalPaymentPlugin\handle(), ManualPaymentPlugin\isConfigured(), PaypalPaymentPlugin\isConfigured(), DOIPubIdPlugin\isObjectTypeEnabled(), URNPubIdPlugin\isObjectTypeEnabled(), SubscriptionSSOPlugin\loadHandlerCallback(), PubIdPlugin\manage(), SwordPlugin\performAutomaticDeposits(), CustomBlockManagerPlugin\register(), UsageStatsPlugin\register(), GoogleAnalyticsPlugin\registerScript(), SubscriptionSSOPlugin\subscribedUserCallback(), MarkupPlugin\templateFetchCallback(), DOIPubIdPlugin\validatePublicationDoi(), URNPubIdPlugin\validatePublicationUrn(), and PKPPubIdPlugin\verifyData().

◆ getTemplatePath()

Plugin::getTemplatePath (   $inCore = false)

Return the canonical template path of this plug-in

Parameters
$inCoreReturn the core template path if true.
Returns
string|null

Reimplemented in PLNGatewayPlugin, WebFeedBlockPlugin, and CustomBlockPlugin.

Definition at line 366 of file Plugin.inc.php.

References getPluginPath().

Referenced by _registerTemplateResource().

◆ getTemplateResource()

Plugin::getTemplateResource (   $template = null,
  $inCore = false 
)

Return the Resource Name for templates in this plugin, or if specified, the full resource locator for a specific template.

Parameters
$templateTemplate path/filename, if desired
$inCoreboolean True if a "core" template should be used.
Returns
string

Definition at line 349 of file Plugin.inc.php.

References $pluginPath, and getPluginPath().

Referenced by SwordSettingsForm\__construct(), AuthorDepositForm\__construct(), SwordDepositPointForm\__construct(), QuickSubmitPlugin\_cancelSubmit(), _registerTemplateResource(), QuickSubmitPlugin\_saveSubmit(), BrowseBySectionPlugin\addSectionFormFields(), LensGalleyPlugin\articleCallback(), HtmlArticleGalleyPlugin\articleViewCallback(), OrcidProfilePlugin\authorFormFilter(), SwordPlugin\callbackSettingsTab(), StaticPagesPlugin\callbackShowWebsiteSettingsTabs(), RecommendByAuthorPlugin\callbackTemplateArticlePageFooter(), RecommendBySimilarityPlugin\callbackTemplateArticlePageFooter(), DOIPubIdExportPlugin\display(), DOAJExportPlugin\display(), PubMedExportPlugin\display(), PKPUserImportExportPlugin\display(), NativeImportExportPlugin\display(), SwordImportExportPlugin\display(), CounterReportPlugin\display(), CitationStyleLanguagePlugin\getCitationDownloads(), BlockPlugin\getContents(), UsageStatsOptoutBlockPlugin\getContents(), ManualPaymentPlugin\getPaymentForm(), DOIPubIdPlugin\getPubIdAssignFile(), URNPubIdPlugin\getPubIdAssignFile(), DOIPubIdPlugin\getPubIdMetadataFile(), URNPubIdPlugin\getPubIdMetadataFile(), AuthPlugin\getSettingsTemplate(), UsageStatsPlugin\getTemplate(), OrcidProfilePlugin\handleUserPublicProfileDisplay(), LensGalleyPlugin\issueCallback(), PdfJsViewerPlugin\issueCallback(), OrcidProfilePlugin\registrationFilter(), and PdfJsViewerPlugin\submissionCallback().

◆ import()

Plugin::import (   $class)

Load a PHP file from this plugin's installation directory.

Parameters
$classstring

Definition at line 515 of file Plugin.inc.php.

References getPluginPath().

◆ installContextSpecificSettings()

Plugin::installContextSpecificSettings (   $hookName,
  $args 
)

Callback used to install settings on new context (e.g. journal, conference or press) creation.

Parameters
$hookNamestring
$argsarray
Returns
boolean

Definition at line 627 of file Plugin.inc.php.

References DAORegistry\getDAO().

◆ installControlledVocabs()

Plugin::installControlledVocabs (   $hookName,
  $args 
)

Callback used to install controlled vocabularies on system install.

Parameters
$hookNamestring
$argsarray
Returns
boolean

Definition at line 611 of file Plugin.inc.php.

References DAORegistry\getDAO(), and getInstallControlledVocabFiles().

◆ installData()

Plugin::installData (   $hookName,
  $args 
)

Callback used to install data files.

Parameters
$hookNamestring
$argsarray
Returns
boolean

Definition at line 558 of file Plugin.inc.php.

References getInstallDataFile(), and AppLocale\requireComponents().

◆ installEmailTemplateData()

Plugin::installEmailTemplateData (   $hookName,
  $args 
)

Callback used to install email template data.

Deprecated:
Email template data should be installed via installEmailTemplates (pkp/pkp-lib#5461)
Parameters
$hookNamestring
$argsarray
Returns
boolean

Definition at line 679 of file Plugin.inc.php.

References DAORegistry\getDAO(), getInstallDataFile(), and getInstallEmailTemplateDataFile().

◆ installEmailTemplates()

Plugin::installEmailTemplates (   $hookName,
  $args 
)

Callback used to install email templates.

Parameters
$hookNamestring
$argsarray
Returns
boolean

Definition at line 641 of file Plugin.inc.php.

References DAORegistry\getDAO(), getInstallEmailTemplatesFile(), getPluginPath(), and AppLocale\registerLocaleFile().

◆ installFilters()

Plugin::installFilters (   $hookName,
  $args 
)

Callback used to install filters.

Parameters
$hookNamestring
$argsarray

Definition at line 727 of file Plugin.inc.php.

References getInstallFilterConfigFiles().

◆ installLocale()

Plugin::installLocale (   $hookName,
  $args 
)

Callback used to install email template data on locale install.

Parameters
$hookNamestring
$argsarray
Returns
boolean

Definition at line 705 of file Plugin.inc.php.

References DAORegistry\getDAO(), getInstallEmailTemplateDataFile(), getInstallEmailTemplatesFile(), getPluginPath(), and AppLocale\registerLocaleFile().

◆ installSiteSettings()

Plugin::installSiteSettings (   $hookName,
  $args 
)

Callback used to install settings on system install.

Parameters
$hookNamestring
$argsarray
Returns
boolean

Definition at line 588 of file Plugin.inc.php.

References $application, PKPApplication\get(), DAORegistry\getDAO(), getInstallSitePluginSettingsFile(), and getName().

◆ isSitePlugin()

Plugin::isSitePlugin ( )

Site-wide plugins should override this function to return true.

Returns
boolean

Reimplemented in AuthPlugin, UsageStatsPlugin, CustomBlockManagerPlugin, PKPUsageEventPlugin, UsageStatsOptoutBlockPlugin, and PKPAcronPlugin.

Definition at line 182 of file Plugin.inc.php.

Referenced by LazyLoadPlugin\getEnabled(), and LazyLoadPlugin\setEnabled().

◆ manage()

Plugin::manage (   $args,
  $request 
)

◆ register()

Plugin::register (   $category,
  $path,
  $mainContextId = null 
)

Load and initialize the plug-in and register plugin hooks.

For backwards compatibility this method will be called whenever the plug-in's category is being loaded. If, however, registerOn() returns an array then this method will only be called when the plug-in is enabled and an entry in the result set of registerOn() matches the current request operation. An empty array matches all request operations.

Parameters
$categoryString Name of category plugin was registered to
$pathString The path the plugin was found in
$mainContextIdinteger To identify if the plugin is enabled we need a context. This context is usually taken from the request but sometimes there is no context in the request (e.g. when executing CLI commands). Then the main context can be given as an explicit ID.
Returns
boolean True iff plugin registered successfully; if false, the plugin will not be executed.

Reimplemented in UsageStatsPlugin, MarkupPlugin, ThemePlugin, PLNPlugin, PubObjectsExportPlugin, CitationStyleLanguagePlugin, StaticPagesPlugin, OrcidProfilePlugin, PaypalPaymentPlugin, ManualPaymentPlugin, PKPAcronPlugin, TexturePlugin, WebFeedPlugin, CustomBlockManagerPlugin, DefaultTranslationPlugin, SwordImportExportPlugin, PKPUsageEventPlugin, MetadataPlugin, DRIVERPlugin, RecommendByAuthorPlugin, RecommendBySimilarityPlugin, CounterReportPlugin, LazyLoadPlugin, SwordPlugin, PKPPubIdPlugin, OAIMetadataFormatPlugin, PKPUsageStatsReportPlugin, QuickSubmitPlugin, URNPubIdPlugin, PKPUserImportExportPlugin, BrowseBySectionPlugin, NativeImportExportPlugin, UserImportExportPlugin, DOIPubIdPlugin, ReviewReportPlugin, ViewReportPlugin, LDAPAuthPlugin, ResolverPlugin, AnnouncementFeedPlugin, DublinCoreMetaPlugin, GoogleAnalyticsPlugin, GoogleScholarPlugin, HtmlArticleGalleyPlugin, LensGalleyPlugin, TinyMCEPlugin, PubMedExportPlugin, ArticleReportPlugin, SubscriptionReportPlugin, HypothesisPlugin, PdfJsViewerPlugin, and SubscriptionSSOPlugin.

Definition at line 99 of file Plugin.inc.php.

References _registerTemplateResource(), getContextSpecificPluginSettingsFile(), getInstallControlledVocabFiles(), getInstallDataFile(), getInstallEmailTemplateDataFile(), getInstallEmailTemplatesFile(), getInstallMigration(), getInstallSchemaFile(), getInstallSitePluginSettingsFile(), and HookRegistry\register().

◆ smartyPluginUrl()

Plugin::smartyPluginUrl (   $params,
  $smarty 
)

Extend the {url ...} smarty to support plugins.

Parameters
$paramsarray
$smartySmarty
Returns
string

Reimplemented in OrcidProfilePlugin, and QuickSubmitPlugin.

Definition at line 793 of file Plugin.inc.php.

References getCategory(), and getName().

◆ updateSchema()

Plugin::updateSchema (   $hookName,
  $args 
)

Called during the install process to install the plugin schema, if applicable.

Parameters
$hookNamestring
$argsarray
Returns
boolean

Definition at line 761 of file Plugin.inc.php.

References getInstallMigration(), and getInstallSchemaFile().

◆ updateSetting()

Plugin::updateSetting (   $contextId,
  $name,
  $value,
  $type = null 
)

Update a plugin setting within the given context.

Parameters
$contextIdint Context ID
$namestring The name of the setting
$valuemixed Setting value
$typestring optional

Definition at line 495 of file Plugin.inc.php.

References DAORegistry\getDAO(), and getName().

Referenced by PKPAcronPlugin\_parseCrontab(), PKPUsageEventPlugin\buildUsageEvent(), PLNPlugin\getServiceDocument(), PLNPlugin\getSetting(), PLNPlugin\manage(), ManualPaymentPlugin\saveSettings(), PaypalPaymentPlugin\saveSettings(), BlockPlugin\setEnabled(), GatewayPlugin\setEnabled(), LazyLoadPlugin\setEnabled(), and OAIMetadataFormatPlugin_JATS\setEnabled().

Field Documentation

◆ $pluginCategory

string Plugin::$pluginCategory

Category name this plugin is registered to

Definition at line 62 of file Plugin.inc.php.

Referenced by getCategory().

◆ $pluginPath

string Plugin::$pluginPath

Path name to files for this plugin

Definition at line 56 of file Plugin.inc.php.

Referenced by getCurrentVersion(), MetadataPlugin\getInstallControlledVocabFiles(), getPluginPath(), and getTemplateResource().

◆ $request

PKPRequest Plugin::$request

the current request object

Definition at line 68 of file Plugin.inc.php.

Referenced by QuickSubmitPlugin\_cancelSubmit(), QuickSubmitPlugin\_deleteUploadedImage(), HtmlArticleGalleyPlugin\_getHTMLContents(), DataciteExportPlugin\_getObjectUrl(), LensGalleyPlugin\_getXMLContents(), HtmlArticleGalleyPlugin\_handleOjsUrl(), LensGalleyPlugin\_handleOjsUrl(), MarkupGatewayPlugin\_initXMLPSWrapper(), QuickSubmitPlugin\_reloadForm(), QuickSubmitPlugin\_saveSubmit(), QuickSubmitPlugin\_saveUploadedImage(), QuickSubmitPlugin\_showFileUploadForm(), QuickSubmitPlugin\_uploadImage(), ImmersionThemePlugin\addIssueTemplateData(), URNPubIdPlugin\addJavaScript(), UsageStatsPlugin\addJavascriptData(), BrowseBySectionPlugin\addMenuItemTypes(), BrowseBySectionPlugin\addSitemapURLs(), ImmersionThemePlugin\addSiteWideData(), ImmersionThemePlugin\addToIssueForm(), LensGalleyPlugin\articleCallback(), HtmlArticleGalleyPlugin\articleDownloadCallback(), LensGalleyPlugin\articleDownloadCallback(), DublinCoreMetaPlugin\articleView(), HtmlArticleGalleyPlugin\articleViewCallback(), OrcidProfilePlugin\buildOAuthUrl(), OrcidProfilePlugin\buildOrcidWork(), PKPUsageEventPlugin\buildUsageEvent(), AnnouncementFeedPlugin\callbackAddLinks(), WebFeedPlugin\callbackAddLinks(), StaticPagesPlugin\callbackHandleContent(), PKPAcronPlugin\callbackLoadHandler(), MarkupPlugin\callbackLoadMarkupHandler(), SwordPlugin\callbackSettingsTab(), MarkupPlugin\callbackShowArticlesBatchConversionTabs(), StaticPagesPlugin\callbackShowWebsiteSettingsTabs(), MarkupPlugin\callbackShowWebsiteSettingsTabs(), RecommendByAuthorPlugin\callbackTemplateArticlePageFooter(), RecommendBySimilarityPlugin\callbackTemplateArticlePageFooter(), MarkupPlugin\callbackUserProfile(), DataciteExportPlugin\depositXML(), DOIPubIdExportPlugin\display(), ViewReportPlugin\display(), DOAJExportPlugin\display(), ArticleReportPlugin\display(), PKPUsageStatsReportPlugin\display(), SubscriptionReportPlugin\display(), ReviewReportPlugin\display(), PubMedExportPlugin\display(), QuickSubmitPlugin\display(), ImportExportPlugin\display(), NativeImportExportPlugin\display(), PKPUserImportExportPlugin\display(), SwordImportExportPlugin\display(), PubObjectsExportPlugin\display(), CounterReportPlugin\display(), DataciteExportPlugin\executeExportAction(), DOAJExportPlugin\executeExportAction(), PubObjectsExportPlugin\executeExportAction(), CrossRefExportPlugin\executeExportAction(), ResolverPlugin\exportHoldings(), ResolverPlugin\fetch(), AnnouncementFeedGatewayPlugin\fetch(), WebFeedGatewayPlugin\fetch(), PLNGatewayPlugin\fetch(), MarkupBatchGatewayPlugin\fetch(), MarkupGatewayPlugin\fetch(), MarkupPlugin\fetchGateway(), ImportExportPlugin\getActions(), GoogleAnalyticsPlugin\getActions(), PKPPubIdPlugin\getActions(), PKPAcronPlugin\getActions(), CustomBlockManagerPlugin\getActions(), SubscriptionSSOPlugin\getActions(), AnnouncementFeedPlugin\getActions(), PLNPlugin\getActions(), WebFeedPlugin\getActions(), ReportPlugin\getActions(), StaticPagesPlugin\getActions(), MarkupPlugin\getActions(), UsageStatsPlugin\getActions(), SwordPlugin\getActions(), OrcidProfilePlugin\getActions(), CitationStyleLanguagePlugin\getArticleTemplateData(), CitationStyleLanguagePlugin\getCitation(), BrowseBlockPlugin\getContents(), MakeSubmissionBlockPlugin\getContents(), InformationBlockPlugin\getContents(), SubscriptionBlockPlugin\getContents(), LanguageToggleBlockPlugin\getContents(), AnnouncementFeedBlockPlugin\getContents(), WebFeedBlockPlugin\getContents(), CustomBlockPlugin\getContents(), MarkupPlugin\getCssUrl(), OAIMetadataFormatPlugin_JATS\getEnabled(), StaticPagesPlugin\getJavaScriptURL(), MarkupPlugin\getJsUrl(), SwordPlugin\getJsUrl(), LensGalleyPlugin\getLensPath(), DOIPubIdPlugin\getLinkActions(), URNPubIdPlugin\getLinkActions(), OrcidProfilePlugin\getOrcidUrl(), TexturePlugin\getPluginUrl(), getRequest(), PLNPlugin\getServiceDocument(), CrossRefExportPlugin\getStatusActions(), CrossRefExportPlugin\getStatusMessage(), TexturePlugin\getTextureUrl(), UsageEventPlugin\getUsageEventData(), PKPUsageEventPlugin\getUsageEventData(), ManualPaymentPlugin\handle(), PaypalPaymentPlugin\handle(), OrcidProfilePlugin\handleFormDisplay(), OrcidProfilePlugin\handlePublicationStatusChange(), OrcidProfilePlugin\handleSubmissionSubmitStep3FormExecute(), OrcidProfilePlugin\handleTemplateDisplay(), OrcidProfilePlugin\handleUserPublicProfileDisplay(), HealthSciencesThemePlugin\hasEmbeddedCSS(), ImmersionThemePlugin\hasEmbeddedCSS(), ImmersionThemePlugin\homepageAnnouncements(), BootstrapThreeThemePlugin\init(), DefaultThemePlugin\init(), BrowseBySectionPlugin\initDataSectionFormFields(), ThemePlugin\isActive(), LensGalleyPlugin\issueCallback(), PdfJsViewerPlugin\issueCallback(), CriticalTimesThemePlugin\loadArticleTemplateData(), SubscriptionSSOPlugin\loadHandlerCallback(), CriticalTimesThemePlugin\loadIssueTemplateData(), CriticalTimesThemePlugin\loadIssueTocHandler(), CriticalTimesThemePlugin\loadIssueTocTemplateData(), UsageStatsPlugin\loadJavascript(), CriticalTimesThemePlugin\loadSpotlightTemplateData(), CriticalTimesThemePlugin\loadTemplateData(), HealthSciencesThemePlugin\loadTemplateData(), PubIdPlugin\manage(), GoogleAnalyticsPlugin\manage(), PubObjectsExportPlugin\manage(), PKPPubIdPlugin\manage(), PKPAcronPlugin\manage(), SubscriptionSSOPlugin\manage(), CustomBlockManagerPlugin\manage(), AnnouncementFeedPlugin\manage(), WebFeedPlugin\manage(), UsageStatsPlugin\manage(), MarkupPlugin\manage(), PLNPlugin\manage(), OrcidProfilePlugin\manage(), SwordPlugin\performAutomaticDeposits(), ImmersionThemePlugin\readIssueFormFields(), BrowseBySectionPlugin\readSectionFormFields(), CustomBlockManagerPlugin\register(), MarkupPlugin\register(), UsageStatsPlugin\register(), TinyMCEPlugin\registerJS(), GoogleAnalyticsPlugin\registerScript(), OrcidProfilePlugin\registrationFilter(), ManualPaymentPlugin\saveSettings(), PaypalPaymentPlugin\saveSettings(), OrcidProfilePlugin\sendAuthorMail(), OrcidProfilePlugin\sendSubmissionToOrcid(), OAIMetadataFormatPlugin_JATS\setEnabled(), BrowseBySectionPlugin\setMenuItemDisplayDetails(), PdfJsViewerPlugin\submissionCallback(), GoogleScholarPlugin\submissionView(), SubscriptionSSOPlugin\subscribedUserCallback(), TexturePlugin\templateFetchCallback(), and MarkupPlugin\templateFetchCallback().


The documentation for this class was generated from the following file: