class wakarana_role
wakarana_data_itemの派生クラス。ロールの情報を読み書きするために使用する。1インスタンスごとに1ロールの情報が割り当てられる。- wakarana_role::__construct
- wakarana_role::get_id
- wakarana_role::get_name
- wakarana_role::get_description
- wakarana_role::set_info
- wakarana_role::get_users
- wakarana_role::get_permissions
- wakarana_role::check_permission
- wakarana_role::add_permission
- wakarana_role::remove_permission
- wakarana_role::remove_all_permissions
- wakarana_role::get_permitted_values
- wakarana_role::get_permitted_value
- wakarana_role::set_permitted_value
- wakarana_role::remove_permitted_value
- wakarana_role::delete_role
wakarana_role::__construct($wakarana, $role_info)
コンストラクタ。wakarana::get_roleの実行時に呼び出されるものであり、直接インスタンス化するべきではない。$wakarana : 呼び出し元のwakaranaインスタンス
$role_info : ロール情報("role_id"(ロールID)、"role_name"(ロール名)、"role_description"(ロールの説明文))を格納した連想配列
wakarana_role::get_id()
ロールのIDを取得する。返り値 : ロールのIDを返す。
wakarana_role::get_name()
ロールの表示名を取得する。返り値 : ロールの表示名を返す。
wakarana_role::get_description()
ロールの説明文を取得する。返り値 : ロールについての説明文を返す。
wakarana_role::set_info($role_name=NULL, $role_description=NULL)
ロールの情報を変更する。$role_name : ロールの表示名。変更しない場合はNULL。
$role_description : ロールについての説明文。変更しない場合は省略。
返り値 : 成功した場合はTRUE、失敗した場合はFALSEを返す。
wakarana_role::get_users()
ロールが割り当てられているユーザーの一覧を取得する。返り値 : 成功した場合は、wakarana_userインスタンスをユーザーIDの順に配列で返す。失敗した場合はFALSEを返す。
wakarana_role::get_permissions($get_descendant_permissions=TRUE)
ロールに割り当てられた権限の一覧を取得する。$get_descendant_permissions : TRUEを指定した場合、割り当てられている親権限と同一動作の子孫権限も含めて取得する。
返り値 : 権限対象リソースIDをキーとし、値として動作識別名の配列を持った連想配列を返す。権限が存在しない場合は空配列を返す。失敗した場合はFALSEを返す。
wakarana_role::check_permission($resource_id, $action="any")
ロールに権限が割り当てられているかを確認する。権限対象リソースIDに「/」が含まれる場合、「/」以下を取り除いた権限対象リソースIDの権限が存在すれば、権限が割り当てられているものとみなす。
$resource_id : 権限対象リソースID
$action : 動作識別名
返り値 : ロールに権限が割り当てられている場合はTRUE、それ以外の場合はFALSEを返す。
wakarana_role::add_permission($resource_id, $action="any")
ロールに権限を追加する。特権管理者ロールは自動的に全ての権限が付与されるため、この関数を使用する必要はない。
また、ロールに親権限を割り当てると、自動的に子孫権限も割り当てられる。
$resource_id : 権限対象リソースID
$action : 動作識別名
返り値 : 成功した場合はTRUE、既に割り当て済みの権限と動作の組み合わせだった場合や失敗した場合はFALSEを返す。
wakarana_role::remove_permission($resource_id, $action="any")
ロールから権限を剥奪する。特権管理者ロールでは権限が剥奪できないため、この関数は使用できない。
子権限の動作を剥奪する場合、その親権限の同じ動作がロールに割り当てられていてはならない。
$resource_id : 権限対象リソースID
$action : 動作識別名。NULLを指定した場合は全ての動作を削除する。
返り値 : 成功した場合はTRUE、失敗した場合はFALSEを返す。
wakarana_role::remove_all_permissions()
ロールから全ての権限を剥奪する。特権管理者ロールでは権限が剥奪できないため、この関数は使用できない。
返り値 : 成功した場合はTRUE、失敗した場合はFALSEを返す。
wakarana_role::get_permitted_values()
ロールに割り当てられている権限値の一覧を取得する。返り値 : 権限値IDをキー、権限値を値とする連想配列を返す。権限値が存在しない場合は空配列を返す。失敗した場合はFALSEを返す。
wakarana_role::get_permitted_value($permitted_value_id)
ロールに割り当てられている権限値を取得する。$permitted_value_id : 権限値ID
返り値 : 権限値が存在する場合は権限値を、存在しない場合はNULLを返す。失敗した場合はFALSEを返す。
wakarana_role::set_permitted_value($permitted_value_id, $permitted_value)
ロールの権限値を設定する。$permitted_value_id : 権限値ID。半角英数字及びアンダーバーが使用可能。アルファベット大文字は小文字に変換される。
$permitted_value : 権限値。TRUEは「1」、FALSEは「0」に変換される。
返り値 : 成功した場合はTRUE、失敗した場合はFALSEを返す。
wakarana_role::remove_permitted_value($permitted_value_id=NULL)
ロールの権限値を削除する。$permitted_value_id : 権限値ID。NULLまたは省略した場合、全ての権限値を削除する。
返り値 : 成功した場合はTRUE、失敗した場合はFALSEを返す。
wakarana_role::delete_role()
ロールを完全に削除する。ベースロールと特権管理者ロールでは使用できない。
返り値 : 成功した場合はTRUE、失敗した場合はFALSEを返す。
