You are here

class CommerceLicenseFile in Commerce File 7.2

File license type.

Hierarchy

Expanded class hierarchy of CommerceLicenseFile

1 string reference to 'CommerceLicenseFile'
file.inc in plugins/license_type/file.inc

File

plugins/license_type/CommerceLicenseFile.class.php, line 6

View source
class CommerceLicenseFile extends CommerceLicenseBase {

  /**
   * Implements CommerceLicenseInterface::isConfigurable().
   */
  public function isConfigurable() {
    return FALSE;
  }

  /**
   * Implements CommerceLicenseInterface::accessDetails().
   */
  public function accessDetails() {

    // Display the files.
    $product = $this->wrapper->product
      ->value();
    $display = array(
      'label' => 'hidden',
      'type' => 'commerce_file',
      'settings' => array(
        // The access check confirms that the product has a license.
        // Since we're calling this formatter from a license, there is no
        // point in performing that check.
        'check_access' => FALSE,
      ),
    );
    $output = field_view_field('commerce_product', $product, 'commerce_file', $display);
    return drupal_render($output);
  }

  /**
   * Implements CommerceLicenseInterface::checkoutCompletionMessage().
   */
  public function checkoutCompletionMessage() {

    // Store the uid in the session. The file access function will use it
    // if the user is anonymous, allowing the download to proceed.
    $_SESSION['commerce_license_uid'] = $this->uid;
    $product = $this->wrapper->product
      ->value();
    $message = t('Thank you for purchasing %product.', array(
      '%product' => $product->title,
    )) . '<br />';
    $message .= t('Download now:');
    return $message . $this
      ->accessDetails();
  }

  /**
   * Implements CommerceLicenseInterface::renew().
   */
  public function renew($expires) {
    parent::renew($expires);

    // Clear the download log in order to reset download limits.
    commerce_file_download_log_clear(array(
      'license_id' => $this->license_id,
    ));
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CommerceLicenseBase::$expires public property The date (unix timestamp) when the license expires. 0 for never.
CommerceLicenseBase::$expires_automatically public property Whether the module should expire the license automatically.
CommerceLicenseBase::$granted public property The date (unix timestamp) when the license was granted.
CommerceLicenseBase::$license_id public property The license id.
CommerceLicenseBase::$product_id public property The product_id of the licensed product.
CommerceLicenseBase::$revision_id public property The revision id.
CommerceLicenseBase::$status public property The license status.
CommerceLicenseBase::$type public property The license type (bundle).
CommerceLicenseBase::$uid public property The uid of the license owner.
CommerceLicenseBase::$wrapper public property License metadata wrapper. Overrides Entity::$wrapper
CommerceLicenseBase::activate public function Implements CommerceLicenseInterface::activate(). Overrides CommerceLicenseInterface::activate 1
CommerceLicenseBase::expire public function Implements CommerceLicenseInterface::expire(). Overrides CommerceLicenseInterface::expire 1
CommerceLicenseBase::fields static function Implements EntityBundlePluginProvideFieldsInterface::fields(). Overrides EntityBundlePluginProvideFieldsInterface::fields 2
CommerceLicenseBase::form public function Implements CommerceLicenseInterface::form(). Overrides CommerceLicenseInterface::form 1
CommerceLicenseBase::formSubmit public function Implements CommerceLicenseInterface::formSubmit(). Overrides CommerceLicenseInterface::formSubmit
CommerceLicenseBase::formValidate public function Implements CommerceLicenseInterface::formValidate(). Overrides CommerceLicenseInterface::formValidate 1
CommerceLicenseBase::isValid public static function Implements EntityBundlePluginValidableInterface::isValid(). Overrides EntityBundlePluginValidableInterface::isValid 2
CommerceLicenseBase::revoke public function Implements CommerceLicenseInterface::revoke(). Overrides CommerceLicenseInterface::revoke 1
CommerceLicenseBase::save public function Overrides Entity::save(). Overrides Entity::save 2
CommerceLicenseBase::suspend public function Implements CommerceLicenseInterface::suspend(). Overrides CommerceLicenseInterface::suspend 1
CommerceLicenseBase::__construct public function Constructor. Overrides Entity::__construct 2
CommerceLicenseFile::accessDetails public function Implements CommerceLicenseInterface::accessDetails(). Overrides CommerceLicenseBase::accessDetails
CommerceLicenseFile::checkoutCompletionMessage public function Implements CommerceLicenseInterface::checkoutCompletionMessage(). Overrides CommerceLicenseBase::checkoutCompletionMessage
CommerceLicenseFile::isConfigurable public function Implements CommerceLicenseInterface::isConfigurable(). Overrides CommerceLicenseBase::isConfigurable
CommerceLicenseFile::renew public function Implements CommerceLicenseInterface::renew(). Overrides CommerceLicenseBase::renew
Entity::$defaultLabel protected property 1
Entity::$entityInfo protected property
Entity::$entityType protected property
Entity::$idKey protected property
Entity::buildContent public function Builds a structured array representing the entity's content. Overrides EntityInterface::buildContent 1
Entity::bundle public function Returns the bundle of the entity. Overrides EntityInterface::bundle
Entity::defaultLabel protected function Defines the entity label if the 'entity_class_label' callback is used. 1
Entity::defaultUri protected function Override this in order to implement a custom default URI and specify 'entity_class_uri' as 'uri callback' hook_entity_info().
Entity::delete public function Permanently deletes the entity. Overrides EntityInterface::delete
Entity::entityInfo public function Returns the info of the type of the entity. Overrides EntityInterface::entityInfo
Entity::entityType public function Returns the type of the entity. Overrides EntityInterface::entityType
Entity::export public function Exports the entity. Overrides EntityInterface::export
Entity::getTranslation public function Gets the raw, translated value of a property or field. Overrides EntityInterface::getTranslation
Entity::hasStatus public function Checks if the entity has a certain exportable status. Overrides EntityInterface::hasStatus
Entity::identifier public function Returns the entity identifier, i.e. the entities name or numeric id. Overrides EntityInterface::identifier
Entity::internalIdentifier public function Returns the internal, numeric identifier. Overrides EntityInterface::internalIdentifier
Entity::isDefaultRevision public function Checks whether the entity is the default revision. Overrides EntityInterface::isDefaultRevision
Entity::label public function Returns the label of the entity. Overrides EntityInterface::label
Entity::setUp protected function Set up the object instance on construction or unserializiation.
Entity::uri public function Returns the uri of the entity just as entity_uri(). Overrides EntityInterface::uri
Entity::view public function Generate an array for rendering the entity. Overrides EntityInterface::view
Entity::wrapper public function Returns the EntityMetadataWrapper of the entity. Overrides EntityInterface::wrapper
Entity::__sleep public function Magic method to only serialize what's necessary.
Entity::__wakeup public function Magic method to invoke setUp() on unserialization.