wRepository::setPermissionsDirectory
Setzt die Berechtigungen für ein Verzeichnis, falls dieses eingecheckt ist (verfügbar ab Version 007.005.189.000)
Funktionsaufruf
Boolean setPermissionsDirectory(String path, Array permissions)
Parameter
- path
- Pfad des Verzeichnisses
- permissions
- Berechtigungen
Beispiel: Setzt die Berechtigungen für das angegebene Verzeichnis, falls dieses eingecheckt ist
Quelltext
<?php
// Setzt den Benutzername des angemeldeten Benutzer:
$userName = wSession::getUserName();
// Setzt den Benutzername des hier angegebenen Benutzers:
//$userName = "mustermann";
$directory = '/baseAssets/docs';
$permissions = array();
$permissions['owner'] = 'admin';
$permissions['ownerRole'] = 'owner';
$permissions['users'][] = $userName;
$permissions['usersRole'][] = 'chiefeditor';
$permissions['groups'][] = 'editorship';
$permissions['groupsRole'][] = 'editor';
$permissions['groups'][] = 'chiefeditorship';
$permissions['groupsRole'][] = 'chiefeditor';
$permissions['othersRole'] = 'guest';
print wRepository::setPermissionsDirectory($directory, $permissions);
?>Beispiel: Setzt die Berechtigungen für das angegebene Verzeichnis und checkt dies zuvor ein
Quelltext
<?php
// Setzt den Benutzername des angemeldeten Benutzer:
$userName = wSession::getUserName();
// Setzt den Benutzername des hier angegebenen Benutzers:
//$userName = "mustermann";
$directory = '/baseAssets/dokumente';
$permissions = array();
$permissions['owner'] = 'admin';
$permissions['ownerRole'] = 'owner';
$permissions['users'][] = $userName;
$permissions['usersRole'][] = 'chiefeditor';
$permissions['groups'][] = 'editorship';
$permissions['groupsRole'][] = 'editor';
$permissions['groups'][] = 'chiefeditorship';
$permissions['groupsRole'][] = 'chiefeditor';
$permissions['othersRole'] = 'guest';
wRepository::checkInDir($directory);
print wRepository::setPermissionsDirectory($directory, $permissions);
?>Hinweis
Beim Einsatz von Framework-Funktionen in eigenen Skripten beachten Sie bitte den Artikel "So verwenden Sie das PHP-Framework in eigenen Scripten".
Wenn Sie eine Funktion innerhalb einer Weblication® Seite z.B. über das PHP-Quelltext Element oder in einem XSL-Template über wsl:php einbinden, muss das Framework über die grid.php nicht mehr referenziert werden.
FAQs
- Ab welcher Version ist wRepository::setPermissionsDirectory verfügbar?
- Die Funktion <code class="codeInline">wRepository::setPermissionsDirectory</code> ist verfügbar ab Version <code class="codeInline">007.005.189.000</code>.
- Was macht wRepository::setPermissionsDirectory?
- Sie setzt die Berechtigungen für ein Verzeichnis, **falls dieses eingecheckt ist**.
- Wie lautet der Funktionsaufruf von wRepository::setPermissionsDirectory?
- <code class="codeInline">Boolean setPermissionsDirectory(String path, Array permissions)</code>
- Welche Parameter werden von setPermissionsDirectory benötigt?
- - <code class="codeInline">path</code>: Pfad des Verzeichnisses - <code class="codeInline">permissions</code>: Array mit den gewünschten Berechtigungen
- Welche Art von Berechtigungsangaben kann man im permissions-Array verwenden?
- Im Beispiel werden u. a. folgende Schlüssel verwendet: - <code class="codeInline">owner</code> und <code class="codeInline">ownerRole</code> - <code class="codeInline">users[]</code> und <code class="codeInline">usersRole[]</code> - <code class="codeInline">groups[]</code> und <code class="codeInline">groupsRole[]</code> - <code class="codeInline">othersRole</code>
- Was passiert, wenn das Verzeichnis nicht eingecheckt ist?
- Die Berechtigungen werden **nur dann** gesetzt, wenn das Verzeichnis eingecheckt ist (wie im Funktionshinweis zur Verfügbarkeit beschrieben).
- Wie kann man in einem Beispiel die Berechtigungen für ein Verzeichnis setzen (ohne vorheriges Einchecken)?
- Das Beispiel zeigt, dass man zunächst den angemeldeten Benutzernamen ermittelt (z. B. via <code class="codeInline">wSession::getUserName()</code>), ein <code class="codeInline">permissions</code>-Array zusammenstellt und anschließend <code class="codeInline">wRepository::setPermissionsDirectory($directory, $permissions)</code> aufruft.
- Wie setzt man die Berechtigungen für ein Verzeichnis und checkt es zuvor ein?
- Im zweiten Beispiel wird das Verzeichnis zuerst mit <code class="codeInline">wRepository::checkInDir($directory)</code> eingecheckt und danach <code class="codeInline">wRepository::setPermissionsDirectory($directory, $permissions)</code> ausgeführt.