Zum Ende der Metadaten springen
Zum Anfang der Metadaten

@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

ParameterFunktion

(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_NOFortlaufende Nummer
NETSHARE_SERVERServername (Hostname) oder IP-Adresse der Freigabe
NETSHARE_TYPETyp der Freigabe, z. B. smb
NETSHARE_SERVERPATHVoller Pfad zum Mount-Verzeichnis mit allen Shares des Servers
NETSHARE_SHAREPATHVoller Pfad zum Mount-Verzeichnis des Shares
NETSHARE_SHARENAMEName des Shares
NETSHARE_STATERead-/Write-Status des Shares, kann 'Readonly' oder 'Writable' sein.
NETSHARE_USEDVerwendeter Speicherplatz in KB, entspricht der Ausgabe von "df" (ab LB 1.2.1)
NETSHARE_AVAILABLEFreier Speicherplatz in KB, entspricht der Ausgabe von "df" (ab LB 1.2.1)
NETSHARE_SIZEGesamtkapazität (Größe) des Datenträgers in KB (ab LB 1.2.1)
NETSHARE_USED_HRHuman Readable: Verwendeter Speicherplatz als String (ab LB 1.2.1)
NETSHARE_AVAILABLE_HRHuman Readable: Freier Speicherplatz als String (ab LB 1.2.1)
NETSHARE_SIZE_HRHuman Readable: Gesamtkapazität (Größe) des Datenträgers als String (ab LB 1.2.1)
NETSHARE_USEDPERCENTBelegter 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>
  • Keine Stichwörter