LoxBerry::Storage::get_netshares

@netshares = LoxBerry::Storage::get_netshares(BOOL readwriteonly, BOOL force);

 Die Funktion get_netshares liest alle erreichbaren Netzwerk-Freigaben, die über das Netzwerk Freigaben Widget eingerichtet wurden, ein und liefert einen Array zurück, der auch direkt in HTML::Template verwendet werden kann. 

Innerhalb eines Plugins wäre es denkbar, einige (große) Datenmengen oder häufige Schreibzugriffe auf einen externen Netzwerkshare auszulagern oder von dort aus Daten, z. B. MP3-Dateien, einzulesen.

Der zurückgegebene Array kann direkt in HTML::Template benutzt werden. 

Parameter

Parameter Funktion
(optional)

readwriteonly
Ist der erste Parameter = 1, werden nur Netzwerk-Freigaben ausgegeben, auf die sowohl Lese- als auch Schreibberechtigung besteht. Andernfalls werden alle Freigaben, also auch diejenigen, die nur read-only sind, ausgegeben.
(optional)

force
Ist der zweite Parameter = 1, wird ein mehrmaliger Aufruf immer wieder von der Disk lesen (normalerweise würde das Ergebnis nach dem ersten Aufruf gecached).

 

Variablen

Hash-Variable pro Array-ZeileInhalt
NETSHARE_NO Fortlaufende Nummer
NETSHARE_SERVER Servername (Hostname) oder IP-Adresse der Freigabe
NETSHARE_TYPE Typ der Freigabe, z. B. smb
NETSHARE_SERVERPATH Voller Pfad zum Mount-Verzeichnis mit allen Shares des Servers
NETSHARE_SHAREPATH Voller Pfad zum Mount-Verzeichnis des Shares
NETSHARE_SHARENAME Name des Shares
NETSHARE_STATE Read-/Write-Status des Shares, kann 'Readonly' oder 'Writable' sein.
NETSHARE_USED Verwendeter Speicherplatz in KB, entspricht der Ausgabe von "df" (ab LB 1.2.1)
NETSHARE_AVAILABLE Freier Speicherplatz in KB, entspricht der Ausgabe von "df" (ab LB 1.2.1)
NETSHARE_SIZE Gesamtkapazität (Größe) des Datenträgers in KB (ab LB 1.2.1)
NETSHARE_USED_HR Human Readable: Verwendeter Speicherplatz als String (ab LB 1.2.1)
NETSHARE_AVAILABLE_HR Human Readable: Freier Speicherplatz als String (ab LB 1.2.1)
NETSHARE_SIZE_HR Human Readable: Gesamtkapazität (Größe) des Datenträgers als String (ab LB 1.2.1)
NETSHARE_USEDPERCENT Belegter Speicherplatz in Prozent, entspricht der Ausgabe von "df" (ab LB 1.2.1)

  

Verwendung

use LoxBerry::Storage;
use LoxBerry::Web;
my @netshares = LoxBerry::Storage::get_netshares();
 
# Or, only with shares with read-write access
# my @netshares = LoxBerry::Storage::get_netshares(1);
 
print STDERR "Net Shares:\n";
foreach my $netshare (@netshares) {
    print STDERR "$netshare->{NETSHARE_NO} $netshare->{NETSHARE_TYPE} $netshare->{NETSHARE_SHAREPATH}\n";
}
 
$htmltemplate->param('NETSHARES' => \@netshares);
 
# Access a single element
print STDERR "Single element: " . $netshares[0]->{NETSHARE_SHARENAME} . "\n"; 


Verwendung mit HTML::Template

<TMPL_LOOP NETSHARES>
            <div style="display: flex">
                <div style="min-width: 50px"><TMPL_VAR NETSHARE_NO></div>
                <div style="min-width: 200px"><TMPL_VAR NETSHARE_STATE></div>
                <div style="min-width: 200px"><TMPL_VAR NETSHARE_SERVER></div>
                <div style="min-width: 100px"><TMPL_VAR NETSHARE_SHARENAME></div>
            </div>
    </TMPL_LOOP>