diff --git a/plugins/dynamix.plugin.manager/PluginHelpers.page b/plugins/dynamix.plugin.manager/PluginHelpers.page new file mode 100644 index 000000000..6c99733b3 --- /dev/null +++ b/plugins/dynamix.plugin.manager/PluginHelpers.page @@ -0,0 +1,90 @@ +Menu='Buttons' +Link='nav-user' +--- + + + \ No newline at end of file diff --git a/plugins/dynamix.plugin.manager/scripts/PluginAPI.php b/plugins/dynamix.plugin.manager/scripts/PluginAPI.php new file mode 100644 index 000000000..1ece16feb --- /dev/null +++ b/plugins/dynamix.plugin.manager/scripts/PluginAPI.php @@ -0,0 +1,51 @@ +/dev/null 2>&1 &" : "2>/dev/null"), $out, $exit_code ); + return ($exit_code === 0 ) ? implode("\n", $out) : false; +} + +$options = $_POST['options']; +$plugin = $options['plugin']; + +if ( ! $plugin || ! file_exists("/var/log/plugins/$plugin") ) { + echo json_encode(array("updateAvailable"=>false)); + return; +} + +exec("mkdir -p /tmp/plugins"); +@unlink("/tmp/plugins/$plugin"); +$url = @plugin("pluginURL","/boot/config/plugins/$plugin"); +download_url($url,"/tmp/plugins/$plugin"); + +$changes = @plugin("changes","/tmp/plugins/$plugin"); +$version = @plugin("version","/tmp/plugins/$plugin"); +$installedVersion = @plugin("version","/boot/config/plugins/$plugin"); +$min = @plugin("min","/tmp/plugins/$plugin") ?: "6.4.0"; +if ( $changes ) { + file_put_contents("/tmp/plugins/".pathinfo($plugin, PATHINFO_FILENAME).".txt",$changes); +} else { + @unlink("/tmp/plugins/".pathinfo($plugin, PATHINFO_FILENAME).".txt"); +} + +$update = false; +if ( strcmp($version,$installedVersion) > 0 ) { + $unraid = parse_ini_file("/etc/unraid-version"); + $update = (version_compare($min,$unraid['version'],">")) ? false : true; +} + +echo json_encode(array("updateAvailable" => $update,"version" => $version,"min"=>$min,"changes"=>$changes,"installedVersion"=>$installedVersion)); + +?> \ No newline at end of file