52 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| if (isset($_POST['pluginId']) && is_numeric($_POST['pluginId']))
 | |
| {
 | |
| 	if ($_sql->query("UPDATE plugins SET pluginStatus = ".(isset($_POST['pluginEnable']) ? 1 : 0)." WHERE pluginId = $_POST[pluginId]"))
 | |
| 		redirect(get_current_link());
 | |
| 	else
 | |
| 		array_push($error, $_locale['plugin_not_updated']);
 | |
| }
 | |
| 
 | |
| echo "<h1>$_locale[plugins]</h1>";
 | |
| 
 | |
| $pluginsQuery = $_sql->query("SELECT * FROM plugins ORDER BY pluginStatus DESC");
 | |
| $plugins = array();
 | |
| if ($pluginsQuery->num_rows)
 | |
| {
 | |
| 	echo "<table class='designed plugins'>";
 | |
| 	echo "<thead><tr><th>{locale:plugin_name}</th><th>{locale:description}</th><th>{locale:scope}</th><th>{locale:status}</th></tr></thead><tbody>";
 | |
| 	while ($data = $pluginsQuery->fetch_assoc())
 | |
| 	{
 | |
| 		$pinfo = './plugins/'.$data['pluginLib'].'/info.json';
 | |
| 		if (file_exists($pinfo))
 | |
| 		{
 | |
| 			$pinfo = (array)json_decode(file_get_contents($pinfo));
 | |
| 
 | |
| 			if (!isset($pinfo['enabler']) || (isset($pinfo['enabler']) && in_array($pinfo['enabler'], ['true', '1', 'yes', 'y'])))
 | |
| 				if ($data['pluginStatus'])	$button = "<button name='pluginDisable' class='orange'>{locale:disable}</button>";
 | |
| 				else						$button = "<button name='pluginEnable'>{locale:enable}</button>";
 | |
| 			else							$button = "{locale:plugin_noenable}";
 | |
| 
 | |
| 			echo "<tr><td>$pinfo[name]</td><td>$pinfo[description]<td>$pinfo[paths]</td><td><form action='".get_current_link()."' method='post'><input type='hidden' name='pluginId' value='$data[pluginId]'/>$button</form></td></tr>";
 | |
| 		}
 | |
| 		array_push($plugins, $data['pluginLib']);
 | |
| 	}
 | |
| 	echo "</tbody></table>";
 | |
| } else
 | |
| 	echo "<p>$_locale[plugins_empty]</p>";
 | |
| 
 | |
| 
 | |
| if ($handle = opendir('./plugins')) {
 | |
| 
 | |
| 	while (false !== ($entry = readdir($handle)))
 | |
| 	{
 | |
| 		if (!in_array($entry, $plugins) && file_exists('./plugins/'.$entry.'/info.json'))
 | |
| 			if ($_sql->query("INSERT INTO plugins (pluginLib, pluginStatus) VALUES ('$entry', 0)"))
 | |
| 				array_push($info, $_locale['plugin_added'].$entry);
 | |
| 			else
 | |
| 				array_push($error, $_locale['plugin_not_added'].$entry);
 | |
| 	}
 | |
| 
 | |
| 	closedir($handle);
 | |
| } |