Merge pull request #189 from laf/issue-154

First full commit of plugin system
This commit is contained in:
Paul Gear
2014-03-29 09:30:57 +10:00
12 changed files with 318 additions and 11 deletions
+1
View File
@@ -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'; }
?>
+36
View File
@@ -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 );
}
?>