<?php
+namespace Shaarli\Plugin;
+
+use Shaarli\Config\ConfigManager;
+use Shaarli\Plugin\Exception\PluginFileNotFoundException;
/**
* Class PluginManager
{
/**
* List of authorized plugins from configuration file.
+ *
* @var array $authorizedPlugins
*/
private $authorizedPlugins;
/**
* List of loaded plugins.
+ *
* @var array $loadedPlugins
*/
private $loadedPlugins = array();
/**
* Plugins subdirectory.
+ *
* @var string $PLUGINS_PATH
*/
public static $PLUGINS_PATH = 'plugins';
/**
* Plugins meta files extension.
+ *
* @var string $META_EXT
*/
public static $META_EXT = 'meta';
/**
* Execute all plugins registered hook.
*
- * @param string $hook name of the hook to trigger.
- * @param array $data list of data to manipulate passed by reference.
- * @param array $params additional parameters such as page target.
+ * @param string $hook name of the hook to trigger.
+ * @param array $data list of data to manipulate passed by reference.
+ * @param array $params additional parameters such as page target.
*
* @return void
*/
* @param string $pluginName plugin's name.
*
* @return void
- * @throws PluginFileNotFoundException - plugin files not found.
+ * @throws \Shaarli\Plugin\Exception\PluginFileNotFoundException - plugin files not found.
*/
private function loadPlugin($dir, $pluginName)
{
$metaData[$plugin]['parameters'][$param]['value'] = '';
// Optional parameter description in parameter.PARAM_NAME=
- if (isset($metaData[$plugin]['parameter.'. $param])) {
- $metaData[$plugin]['parameters'][$param]['desc'] = t($metaData[$plugin]['parameter.'. $param]);
+ if (isset($metaData[$plugin]['parameter.' . $param])) {
+ $metaData[$plugin]['parameters'][$param]['desc'] = t($metaData[$plugin]['parameter.' . $param]);
}
}
}
return $this->errors;
}
}
-
-/**
- * Class PluginFileNotFoundException
- *
- * Raise when plugin files can't be found.
- */
-class PluginFileNotFoundException extends Exception
-{
- /**
- * Construct exception with plugin name.
- * Generate message.
- *
- * @param string $pluginName name of the plugin not found
- */
- public function __construct($pluginName)
- {
- $this->message = sprintf(t('Plugin "%s" files not found.'), $pluginName);
- }
-}
--- /dev/null
+<?php
+namespace Shaarli\Plugin\Exception;
+
+use Exception;
+
+/**
+ * Class PluginFileNotFoundException
+ *
+ * Raise when plugin files can't be found.
+ */
+class PluginFileNotFoundException extends Exception
+{
+ /**
+ * Construct exception with plugin name.
+ * Generate message.
+ *
+ * @param string $pluginName name of the plugin not found
+ */
+ public function __construct($pluginName)
+ {
+ $this->message = sprintf(t('Plugin "%s" files not found.'), $pluginName);
+ }
+}
"Shaarli\\Feed\\": "application/feed",
"Shaarli\\Http\\": "application/http",
"Shaarli\\Netscape\\": "application/netscape",
+ "Shaarli\\Plugin\\": "application/plugin",
+ "Shaarli\\Plugin\\Exception\\": "application/plugin/exception",
"Shaarli\\Render\\": "application/render",
"Shaarli\\Security\\": "application/security",
"Shaarli\\Updater\\": "application/updater",
require_once 'application/FileUtils.php';
require_once 'application/TimeZone.php';
require_once 'application/Utils.php';
-require_once 'application/PluginManager.php';
use \Shaarli\ApplicationUtils;
use \Shaarli\Bookmark\Exception\LinkNotFoundException;
use \Shaarli\History;
use \Shaarli\Languages;
use \Shaarli\Netscape\NetscapeBookmarkUtils;
+use \Shaarli\Plugin\PluginManager;
use \Shaarli\Render\PageBuilder;
use \Shaarli\Render\ThemeUtils;
use \Shaarli\Router;
* Add an icon in the link list for archive.org.
*/
+use Shaarli\Plugin\PluginManager;
+
/**
* Add archive.org icon to link_plugin when rendering linklist.
*
*/
use Shaarli\Config\ConfigManager;
+use Shaarli\Plugin\PluginManager;
use Shaarli\Router;
/**
*/
use Shaarli\Config\ConfigManager;
+use Shaarli\Plugin\PluginManager;
use Shaarli\Router;
/**
*/
use Shaarli\Config\ConfigManager;
+use Shaarli\Plugin\PluginManager;
use Shaarli\Router;
/*
* Adds tracking code on each page.
*/
+use Shaarli\Plugin\PluginManager;
+
/**
* Initialization function.
* It will be called when the plugin is loaded.
* Note: this plugin adds jQuery.
*/
+use Shaarli\Plugin\PluginManager;
use Shaarli\Router;
/**
use pubsubhubbub\publisher\Publisher;
use Shaarli\Config\ConfigManager;
use Shaarli\Feed\FeedBuilder;
+use Shaarli\Plugin\PluginManager;
use Shaarli\Router;
/**
* Display a QRCode icon in link list.
*/
+use Shaarli\Plugin\PluginManager;
use Shaarli\Router;
/**
require_once 'WallabagInstance.php';
use Shaarli\Config\ConfigManager;
+use Shaarli\Plugin\PluginManager;
/**
* Init function, return an error if the server is not set.
<?php
-use Shaarli\Config\ConfigManager;
+namespace Shaarli\Plugin;
-/**
- * Plugin Manager tests
- */
-
-require_once 'application/PluginManager.php';
+use Shaarli\Config\ConfigManager;
/**
* Unit tests for Plugins
*/
-class PluginManagerTest extends PHPUnit_Framework_TestCase
+class PluginManagerTest extends \PHPUnit\Framework\TestCase
{
/**
* Path to tests plugin.
<?php
-/**
- * PluginPlayvideosTest.php
- */
-
+use Shaarli\Plugin\PluginManager;
use Shaarli\Router;
require_once 'plugins/addlink_toolbar/addlink_toolbar.php';
-require_once 'application/Router.php';
/**
- * Class PluginAddlinkTest
* Unit test for the Addlink toolbar plugin
*/
-class PluginAddlinkTest extends PHPUnit_Framework_TestCase
+class PluginAddlinkTest extends \PHPUnit\Framework\TestCase
{
/**
* Reset plugin path.
* PluginArchiveorgTest.php
*/
+use Shaarli\Plugin\PluginManager;
+
require_once 'plugins/archiveorg/archiveorg.php';
/**
use Shaarli\Bookmark\LinkDB;
use Shaarli\Config\ConfigManager;
+use Shaarli\Plugin\PluginManager;
require_once 'plugins/isso/isso.php';
<?php
use Shaarli\Config\ConfigManager;
+use Shaarli\Plugin\PluginManager;
/**
* PluginMarkdownTest.php
* PluginPlayvideosTest.php
*/
+use Shaarli\Plugin\PluginManager;
use Shaarli\Router;
require_once 'plugins/playvideos/playvideos.php';
<?php
use Shaarli\Config\ConfigManager;
+use Shaarli\Plugin\PluginManager;
use Shaarli\Router;
require_once 'plugins/pubsubhubbub/pubsubhubbub.php';
* PluginQrcodeTest.php
*/
+use Shaarli\Plugin\PluginManager;
use Shaarli\Router;
require_once 'plugins/qrcode/qrcode.php';
<?php
use Shaarli\Config\ConfigManager;
+use Shaarli\Plugin\PluginManager;
/**
* PluginWallabagTest.php.php
* Class PluginWallabagTest
* Unit test for the Wallabag plugin
*/
-class PluginWallabagTest extends PHPUnit_Framework_TestCase
+class PluginWallabagTest extends \PHPUnit\Framework\TestCase
{
/**
* Reset plugin path