zapatista.kompot.si/plugins/PicoDeprecated/plugins/PicoPluginApi2CompatPlugin.php

132 lines
4.6 KiB
PHP

<?php
/**
* This file is part of Pico. It's copyrighted by the contributors recorded
* in the version control history of the file, available from the following
* original location:
*
* <https://github.com/picocms/pico-deprecated/blob/master/plugins/PicoPluginApi2CompatPlugin.php>
*
* This file was created by splitting up an original file into multiple files,
* which in turn was previously part of the project's main repository. The
* version control history of these files apply accordingly, available from
* the following original locations:
*
* <https://github.com/picocms/pico-deprecated/blob/90ea3d5a9767f1511f165e051dd7ffb8f1b3f92e/PicoDeprecated.php>
* <https://github.com/picocms/Pico/blob/82a342ba445122182b898a2c1800f03c8d16f18c/plugins/00-PicoDeprecated.php>
*
* SPDX-License-Identifier: MIT
* License-Filename: LICENSE
*/
/**
* Maintains backward compatibility with plugins using API version 2, written
* for Pico 2.0
*
* @author Daniel Rudolf
* @link http://picocms.org
* @license http://opensource.org/licenses/MIT The MIT License
* @version 2.1
*/
class PicoPluginApi2CompatPlugin extends AbstractPicoPluginApiCompatPlugin
{
/**
* This plugin extends {@see PicoThemeApi2CompatPlugin}
*
* @var string[]
*/
protected $dependsOn = array('PicoThemeApi2CompatPlugin');
/**
* Map of core events matching event signatures of older API versions
*
* @see AbstractPicoPluginApiCompatPlugin::handleEvent()
*
* @var array<string,string>
*/
protected $eventAliases = array(
'onPluginsLoaded' => array('onPluginsLoaded'),
'onPluginManuallyLoaded' => array('onPluginManuallyLoaded'),
'onRequestUrl' => array('onRequestUrl'),
'onRequestFile' => array('onRequestFile'),
'onContentLoading' => array('onContentLoading'),
'on404ContentLoading' => array('on404ContentLoading'),
'on404ContentLoaded' => array('on404ContentLoaded'),
'onContentLoaded' => array('onContentLoaded'),
'onMetaParsing' => array('onMetaParsing'),
'onMetaParsed' => array('onMetaParsed'),
'onContentParsing' => array('onContentParsing'),
'onContentPrepared' => array('onContentPrepared'),
'onContentParsed' => array('onContentParsed'),
'onPagesLoading' => array('onPagesLoading'),
'onSinglePageLoading' => array('onSinglePageLoading'),
'onSinglePageContent' => array('onSinglePageContent'),
'onSinglePageLoaded' => array('onSinglePageLoaded'),
'onPagesDiscovered' => array('onPagesDiscovered'),
'onPagesLoaded' => array('onPagesLoaded'),
'onCurrentPageDiscovered' => array('onCurrentPageDiscovered'),
'onPageTreeBuilt' => array('onPageTreeBuilt'),
'onPageRendering' => array('onPageRendering'),
'onPageRendered' => array('onPageRendered'),
'onMetaHeaders' => array('onMetaHeaders'),
'onYamlParserRegistered' => array('onYamlParserRegistered'),
'onParsedownRegistered' => array('onParsedownRegistered'),
'onTwigRegistered' => array('onTwigRegistered')
);
/**
* Pico's config array
*
* @see Pico::$config
* @see PicoPluginApi2CompatPlugin::onConfigLoaded()
*
* @var array|null
*/
protected $config;
/**
* Sets PicoPluginApi1CompatPlugin::$config and handles the theme_url
* config param
*
* @see PicoPluginApi2CompatPlugin::$config
*
* @param array $config
*/
public function onConfigLoaded(array &$config)
{
$this->config = &$config;
if (!empty($config['theme_url'])) {
$config['themes_url'] = $this->getPico()->getAbsoluteUrl($config['theme_url']);
$config['theme_url'] = &$config['themes_url'];
}
}
/**
* Triggers the onConfigLoaded event
*
* @param string $theme name of current theme
* @param int $themeApiVersion API version of the theme
* @param array &$themeConfig config array of the theme
*/
public function onThemeLoaded($theme, $themeApiVersion, array &$themeConfig)
{
$this->triggerEvent('onConfigLoaded', array(&$this->config));
}
/**
* {@inheritDoc}
*/
public function getApiVersion()
{
return PicoDeprecated::API_VERSION_3;
}
/**
* {@inheritDoc}
*/
public function getApiVersionSupport()
{
return PicoDeprecated::API_VERSION_2;
}
}