abstract class EntityLegalMethod in Entity Legal 7
Same name and namespace in other branches
- 7.2 methods/entity_legal.method.inc \EntityLegalMethod
Base class for entity_legal methods.
Provides helper functions for methods to use.
Hierarchy
- class \EntityLegalMethod
Expanded class hierarchy of EntityLegalMethod
File
- methods/
entity_legal.method.inc, line 12 - Method include file for common base class.
View source
abstract class EntityLegalMethod {
/**
* Get all Entity Legal Documents for a given user type and method.
*
* @param string $method
* The name of the method to find entity legal documents for.
* @param string $user_type
* The type of user, existing or signup.
*
* @return array
* All published entity legal documents required for the given user type.
*/
public function getDocumentsForMethod($method, $user_type = ENTITY_LEGAL_USER_EXISTING) {
// Entity Legal administrators should never be forced to accept documents.
if (user_access('administer legal documents')) {
return array();
}
// Don't run method for anonymous users.
if ($user_type == ENTITY_LEGAL_USER_EXISTING && user_is_anonymous()) {
return array();
}
// Get all active documents that must be agreed to by existing users.
$documents = entity_legal_get_all_documents(TRUE, $user_type);
// Remove any documents from the array set that don't use the given
// acceptance method.
foreach ($documents as $name => $document) {
$agreed = !$document
->userMustAgree($user_type == ENTITY_LEGAL_USER_ANONYMOUS) || $document
->userHasAgreed();
$is_method = $document
->getAcceptanceDeliveryMethod($user_type == ENTITY_LEGAL_USER_ANONYMOUS) == $method;
if ($agreed || !$is_method) {
unset($documents[$name]);
}
}
return $documents;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
EntityLegalMethod:: |
public | function | Get all Entity Legal Documents for a given user type and method. |