You are here

class CommerceLicenseExample in Commerce License 7

Example license type.

Hierarchy

Expanded class hierarchy of CommerceLicenseExample

1 string reference to 'CommerceLicenseExample'
example.inc in modules/commerce_license_example/plugins/license_type/example.inc

File

modules/commerce_license_example/plugins/license_type/CommerceLicenseExample.class.php, line 6

View source
class CommerceLicenseExample extends CommerceLicenseBase {

  /**
   * Implements EntityBundlePluginProvideFieldsInterface::fields().
   */
  static function fields() {
    $fields = parent::fields();

    // A real project could use commerce_single_address and just call
    // commerce_single_address_active_profile_load() to get the current
    // billing profile and all the information within, including the customer
    // name.
    $fields['cle_name']['field'] = array(
      'type' => 'text',
      'cardinality' => 1,
    );
    $fields['cle_name']['instance'] = array(
      'label' => t('Name'),
      'required' => 1,
      'settings' => array(
        'text_processing' => '0',
      ),
      'widget' => array(
        'module' => 'text',
        'type' => 'text_textfield',
        'settings' => array(
          'size' => 20,
        ),
      ),
    );
    return $fields;
  }

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

    // Just display the name field.
    $output = field_view_field('commerce_license', $this, 'cle_name');
    return drupal_render($output);
  }

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

  /**
   * Overrides CommerceLicenseBase::formValidate().
   */
  public function formValidate($form, &$form_state) {
    parent::formValidate($form, $form_state);
    $parents_path = implode('][', $form['#parents']);
    $form_values = drupal_array_get_nested_value($form_state['values'], $form['#parents']);

    // Validate the cle_name field value.
    if ($form_values['cle_name'][LANGUAGE_NONE][0]['value'] == 'John Smith') {
      form_set_error($parents_path . '][cle_name][und][0][value', t('John Smith is not allowed to have licenses.'));
    }
  }

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

    // A real checkoutCompletionMessage() method would also output the result
    // of $this->accessDetails() here.
    $text = 'Congratulations, ' . $this->wrapper->cle_name
      ->value() . '. <br />';
    $text .= "You are now licensed.";
    return $text;
  }

}

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::form public function Implements CommerceLicenseInterface::form(). Overrides CommerceLicenseInterface::form 1
CommerceLicenseBase::formSubmit public function Implements CommerceLicenseInterface::formSubmit(). Overrides CommerceLicenseInterface::formSubmit
CommerceLicenseBase::isValid public static function Implements EntityBundlePluginValidableInterface::isValid(). Overrides EntityBundlePluginValidableInterface::isValid 2
CommerceLicenseBase::renew public function Implements CommerceLicenseInterface::renew(). Overrides CommerceLicenseInterface::renew
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
CommerceLicenseExample::accessDetails public function Implements CommerceLicenseInterface::accessDetails(). Overrides CommerceLicenseBase::accessDetails
CommerceLicenseExample::checkoutCompletionMessage public function Implements CommerceLicenseInterface::checkoutCompletionMessage(). Overrides CommerceLicenseBase::checkoutCompletionMessage
CommerceLicenseExample::fields static function Implements EntityBundlePluginProvideFieldsInterface::fields(). Overrides CommerceLicenseBase::fields
CommerceLicenseExample::formValidate public function Overrides CommerceLicenseBase::formValidate(). Overrides CommerceLicenseBase::formValidate
CommerceLicenseExample::isConfigurable public function Implements CommerceLicenseInterface::isConfigurable(). Overrides CommerceLicenseBase::isConfigurable
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.