You are here

interface EmailConfirmationInterface in Email confirmer 8

Email confirmation interface.

Hierarchy

Expanded class hierarchy of EmailConfirmationInterface

All classes that implement EmailConfirmationInterface

4 files declare their use of EmailConfirmationInterface
EmailConfirmation.php in src/Entity/EmailConfirmation.php
EmailConfirmerController.php in src/Controller/EmailConfirmerController.php
email_confirmer.api.php in ./email_confirmer.api.php
Document api for email confirmer module.
email_confirmer_user.module in email_confirmer_user/email_confirmer_user.module
Users related email confirmation module.

File

src/EmailConfirmationInterface.php, line 11

Namespace

Drupal\email_confirmer
View source
interface EmailConfirmationInterface extends ContentEntityInterface {

  /**
   * Email confirmation is active.
   */
  const ACTIVE = 1;

  /**
   * Email confirmation is cancelled.
   */
  const CANCELLED = 0;

  /**
   * Email confirmation is confirmed.
   */
  const CONFIRMED = 1;

  /**
   * Email confirmation is unconfirmed.
   */
  const UNCONFIRMED = 0;

  /**
   * Email confirmation is private.
   */
  const IS_PRIVATE = 1;

  /**
   * Email confirmation is not private.
   */
  const IS_PUBLIC = 0;

  /**
   * Returns if the confirmation is in a proper status to get response.
   *
   * @return bool
   *   TRUE if the confirmation can be responded, FALSE otherwise.
   */
  public function isPending();

  /**
   * Returns if the confirmation is cancelled.
   *
   * @return bool
   *   TRUE if the confirmation is cancelled, FALSE if it is active.
   */
  public function isCancelled();

  /**
   * Returns if the confirmation is done.
   *
   * @return bool
   *   TRUE if the confirmation is done, FALSE if it is not confirmed.
   */
  public function isConfirmed();

  /**
   * Returns if the confirmation is expired.
   *
   * @return bool
   *   TRUE if the confirmation is expired, FALSE if it is active.
   */
  public function isExpired();

  /**
   * Returns if the confirmation request was sent.
   *
   * @return bool
   *   TRUE if the confirmation request was sent, FALSE otherwise.
   */
  public function isRequestSent();

  /**
   * Returns the private status.
   *
   * @return bool
   *   TRUE if the confirmation is marked as private, FALSE otherwise.
   */
  public function isPrivate();

  /**
   * Mark the confirmation as private.
   *
   * A private confirmation can only be replied by their owner or by email
   * confirmation administrators. It has no effect on confirmations owned by
   * the anonymous user.
   *
   * @param bool $private
   *   The new private status. TRUE when no given argument.
   *
   * @return \Drupal\email_confirmer\EmailConfirmationInterface
   *   The called email confirmation entity.
   */
  public function setPrivate($private = TRUE);

  /**
   * Returns the most representative current status of the email confirmation.
   *
   * Possible status values:
   *
   * - pending: confirmation is pending response
   *
   * - confirmed: the email confirmation was sent and positively responded
   *
   * - cancelled: the confirmation process was cancelled; request could be
   *   sent or not
   *
   * - expired: the confirmation age is over the allowed maximum, regardless
   *   of any other status
   *
   * Note that an expired confirmation could be confirmed as well. Check
   * the confirmed status with the isConfirmed method.
   *
   * @see \Drupal\email_confirmer\EmailConfirmationInterface::isConfirmed
   *
   * @return string
   *   The current status.
   */
  public function getStatus();

  /**
   * Sends the email confirmation request.
   *
   * Confirmation must be not expired, cancelled or confirmed. More than
   * one request can be sent, but some delivery limitations are applied.
   * See docs for details.
   *
   * @return bool
   *   TRUE if request was successfully sent, FALSE on sending error.
   *
   * @throws \Drupal\email_confirmer\InvalidConfirmationStateException
   *   If confirmation is cancelled, expired or already confirmed.
   */
  public function sendRequest();

  /**
   * Process the email confirmation.
   *
   * @param string $hash
   *   The received hash.
   *
   * @return bool
   *   TRUE if confirmation was successfully processed, FALSE on mistmach
   *   hash.
   *
   * @throws \Drupal\email_confirmer\InvalidConfirmationStateException
   *   If confirmation is cancelled, expired or already confirmed.
   */
  public function confirm($hash);

  /**
   * Cancel the email confirmation.
   *
   * @throws \Drupal\email_confirmer\InvalidConfirmationStateException
   *   If confirmation is expired, confirmed or already cancelled.
   */
  public function cancel();

  /**
   * Calculate hash for this email confirmation.
   *
   * @return string
   *   The hash.
   */
  public function getHash();

  /**
   * Returns the subscribers email address.
   *
   * @return string
   *   The subscribers email address.
   */
  public function getEmail();

  /**
   * Sets the subscribers email address.
   *
   * @param string $email
   *   The subscribers email address.
   *
   * @return \Drupal\email_confirmer\EmailConfirmationInterface
   *   The called email confirmation entity.
   */
  public function setEmail($email);

  /**
   * Returns the realm to which this confirmation belongs.
   *
   * @return string
   *   The realm.
   */
  public function getRealm();

  /**
   * Sets the realm to which this confirmation belongs.
   *
   * @param string $realm
   *   The realm, tipically a module name.
   *
   * @return \Drupal\email_confirmer\EmailConfirmationInterface
   *   The called email confirmation entity.
   */
  public function setRealm($realm);

  /**
   * Returns the IP address associated with this confirmation process.
   *
   * Commonly the IP address from where the confirmation was started.
   *
   * @return string
   *   The IP address, FALSE if empty.
   */
  public function getIp();

  /**
   * Sets the IP address associated with this confirmation process.
   *
   * @param string $ip
   *   The IP address.
   *
   * @return \Drupal\email_confirmer\EmailConfirmationInterface
   *   The called email confirmation entity.
   *
   * @throws \InvalidArgumentException
   *   If the given value is not a valid IP address.
   */
  public function setIp($ip);

  /**
   * Returns a property value or an array with all defined properties.
   *
   * @param string $key
   *   Property key to get. Leave empty to get all defined properties.
   *
   * @return mixed
   *   The value of the given key, NULL if none set. Array of all available
   *   properties if no key specified.
   */
  public function getProperty($key);

  /**
   * Sets a property value.
   *
   * @param string $key
   *   Property key.
   * @param mixed $value
   *   Value to store. NULL will delete the property.
   *
   * @return \Drupal\email_confirmer\EmailConfirmationInterface
   *   The called email confirmation entity.
   */
  public function setProperty($key, $value = NULL);

  /**
   * Get a keyed array with all the confirmation properties.
   *
   * @return array
   *   Array with all defined properties. Empty array if no one defined.
   */
  public function getProperties();

  /**
   * Returns the date of the last request sent.
   *
   * @return int
   *   Unix timestamp of the last request sent. FALSE if no request already
   *   sent.
   */
  public function getLastRequestDate();

  /**
   * Sets the date of the last request sent.
   *
   * @param int $timestamp
   *   Date timestamp to set. Unset current if NULL.
   *
   * @return \Drupal\email_confirmer\EmailConfirmationInterface
   *   The called email confirmation entity.
   */
  public function setLastRequestDate($timestamp);

  /**
   * Gets the email confirmation creation timestamp.
   *
   * @return int
   *   Creation timestamp of the email confirmation.
   */
  public function getCreatedTime();

  /**
   * Sets the email confirmation creation timestamp.
   *
   * @param int $timestamp
   *   The email confirmation creation timestamp.
   *
   * @return \Drupal\email_confirmer\EmailConfirmationInterface
   *   The called email confirmation entity.
   */
  public function setCreatedTime($timestamp);

  /**
   * Set a URL to go on confirmation response.
   *
   * @param \Drupal\Core\Url $url
   *   The URL to go.
   * @param string $operation
   *   One of 'confirm', 'cancel' or 'error'. Empty to set for all operations.
   *
   * @return \Drupal\email_confirmer\EmailConfirmationInterface
   *   The called email confirmation entity.
   */
  public function setResponseUrl(Url $url, $operation = NULL);

  /**
   * Get the response URL for a given operation.
   *
   * @param string $operation
   *   One of 'confirm', 'cancel' or 'error'.
   *
   * @return \Drupal\Core\Url
   *   The URL. NULL if not set.
   */
  public function getResponseUrl($operation);

}

Members

Namesort descending Modifiers Type Description Overrides
AccessibleInterface::access public function Checks data value access. 9
CacheableDependencyInterface::getCacheContexts public function The cache contexts associated with this object. 34
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached. 34
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object. 27
EmailConfirmationInterface::ACTIVE constant Email confirmation is active.
EmailConfirmationInterface::cancel public function Cancel the email confirmation. 1
EmailConfirmationInterface::CANCELLED constant Email confirmation is cancelled.
EmailConfirmationInterface::confirm public function Process the email confirmation. 1
EmailConfirmationInterface::CONFIRMED constant Email confirmation is confirmed.
EmailConfirmationInterface::getCreatedTime public function Gets the email confirmation creation timestamp. 1
EmailConfirmationInterface::getEmail public function Returns the subscribers email address. 1
EmailConfirmationInterface::getHash public function Calculate hash for this email confirmation. 1
EmailConfirmationInterface::getIp public function Returns the IP address associated with this confirmation process. 1
EmailConfirmationInterface::getLastRequestDate public function Returns the date of the last request sent. 1
EmailConfirmationInterface::getProperties public function Get a keyed array with all the confirmation properties. 1
EmailConfirmationInterface::getProperty public function Returns a property value or an array with all defined properties. 1
EmailConfirmationInterface::getRealm public function Returns the realm to which this confirmation belongs. 1
EmailConfirmationInterface::getResponseUrl public function Get the response URL for a given operation. 1
EmailConfirmationInterface::getStatus public function Returns the most representative current status of the email confirmation. 1
EmailConfirmationInterface::isCancelled public function Returns if the confirmation is cancelled. 1
EmailConfirmationInterface::isConfirmed public function Returns if the confirmation is done. 1
EmailConfirmationInterface::isExpired public function Returns if the confirmation is expired. 1
EmailConfirmationInterface::isPending public function Returns if the confirmation is in a proper status to get response. 1
EmailConfirmationInterface::isPrivate public function Returns the private status. 1
EmailConfirmationInterface::isRequestSent public function Returns if the confirmation request was sent. 1
EmailConfirmationInterface::IS_PRIVATE constant Email confirmation is private.
EmailConfirmationInterface::IS_PUBLIC constant Email confirmation is not private.
EmailConfirmationInterface::sendRequest public function Sends the email confirmation request. 1
EmailConfirmationInterface::setCreatedTime public function Sets the email confirmation creation timestamp. 1
EmailConfirmationInterface::setEmail public function Sets the subscribers email address. 1
EmailConfirmationInterface::setIp public function Sets the IP address associated with this confirmation process. 1
EmailConfirmationInterface::setLastRequestDate public function Sets the date of the last request sent. 1
EmailConfirmationInterface::setPrivate public function Mark the confirmation as private. 1
EmailConfirmationInterface::setProperty public function Sets a property value. 1
EmailConfirmationInterface::setRealm public function Sets the realm to which this confirmation belongs. 1
EmailConfirmationInterface::setResponseUrl public function Set a URL to go on confirmation response. 1
EmailConfirmationInterface::UNCONFIRMED constant Email confirmation is unconfirmed.
EntityInterface::bundle public function Gets the bundle of the entity. 2
EntityInterface::create public static function Constructs a new entity object, without permanently saving it. 2
EntityInterface::createDuplicate public function Creates a duplicate of the entity. 2
EntityInterface::delete public function Deletes an entity permanently. 2
EntityInterface::enforceIsNew public function Enforces an entity to be new. 2
EntityInterface::getCacheTagsToInvalidate public function Returns the cache tags that should be used to invalidate caches. 2
EntityInterface::getConfigDependencyKey public function Gets the key that is used to store configuration dependencies. 2
EntityInterface::getConfigDependencyName public function Gets the configuration dependency name. 2
EntityInterface::getConfigTarget public function Gets the configuration target identifier for the entity. 2
EntityInterface::getEntityType public function Gets the entity type definition. 2
EntityInterface::getEntityTypeId public function Gets the ID of the type of the entity. 2
EntityInterface::getOriginalId public function Gets the original ID. 2
EntityInterface::getTypedData public function Gets a typed data object for this entity object. 2
EntityInterface::hasLinkTemplate public function Indicates if a link template exists for a given key. 2
EntityInterface::id public function Gets the identifier. 2
EntityInterface::isNew public function Determines whether the entity is new. 2
EntityInterface::label public function Gets the label of the entity. 2
EntityInterface::language public function Gets the language of the entity. 2
EntityInterface::link Deprecated public function Deprecated way of generating a link to the entity. See toLink(). 2
EntityInterface::load public static function Loads an entity. 2
EntityInterface::loadMultiple public static function Loads one or more entities. 2
EntityInterface::postCreate public function Acts on a created entity before hooks are invoked. 2
EntityInterface::postDelete public static function Acts on deleted entities before the delete hook is invoked. 2
EntityInterface::postLoad public static function Acts on loaded entities. 3
EntityInterface::postSave public function Acts on a saved entity before the insert or update hook is invoked. 2
EntityInterface::preCreate public static function Changes the values of an entity before it is created. 2
EntityInterface::preDelete public static function Acts on entities before they are deleted and before hooks are invoked. 2
EntityInterface::preSave public function Acts on an entity before the presave hook is invoked. 2
EntityInterface::referencedEntities public function Gets a list of entities referenced by this entity. 2
EntityInterface::save public function Saves an entity permanently. 2
EntityInterface::setOriginalId public function Sets the original ID. 2
EntityInterface::toLink public function Generates the HTML for a link to this entity. 2
EntityInterface::toUrl public function Gets the URL object for the entity. 2
EntityInterface::uriRelationships public function Gets a list of URI relationships supported by this entity. 2
EntityInterface::url Deprecated public function Gets the public URL for this entity. 2
EntityInterface::urlInfo Deprecated public function Gets the URL object for the entity. 2
EntityInterface::uuid public function Gets the entity UUID (Universally Unique Identifier). 2
FieldableEntityInterface::baseFieldDefinitions public static function Provides base field definitions for an entity type. 2
FieldableEntityInterface::bundleFieldDefinitions public static function Provides field definitions for a specific bundle. 2
FieldableEntityInterface::get public function Gets a field item list. 1
FieldableEntityInterface::getFieldDefinition public function Gets the definition of a contained field. 1
FieldableEntityInterface::getFieldDefinitions public function Gets an array of field definitions of all contained fields. 1
FieldableEntityInterface::getFields public function Gets an array of all field item lists. 1
FieldableEntityInterface::getTranslatableFields public function Gets an array of field item lists for translatable fields. 1
FieldableEntityInterface::hasField public function Determines whether the entity has a field with the given name. 1
FieldableEntityInterface::isValidationRequired public function Checks whether entity validation is required before saving the entity. 1
FieldableEntityInterface::onChange public function Reacts to changes to a field. 1
FieldableEntityInterface::set public function Sets a field value. 1
FieldableEntityInterface::setValidationRequired public function Sets whether entity validation is required before saving the entity. 1
FieldableEntityInterface::toArray public function Gets an array of all field values. Overrides EntityInterface::toArray
FieldableEntityInterface::validate public function Validates the currently set values. 1
RefinableCacheableDependencyInterface::addCacheableDependency public function Adds a dependency on an object: merges its cacheability metadata. 1
RefinableCacheableDependencyInterface::addCacheContexts public function Adds cache contexts. 1
RefinableCacheableDependencyInterface::addCacheTags public function Adds cache tags. 1
RefinableCacheableDependencyInterface::mergeCacheMaxAge public function Merges the maximum age (in seconds) with the existing maximum age. 1
RevisionableInterface::getLoadedRevisionId public function Gets the loaded Revision ID of the entity. 1
RevisionableInterface::getRevisionId public function Gets the revision identifier of the entity. 1
RevisionableInterface::isDefaultRevision public function Checks if this entity is the default revision. 1
RevisionableInterface::isLatestRevision public function Checks if this entity is the latest revision. 1
RevisionableInterface::isNewRevision public function Determines whether a new revision should be created on save. 1
RevisionableInterface::preSaveRevision public function Acts on a revision before it gets saved. 1
RevisionableInterface::setNewRevision public function Enforces an entity to be saved as a new revision. 1
RevisionableInterface::updateLoadedRevisionId public function Updates the loaded Revision ID with the revision ID. 1
RevisionableInterface::wasDefaultRevision public function Checks whether the entity object was a default revision when it was saved. 1
SynchronizableInterface::isSyncing public function Returns whether this entity is being changed as part of a synchronization. 1
SynchronizableInterface::setSyncing public function Sets the status of the synchronization flag. 1
TranslatableInterface::addTranslation public function Adds a new translation to the translatable object. 1
TranslatableInterface::getTranslation public function Gets a translation of the data. 1
TranslatableInterface::getTranslationLanguages public function Returns the languages the data is translated to. 1
TranslatableInterface::getUntranslated public function Returns the translatable object referring to the original language. 1
TranslatableInterface::hasTranslation public function Checks there is a translation for the given language code. 1
TranslatableInterface::hasTranslationChanges public function Determines if the current translation of the entity has unsaved changes. 1
TranslatableInterface::isDefaultTranslation public function Checks whether the translation is the default one. 1
TranslatableInterface::isNewTranslation public function Checks whether the translation is new. 1
TranslatableInterface::isTranslatable public function Returns the translation support status. 1
TranslatableInterface::removeTranslation public function Removes the translation identified by the given language code. 1
TranslatableRevisionableInterface::isDefaultTranslationAffectedOnly public function Checks if untranslatable fields should affect only the default translation. 1
TranslatableRevisionableInterface::isLatestTranslationAffectedRevision public function Checks whether this is the latest revision affecting this translation. 1
TranslatableRevisionableInterface::isRevisionTranslationAffected public function Checks whether the current translation is affected by the current revision. 1
TranslatableRevisionableInterface::isRevisionTranslationAffectedEnforced public function Checks if the revision translation affected flag value has been enforced. 1
TranslatableRevisionableInterface::setRevisionTranslationAffected public function Marks the current revision translation as affected. 1
TranslatableRevisionableInterface::setRevisionTranslationAffectedEnforced public function Enforces the revision translation affected flag value. 1