1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2024-12-22 21:28:08 +01:00
openstamanager/src/Plugins.php
Thomas Zilio fdad40cb2b Generalizzazione di varie sezioni
Generalizzazione della gestione delle query di Moduli e Plugin.
Miglioramento della gestione degli assets (ora gestiti dalla classe App e personalizzabili nella configurazione).
Miglioramento del nome della gestione di alcune variabili, con relativa individuazione (classe App).
Rimozione codice deprecato nel core.
2018-02-14 11:10:03 +01:00

61 lines
1.7 KiB
PHP

<?php
/**
* Classe per la gestione delle informazioni relative ai plugin installati.
*
* @since 2.3
*/
class Plugins
{
/** @var array Elenco dei plugin disponibili */
protected static $plugins = [];
/** @var array Elenco delle query generiche dei plugin */
protected static $queries = [];
/**
* Restituisce tutte le informazioni di tutti i plugin installati.
*
* @return array
*/
public static function getPlugins()
{
if (empty(self::$plugins)) {
$database = Database::getConnection();
$results = $database->fetchArray('SELECT *, (SELECT directory FROM zz_modules WHERE id=idmodule_from) AS module_dir FROM zz_plugins');
$plugins = [];
foreach ($results as $result) {
$result['options'] = App::replacePlaceholder($result['options'], filter('id_parent'));
$result['options2'] = App::replacePlaceholder($result['options2'], filter('id_parent'));
$result['option'] = empty($result['options2']) ? $result['options'] : $result['options2'];
$plugins[$result['id']] = $result;
$plugins[$result['name']] = $result['id'];
}
self::$plugins = $plugins;
}
return self::$plugins;
}
/**
* Restituisce le informazioni relative a un singolo modulo specificato.
*
* @param string|int $plugin
*
* @return array
*/
public static function get($plugin)
{
if (!is_numeric($plugin) && !empty(self::getPlugins()[$plugin])) {
$plugin = self::getPlugins()[$plugin];
}
return self::getPlugins()[$plugin];
}
}