You are here

class FlexifromFormEntityNewReply in Flexiform 7

Form entity to get a new reply.

Hierarchy

Expanded class hierarchy of FlexifromFormEntityNewReply

1 string reference to 'FlexifromFormEntityNewReply'
flexiform_flexiform_entity_getter_info in ./flexiform.flexiform.inc
Implements hook_flexiform_entity_getter_info().

File

includes/form_entity/reply.form_entity.inc, line 10
Contains class for a basic entity getter.

View source
class FlexifromFormEntityNewReply extends FlexiformFormEntityBase {

  /**
   * {@inheritdoc}
   */
  public function getEntity() {
    parent::getEntity();
    $base_type = $this
      ->getParamType('base');

    // Get the base entity.
    $base_entity = $this
      ->getParam('base');

    // Check we have enough information to load the entity.
    if (!$base_entity) {
      return FALSE;
    }
    $base_settings = $this
      ->getParamSettings('base');
    $base_bundle = $base_settings['bundle'];
    $instance = field_info_instance($base_type, $this->getter['field_name'], $base_bundle);
    $instance_id = $instance['id'];
    $base_id = entity_id($base_type, $base_entity);
    $values = array(
      'entity_id' => $base_id,
      'instance_id' => $instance_id,
      'entity_type' => $base_type,
      'bundle' => $this->settings['bundle'],
    );
    $new_reply = entity_create('reply', $values);
    if (!$new_reply) {
      return FALSE;
    }
    return $new_reply;
  }

  /**
   * {@inheritdoc}
   */
  public function saveEntity($entity) {

    // If the entity is still false do not save it!
    if ($entity === FALSE) {
      return;
    }
    $base_id = entity_id($this
      ->getParamType('base'), $this
      ->getParam('base'));
    $entity->entity_id = $base_id;
    parent::saveEntity($entity);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
FlexiformFormEntityBase::$entity_namespace public property The namespace of this entity.
FlexiformFormEntityBase::$entity_type public property The type of this entity.
FlexiformFormEntityBase::$getter public property Details of the getter.
FlexiformFormEntityBase::$manager public property The Flexiform Entity Manager
FlexiformFormEntityBase::$settings public property The settings for this entity on the flexiform.
FlexiformFormEntityBase::checkBundle public function Check bundle.
FlexiformFormEntityBase::configForm public function Get the Configuration Form. Overrides FlexiformFormEntityInterface::configForm 3
FlexiformFormEntityBase::configFormSubmit public function Submit the Configuration Form. Overrides FlexiformFormEntityInterface::configFormSubmit
FlexiformFormEntityBase::configFormValidate public function Validate the configuration form. Overrides FlexiformFormEntityInterface::configFormValidate
FlexiformFormEntityBase::getParam public function Get a Parameter From the Entity Manager.
FlexiformFormEntityBase::getParamSettings public function Get a Parameter's entity settings from the Entity Manager.
FlexiformFormEntityBase::getParamType public function Get the entity type of a parameter.
FlexiformFormEntityBase::__construct public function Construct a Flexiform Form Entity class.
FlexifromFormEntityNewReply::getEntity public function Get the entity for the form. Overrides FlexiformFormEntityBase::getEntity
FlexifromFormEntityNewReply::saveEntity public function Save the entity upon submission of the form. Overrides FlexiformFormEntityBase::saveEntity