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.