Midari Create > webアプリケーション製品 > Wakarana > 関数マニュアル >

class wakarana_permission

wakarana_data_itemの派生クラス。権限の情報を読み書きするために使用する。1インスタンスごとに1権限の情報が割り当てられる。

wakarana_permission::__construct($wakarana, $permission_info)

コンストラクタ。wakarana::get_permissionの実行時に呼び出されるものであり、直接インスタンス化するべきではない。

$wakarana : 呼び出し元のwakaranaインスタンス
$permission_info : 権限情報("resource_id"(権限対象リソースID)、"permission_name"(権限名)、"permission_description"(権限の説明文))を格納した連想配列

wakarana_permission::get_resource_id()

権限の対象リソースIDを取得する。

返り値 : 権限のリソースIDを返す。

wakarana_permission::get_name()

権限の表示名を取得する。

返り値 : 権限の表示名を返す。

wakarana_permission::get_description()

権限の説明文を取得する。

返り値 : 権限についての説明文を返す。

wakarana_permission::set_info($permission_name=NULL, $permission_description=NULL)

権限の情報を変更する。

$permission_name : 権限の表示名。変更しない場合はNULL。
$permission_description : 権限についての説明文。変更しない場合は省略。

返り値 : 成功した場合はTRUE、失敗した場合はFALSEを返す。

wakarana_permission::get_actions()

権限に存在する動作の一覧を取得する。
親権限から継承した動作も区別なく合わせて取得される。

返り値 : 動作識別名をアルファベット順に配列で返す。失敗した場合はFALSEを返す。

wakarana_permission::add_action($action)

権限で使用可能な動作を追加する。
親権限に動作を追加すると、子権限にも同じ動作が自動的に追加される。
特権管理者ロールには追加した動作が自動的に割り当てられる。

$action : 動作識別名。半角英数字及びアンダーバーが使用可能。アルファベット大文字は小文字に変換される。

返り値 : 成功した場合はTRUE、失敗した場合はFALSEを返す。

wakarana_permission::delete_action($action=NULL)

権限で使用可能な動作を削除する。削除された動作は全てのロールから剥奪される。
親権限に存在する動作、及び、初期動作「any」を削除することはできない。

$action : 動作識別名。NULLまたは省略した場合は「any」以外の全ての動作が削除される。

返り値 : 成功した場合はTRUE、失敗した場合はFALSEを返す。

wakarana_permission::get_parent_permission()

権限の親権限を取得する。

返り値 : 親権限のwakarana_permissionインスタンスを返す。親権限が存在しなければNULLを返し、失敗した場合はFALSEを返す。

wakarana_permission::get_descendant_permissions()

権限の子孫権限一覧を取得する。

返り値 : 子孫の権限のwakarana_permissionインスタンスを配列で返す。子孫権限が存在しなければ空配列を返し、失敗した場合はFALSEを返す。

wakarana_permission::get_roles($action="any")

権限が割り当てられているロールの一覧を取得する。

$action : 動作識別名

返り値 : ロールのwakarana_roleインスタンスをロールIDの順に配列で返す。失敗した場合はFALSEを返す。

wakarana_permission::get_users($action="any")

権限が割り当てられているユーザーの一覧を取得する。

$action : 動作識別名

返り値 : ユーザーのwakarana_userインスタンスをユーザーIDの順に配列で返す。権限を持つユーザーが存在しなければ空配列を返し、失敗した場合はFALSEを返す。

wakarana_permission::delete_permission()

権限を全てのロールから剥奪して完全に削除する。子孫権限が存在する場合、それらも同様に削除される。

返り値 : 成功した場合はTRUE、失敗した場合はFALSEを返す。