コンテンツの権限

ページとエリア、ブロックは統一された権限フレームワークを共有しています。開発者はシンプルなAPIでログインユーザーが様々なコンテンツに関連した操作を行なう権限を持っているかどうかをチェックすることができます。

Permissionsオブジェクトの取得

ページやエリア、ブロック、またはファイルに関連する権限オブジェクトを取得するには、シンプルにそれらを Permissions() コンストラクターに渡すだけです。

	$p = new Permissions($page);

エリアも同様に取得できます。

	$a = Area::get($page, 'Main');
	$p = new Permissions($a);

ブロックも同様。

	$block = Block::getByID($blockID, $page, 'Main');
	$p = new Permissions($block);

Permissions メソッド

次のメソッドはPermissionsオブジェクトで利用できます。

全てのPermissionsオブジェクトで利用可能

$p->canRead()

ログインユーザーがそのコンテンツを読める場合に true を返します。

$p->canWrite()

ログインユーザーがそのコンテンツを編集できる場合に true を返します。

Permissions() コンストラクターにページが渡された場合に利用可能

$p->canAddSubContent()

ログインユーザーが現在のページの下層にページを追加できる場合に true を返します。

$p->canAddSubCollection($collectionType)

ログインユーザーが現在のページの下層に $collectionType で指定されたページタイプのページを追加できる場合に true を返します。

$p->canReadVersions()

ログインユーザーがバージョン履歴を閲覧可能な場合に true を返します。

$p->canDeleteCollection()

ログインユーザーがページを削除できる場合に true を返します。

$p->canApproveCollection()

ログインユーザーがページを承認できる場合に true を返します。

Permissions() コンストラクターにブロックまたはエリアが渡された場合に利用可能

$p->canDeleteBlock()

ユーザーが該当のブロック(または該当のエリア内のブロック)を削除できる場合に true を返します。

Permissions() コンストラクターにエリアが渡された場合に利用可能

$p->canAddBlocks()

ユーザーがブロックを追加できる場合に true を返します。

$p->canAddBlock($blockType)

エリアに $blockType で指定されたブロックを追加できる場合は true を返します。

ファイル権限

ファイル権限は他のコンテンツタイプより少し複雑です。

ファイル権限の取得

次のコードはグローバルファイル権限オブジェクトを取得します。

$fp = FilePermissions::getGlobal()

もしあなたのサイトが上級権限モードを有効にしている場合は、ファイルセット単位での権限オブジェクトを次のように取得できます。

	$fs = FileSet::getByName('My File Set');
	$p = new Permissions($fs);

利用可能なメソッド

$p->canAddFiles()

ユーザーがファイルを追加できる(指定されたセットに、またはファイルマネージャー全体に)場合に true を返します。

$p->canAddFileType($extension)

ユーザーが指定された拡張子のファイルを追加できる(指定されたセットに、またはファイルマネージャー全体に)場合に true を返します。

$p->canAddFile($file)

ファイルの拡張子が取得され、canAddFileType($extension) の結果が返ります。

$p->canAccessFileManager()

ユーザーがファイルマネージャーのインターフェース(ファイル検索パラメーター)にアクセス可能な場合に true を返します。

$p->canSearchFiles()

ユーザーがファイルを検索可能な場合に true を返します。

$p->getAllowedFileExtensions()

ユーザーが追加することを許可されている全ての拡張子を取得します。


原文:Content Permissions