You are here

class SimplemetaEntity in Simple Meta 7.2

Class SimplemetaEntity.

A common class for SimpleMeta entities.

Hierarchy

Expanded class hierarchy of SimplemetaEntity

1 string reference to 'SimplemetaEntity'
simplemeta_entity_info in ./simplemeta.module
Implements hook_entity_info().

File

./simplemeta.info.inc, line 13
Entity API integration, classes, controllers, etc.

View source
class SimplemetaEntity extends Entity {

  /**
   * Primary identifier of the SimpleMeta entity.
   *
   * @var int
   */
  public $sid = NULL;

  /**
   * The Drupal path the SimpleMeta entity is related to.
   *
   * @var string
   */
  public $path = NULL;

  /**
   * Saved in the SimpleMeta entity metadata.
   *
   * @var array
   */
  public $data = array();

  /**
   * Language code the SimpleMeta entity is related to.
   *
   * @var string
   */
  public $language = '';

  /**
   * A numeric representation of how specific the path is.
   *
   * @var int
   */
  public $fit = NULL;

  /**
   * {@inheritdoc}
   */
  public function defaultUri() {
    return array(
      'path' => 'admin/content/simplemeta/manage/' . $this->sid,
    );
  }

  /**
   * {@inheritdoc}
   *
   * @todo Build label in another way.
   */
  protected function defaultLabel() {
    return 'SimpleMeta' . (isset($this->sid) ? ' ' . $this->sid : '');
  }

  /**
   * {@inheritdoc}
   */
  public function buildContent($view_mode = 'full', $langcode = NULL) {
    $data = $this->data;
    $content = array();
    if ($view_mode == 'meta') {
      foreach ($data as $key => $value) {
        if ($key == 'title') {
          $content[$key] = array(
            '#markup' => check_plain($value),
          );
        }
        $content[$key]['#attached']['drupal_add_html_head'][] = array(
          array(
            '#theme' => 'html_tag',
            '#tag' => 'meta',
            '#attributes' => array(
              'name' => $key,
              'content' => $value,
            ),
          ),
          'simplemeta_' . $key,
        );
      }
    }
    else {
      foreach ($data as $key => $value) {
        $content[$key] = array(
          '#markup' => check_plain($value),
        );
      }
    }
    return entity_get_controller($this->entityType)
      ->buildContent($this, $view_mode, $langcode, $content);
  }

  /**
   * {@inheritdoc}
   */
  public function save() {
    $this->fit = _simplemeta_meta_calculate_fit($this->path);
    return parent::save();
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Entity::$defaultLabel protected property 1
Entity::$entityInfo protected property
Entity::$entityType protected property
Entity::$idKey protected property
Entity::$wrapper protected property
Entity::bundle public function Returns the bundle of the entity. Overrides EntityInterface::bundle
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::__construct public function 1
Entity::__sleep public function Magic method to only serialize what's necessary.
Entity::__wakeup public function Magic method to invoke setUp() on unserialization.
SimplemetaEntity::$data public property Saved in the SimpleMeta entity metadata.
SimplemetaEntity::$fit public property A numeric representation of how specific the path is.
SimplemetaEntity::$language public property Language code the SimpleMeta entity is related to.
SimplemetaEntity::$path public property The Drupal path the SimpleMeta entity is related to.
SimplemetaEntity::$sid public property Primary identifier of the SimpleMeta entity.
SimplemetaEntity::buildContent public function Builds a structured array representing the entity's content. Overrides Entity::buildContent
SimplemetaEntity::defaultLabel protected function @todo Build label in another way. Overrides Entity::defaultLabel
SimplemetaEntity::defaultUri public function Override this in order to implement a custom default URI and specify 'entity_class_uri' as 'uri callback' hook_entity_info(). Overrides Entity::defaultUri
SimplemetaEntity::save public function Permanently saves the entity. Overrides Entity::save