false)); break; } 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)); break; case 'addRebootNotice': $message = htmlspecialchars(trim($_POST['message'])); if (!$message) break; $existing = @file("/tmp/reboot_notifications",FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) ?: array(); $existing[] = $message; file_put_contents("/tmp/reboot_notifications",implode("\n",array_unique($existing))); break; case 'removeRebootNotice': $message = htmlspecialchars(trim($_POST['message'])); $existing = file_get_contents("/tmp/reboot_notifications"); $newReboots = str_replace($message,"",$existing); file_put_contents("/tmp/reboot_notifications",$newReboots); break; } ?>