Metainformationen zur Seite
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-Zeile | Inhalt |
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>