Differences Between: [Versions 310 and 400] [Versions 39 and 400]
Provides {@link tool_policy\output\renderer} class.
Copyright: | 2018 David Mudrák <david@moodle.com> |
License: | http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
File Size: | 1144 lines (44 kb) |
Included or required: | 0 times |
Referenced: | 0 times |
Includes or requires: | 0 files |
api:: (37 methods):
list_current_versions()
get_current_versions_ids()
list_policies()
count_total_users()
get_policy_version()
fix_revision_values()
can_user_view_policy_version()
get_user_minors()
form_policydoc_data()
form_policydoc_add()
form_policydoc_update_new()
form_policydoc_update_overwrite()
make_current()
inactivate()
revert_to_draft()
can_delete_version()
delete()
policy_summary_field_options()
policy_content_field_options()
distribute_policy_document_sortorder()
move_policy_document()
move_up()
move_down()
get_user_acceptances()
get_user_version_acceptance()
is_user_version_accepted()
get_policies_with_acceptances()
can_accept_policies()
can_decline_policies()
can_revoke_policies()
accept_policies()
decline_policies()
set_acceptances_status()
update_policyagreed()
revoke_acceptance()
create_acceptances_user_created()
get_agreement_optional()
list_current_versions($audience = null) X-Ref |
Return current (active) policies versions. return: array of stdClass - exported {@link tool_policy\policy_version_exporter} instances param: array $audience If defined, filter against the given audience (AUDIENCE_ALL always included) |
get_current_versions_ids($audience = null) X-Ref |
Checks if there are any current policies defined and returns their ids only return: array of version ids indexed by policies ids param: array $audience If defined, filter against the given audience (AUDIENCE_ALL always included) |
list_policies($ids = null, $countacceptances = false) X-Ref |
Returns a list of all policy documents and their versions. return: array of stdClass - exported {@link tool_policy\policy_exporter} instances param: array|int|null $ids Load only the given policies, defaults to all. param: int $countacceptances return number of user acceptances for each version |
count_total_users() X-Ref |
Returns total number of users who are expected to accept site policy return: int|null |
get_policy_version($versionid, $policies = null) X-Ref |
Load a particular policy document version. return: stdClass - exported {@link tool_policy\policy_exporter} instance param: int $versionid ID of the policy document version. param: array $policies cached result of self::list_policies() in case this function needs to be called in a loop |
fix_revision_values(array $versions) X-Ref |
Make sure that each version has a unique revision value. Empty value are replaced with a timecreated date. Duplicates are suffixed with v1, v2, v3, ... etc. param: array $versions List of objects with id, timecreated and revision properties |
can_user_view_policy_version($policy, $behalfid = null, $userid = null) X-Ref |
Can the user view the given policy version document? return: bool param: stdClass $policy - exported {@link tool_policy\policy_exporter} instance param: int $behalfid The id of user on whose behalf the user is viewing the policy param: int $userid The user whom access is evaluated, defaults to the current one |
get_user_minors($userid, array $extrafields = null) X-Ref |
Return the user's minors - other users on which behalf we can accept policies. Returned objects contain all the standard user name and picture fields as well as the context instanceid. return: array of objects param: int $userid The id if the user with parental responsibility param: array $extrafields Extra fields to be included in result |
form_policydoc_data(policy_version $version) X-Ref |
Prepare data for the {@link \tool_policy\form\policydoc} form. return: stdClass form data param: \tool_policy\policy_version $version persistent representing the version. |
form_policydoc_add(stdClass $form) X-Ref |
Save the data from the policydoc form as a new policy document. return: \tool_policy\policy_version persistent param: stdClass $form data submitted from the {@link \tool_policy\form\policydoc} form. |
form_policydoc_update_new(stdClass $form) X-Ref |
Save the data from the policydoc form as a new policy document version. return: \tool_policy\policy_version persistent param: stdClass $form data submitted from the {@link \tool_policy\form\policydoc} form. |
form_policydoc_update_overwrite(stdClass $form) X-Ref |
Save the data from the policydoc form, overwriting the existing policy document version. return: \tool_policy\policy_version persistent param: stdClass $form data submitted from the {@link \tool_policy\form\policydoc} form. |
make_current($versionid) X-Ref |
Make the given version the current active one. param: int $versionid |
inactivate($policyid) X-Ref |
Inactivate the policy document - no version marked as current and the document does not apply. param: int $policyid |
revert_to_draft($versionid) X-Ref |
Create a new draft policy document from an archived version. return: \tool_policy\policy_version persistent param: int $versionid |
can_delete_version($version) X-Ref |
Can the current version be deleted param: stdClass $version object describing version, contains fields policyid, id, status, archived, audience, ... |
delete($versionid) X-Ref |
Delete the given version (if it is a draft). Also delete policy if this is the only version. param: int $versionid |
policy_summary_field_options() X-Ref |
Editor field options for the policy summary text. return: array |
policy_content_field_options() X-Ref |
Editor field options for the policy content text. return: array |
distribute_policy_document_sortorder() X-Ref |
Re-sets the sortorder field of the policy documents to even values. |
move_policy_document($policyid, $step) X-Ref |
Change the policy document's sortorder. param: int $policyid param: int $step |
move_up($policyid) X-Ref |
Move the given policy document up in the list. param: id $policyid |
move_down($policyid) X-Ref |
Move the given policy document down in the list. param: id $policyid |
get_user_acceptances($userid, $versions = null) X-Ref |
Returns list of acceptances for this user. return: array list of acceptances indexed by versionid. param: int $userid id of a user. param: int|array $versions list of policy versions. |
get_user_version_acceptance($userid, $versionid, $acceptances = null) X-Ref |
Returns version acceptance for this user. return: stdClass|null Acceptance object if the user has ever accepted this version or null if not. param: int $userid User identifier. param: int $versionid Policy version identifier. param: array|null $acceptances List of policy version acceptances indexed by versionid. |
is_user_version_accepted($userid, $versionid, $acceptances = null) X-Ref |
Did the user accept the given policy version? return: bool|null True/false if this user accepted/declined the policy; null otherwise. param: int $userid User identifier. param: int $versionid Policy version identifier. param: array|null $acceptances Pre-loaded list of policy version acceptances indexed by versionid. |
get_policies_with_acceptances($userid) X-Ref |
Get the list of policies and versions that current user is able to see and the respective acceptance records for the selected user. return: array array with the same structure that list_policies() returns with additional attribute acceptance for versions param: int $userid |
can_accept_policies(array $versionids, $userid = null, $throwexception = false) X-Ref |
Check if given policies can be accepted by the current user (eventually on behalf of the other user) Currently, the version ids are not relevant and the check is based on permissions only. In the future, additional conditions can be added (such as policies applying to certain users only). return: bool param: array $versionids int[] List of policy version ids to check param: int $userid Accepting policies on this user's behalf (defaults to accepting on self) param: bool $throwexception Throw exception instead of returning false |
can_decline_policies(array $versionids, $userid = null, $throwexception = false) X-Ref |
Check if given policies can be declined by the current user (eventually on behalf of the other user) Only optional policies can be declined. Otherwise, the permissions are same as for accepting policies. return: bool param: array $versionids int[] List of policy version ids to check param: int $userid Declining policies on this user's behalf (defaults to declining by self) param: bool $throwexception Throw exception instead of returning false |
can_revoke_policies(array $versionids, $userid = null, $throwexception = false) X-Ref |
Check if acceptances to given policies can be revoked by the current user (eventually on behalf of the other user) Revoking optional policies is controlled by the same rules as declining them. Compulsory policies can be revoked only by users with the permission to accept policies on other's behalf. The reasoning behind this is to make sure the user communicates with the site's privacy officer and is well aware of all consequences of the decision (such as losing right to access the site). return: bool param: array $versionids int[] List of policy version ids to check param: int $userid Revoking policies on this user's behalf (defaults to revoking by self) param: bool $throwexception Throw exception instead of returning false |
accept_policies($policyversionid, $userid = null, $note = null, $lang = null) X-Ref |
Mark the given policy versions as accepted by the user. param: array|int $policyversionid Policy version id(s) to set acceptance status for. param: int|null $userid Id of the user accepting the policy version, defaults to the current one. param: string|null $note Note to be recorded. param: string|null $lang Language in which the policy was shown, defaults to the current one. |
decline_policies($policyversionid, $userid = null, $note = null, $lang = null) X-Ref |
Mark the given policy versions as declined by the user. param: array|int $policyversionid Policy version id(s) to set acceptance status for. param: int|null $userid Id of the user accepting the policy version, defaults to the current one. param: string|null $note Note to be recorded. param: string|null $lang Language in which the policy was shown, defaults to the current one. |
set_acceptances_status($policyversionid, $userid = null, $note = null, $lang = null, $status = 1) X-Ref |
Mark the given policy versions as accepted or declined by the user. param: array|int $policyversionid Policy version id(s) to set acceptance status for. param: int|null $userid Id of the user accepting the policy version, defaults to the current one. param: string|null $note Note to be recorded. param: string|null $lang Language in which the policy was shown, defaults to the current one. param: int $status The acceptance status, defaults to 1 = accepted |
update_policyagreed($user = null) X-Ref |
Make sure that $user->policyagreed matches the agreement to the policies param: int|stdClass|null $user user to check (null for current user) |
revoke_acceptance($policyversionid, $userid, $note = null) X-Ref |
May be used to revert accidentally granted acceptance for another user param: int $policyversionid param: int $userid param: null $note |
create_acceptances_user_created(\core\event\user_created $event) X-Ref |
Create user policy acceptances when the user is created. param: \core\event\user_created $event |
get_agreement_optional($versionid) X-Ref |
Returns the value of the optional flag for the given policy version. Optimised for being called multiple times by making use of a request cache. The cache is normally populated as a side effect of calling {@link self::list_policies()} and in most cases should be warm enough for hits. return: int policy_version::AGREEMENT_COMPULSORY | policy_version::AGREEMENT_OPTIONAL param: int $versionid |