mirror of
https://github.com/stylersnico/librenms.git
synced 2026-08-01 00:24:21 +02:00
Merge pull request #189 from laf/issue-154
First full commit of plugin system
This commit is contained in:
@@ -1225,5 +1225,6 @@ if (!isset($config['html_dir'])) { $config['html_dir'] = $config['install_dir']
|
||||
if (!isset($config['rrd_dir'])) { $config['rrd_dir'] = $config['install_dir'] . '/rrd'; }
|
||||
if (!isset($config['log_dir'])) { $config['log_dir'] = $config['install_dir'] . '/logs'; }
|
||||
if (!isset($config['log_file'])) { $config['log_dir'] . "/" . $config['project_id'] . ".log"; }
|
||||
if (!isset($config['plugin_dir'])) { $config['plugin_dir'] = $config['html_dir'] . '/plugins'; }
|
||||
|
||||
?>
|
||||
|
||||
@@ -880,4 +880,40 @@ function is_port_valid($port, $device)
|
||||
return $valid;
|
||||
}
|
||||
|
||||
function scan_new_plugins()
|
||||
{
|
||||
|
||||
global $config, $debug;
|
||||
|
||||
$installed = 0; // Track how many plugins we install.
|
||||
|
||||
if(file_exists($config['plugin_dir']))
|
||||
{
|
||||
$plugin_files = scandir($config['plugin_dir']);
|
||||
foreach($plugin_files as $name)
|
||||
{
|
||||
if(is_dir($config['plugin_dir'].'/'.$name))
|
||||
{
|
||||
if($name != '.' && $name != '..')
|
||||
{
|
||||
if(is_file($config['plugin_dir'].'/'.$name.'/'.$name.'.php') && is_file($config['plugin_dir'].'/'.$name.'/'.$name.'.inc.php'))
|
||||
{
|
||||
$plugin_id = dbFetchRow("SELECT `plugin_id` FROM `plugins` WHERE `plugin_name` = '$name'");
|
||||
if(empty($plugin_id))
|
||||
{
|
||||
if(dbInsert(array('plugin_name' => $name, 'plugin_active' => '0'), 'plugins'))
|
||||
{
|
||||
$installed++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return( $installed );
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user