Fixes for ZFS subpools

This commit is contained in:
bergware
2023-11-02 01:56:26 +01:00
parent d09c9142e8
commit 7154cc48fe
3 changed files with 22 additions and 18 deletions

View File

@@ -15,7 +15,7 @@ Tag="database"
*/
?>
<script>
String.prototype.no_tilde = function(){return this.replace('~','_-_');}
String.prototype.no_tilde = function(){return this.replace('<?=$tilde?>','<?=$proxy?>');}
String.prototype.master = function(){return this.split('~')[0];}
function toggle_state(device,name,action) {

View File

@@ -15,6 +15,10 @@ $docroot ??= ($_SERVER['DOCUMENT_ROOT'] ?: '/usr/local/emhttp');
require_once "$docroot/webGui/include/Wrappers.php";
require_once "$docroot/webGui/include/Secure.php";
// ZFS subpool name separator and replacement
$tilde = '~';
$proxy = '__';
// Helper functions
function my_scale($value, &$unit, $decimals=NULL, $scale=NULL, $kilo=1000) {
global $display,$language;
@@ -64,7 +68,8 @@ function my_hyperlink($text, $link) {
return str_replace(['[',']'],["<a href=\"$link\">","</a>"],$text);
}
function no_tilde($name) {
return str_replace('~','_-_',$name);
global $tilde,$proxy;
return str_replace($tilde,$proxy,$name);
}
function prefix($key) {
return preg_replace('/\d+$/','',$key);

View File

@@ -1,5 +1,5 @@
<?PHP
/* Copyright 2005-2021, Lime Technology
/* Copyright 2005-2023, Lime Technology
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version 2,
@@ -10,21 +10,20 @@
*/
?>
<?
function curl_socket($socket, $url, $postdata=NULL)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_UNIX_SOCKET_PATH, $socket);
if ($postdata !== NULL) {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
return $result;
function curl_socket($socket, $url, $message) {
$com = curl_init($url);
curl_setopt_array($com,[
CURLOPT_UNIX_SOCKET_PATH => $socket,
CURLOPT_POST=> 1,
CURLOPT_POSTFIELDS => $message,
CURLOPT_RETURNTRANSFER => true
]);
$reply = curl_exec($com);
curl_close($com);
return $reply;
}
function publish($endpoint, $message, $len=1)
{
return curl_socket("/var/run/nginx.socket", "http://localhost/pub/$endpoint?buffer_length=$len", $message);
function publish($endpoint, $message, $len=1) {
return curl_socket("/var/run/nginx.socket", "http://localhost/pub/$endpoint?buffer_length=$len", $message);
}
?>