X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fmodules%2Fcontrib%2Fsearch_api_synonym%2Fsrc%2FEntity%2FSynonym.php;fp=web%2Fmodules%2Fcontrib%2Fsearch_api_synonym%2Fsrc%2FEntity%2FSynonym.php;h=df9e2ce72c2d7f447c66748bca27c8d7ac7b2556;hp=0000000000000000000000000000000000000000;hb=4e1bfbf98b844da83b18aca92ef00f11a4735806;hpb=f3baf763d342a5f82576890e2a8111a5aaf139dc diff --git a/web/modules/contrib/search_api_synonym/src/Entity/Synonym.php b/web/modules/contrib/search_api_synonym/src/Entity/Synonym.php new file mode 100644 index 000000000..df9e2ce72 --- /dev/null +++ b/web/modules/contrib/search_api_synonym/src/Entity/Synonym.php @@ -0,0 +1,320 @@ + \Drupal::currentUser()->id(), + ]; + } + + /** + * {@inheritdoc} + */ + public function getType() { + return $this->get('type')->value; + } + + /** + * {@inheritdoc} + */ + public function setType($type) { + $this->set('type', $type); + return $this; + } + + /** + * {@inheritdoc} + */ + public function getWord() { + return $this->get('word')->value; + } + + /** + * {@inheritdoc} + */ + public function setWord($word) { + $this->set('word', $word); + return $this; + } + + /** + * {@inheritdoc} + */ + public function getSynonyms() { + return $this->get('synonyms')->value; + } + + /** + * {@inheritdoc} + */ + public function getSynonymsFormatted() { + $synonyms = $this->get('synonyms')->value; + $synonyms = str_replace(',', ', ', $synonyms); + return trim($synonyms); + } + + /** + * {@inheritdoc} + */ + public function setSynonyms($synonyms) { + $this->set('synonyms', $synonyms); + return $this; + } + + /** + * {@inheritdoc} + */ + public function getCreatedTime() { + return $this->get('created')->value; + } + + /** + * {@inheritdoc} + */ + public function setCreatedTime($timestamp) { + $this->set('created', $timestamp); + return $this; + } + + /** + * {@inheritdoc} + */ + public function getOwner() { + return $this->get('uid')->entity; + } + + /** + * {@inheritdoc} + */ + public function getOwnerId() { + return $this->get('uid')->target_id; + } + + /** + * {@inheritdoc} + */ + public function setOwnerId($uid) { + $this->set('uid', $uid); + return $this; + } + + /** + * {@inheritdoc} + */ + public function setOwner(UserInterface $account) { + $this->set('uid', $account->id()); + return $this; + } + + /** + * {@inheritdoc} + */ + public function isActive() { + return (bool) $this->get('status'); + } + + /** + * {@inheritdoc} + */ + public function setActive($active) { + $this->set('status', $active ? SYNONYM_ACTIVE : SYNONYM_NOT_ACTIVE); + return $this; + } + + /** + * {@inheritdoc} + */ + public static function baseFieldDefinitions(EntityTypeInterface $entity_type) { + /** @var \Drupal\Core\Field\BaseFieldDefinition[] $fields */ + /** @var \Drupal\Core\Field\BaseFieldDefinition[] $fields */ + $fields = parent::baseFieldDefinitions($entity_type); + + $fields['sid'] = BaseFieldDefinition::create('integer') + ->setLabel(t('ID')) + ->setDescription(t('The ID of the Synonym entity.')) + ->setReadOnly(TRUE); + + $fields['uuid'] = BaseFieldDefinition::create('uuid') + ->setLabel(t('UUID')) + ->setDescription(t('The UUID of the Synonym entity.')) + ->setReadOnly(TRUE); + + $fields['uid'] = BaseFieldDefinition::create('entity_reference') + ->setLabel(t('Authored by')) + ->setDescription(t('The user ID of author of the Synonym entity.')) + ->setSettings([ + 'target_type' => 'user', + 'handler' => 'default', + 'required' => TRUE, + ]) + ->setDefaultValueCallback('Drupal\node\Entity\Node::getCurrentUserId') + ->setDisplayOptions('view', [ + 'label' => 'hidden', + 'type' => 'author', + 'weight' => 0, + ]) + ->setDisplayOptions('form', [ + 'type' => 'entity_reference_autocomplete', + 'weight' => 5, + 'settings' => [ + 'match_operator' => 'CONTAINS', + 'size' => '60', + 'autocomplete_type' => 'tags', + 'placeholder' => '', + ], + ]) + ->setDisplayConfigurable('form', TRUE) + ->setDisplayConfigurable('view', TRUE); + + $fields['type'] = BaseFieldDefinition::create('list_string') + ->setLabel(t('Type')) + ->setDescription(t('The type of synonym.')) + ->setSettings([ + 'max_length' => 50, + 'allowed_values' => array('synonym' => 'Synonym', 'spelling_error' => 'Spelling error'), + ]) + ->setRequired(TRUE) + ->setDefaultValue('') + ->setDisplayOptions('view', [ + 'label' => 'above', + 'type' => 'string', + 'weight' => -3, + ]) + ->setDisplayOptions('form', [ + 'type' => 'options_buttons', + 'weight' => -3, + ]) + ->setDisplayConfigurable('form', TRUE) + ->setDisplayConfigurable('view', TRUE); + + $fields['word'] = BaseFieldDefinition::create('string') + ->setLabel(t('Word')) + ->setDescription(t('The word we are defining synonyms for.')) + ->setSettings([ + 'max_length' => 128, + 'text_processing' => 0, + ]) + ->setRequired(TRUE) + ->setDefaultValue('') + ->setDisplayOptions('view', [ + 'label' => 'above', + 'type' => 'string', + 'weight' => -4, + ]) + ->setDisplayOptions('form', [ + 'type' => 'string_textfield', + 'weight' => -4, + ]) + ->setDisplayConfigurable('form', TRUE) + ->setDisplayConfigurable('view', TRUE); + + $fields['synonyms'] = BaseFieldDefinition::create('string') + ->setLabel(t('Synonyms')) + ->setDescription(t('The synonyms to the word. Separate multiple by comma.')) + ->setSettings([ + 'max_length' => 1024, + 'text_processing' => 0, + ]) + ->setRequired(TRUE) + ->setDefaultValue('') + ->setDisplayOptions('view', [ + 'label' => 'above', + 'type' => 'string', + 'weight' => -3, + ]) + ->setDisplayOptions('form', [ + 'type' => 'string_textfield', + 'weight' => -3, + ]) + ->setDisplayConfigurable('form', TRUE) + ->setDisplayConfigurable('view', TRUE); + + $fields['status'] = BaseFieldDefinition::create('boolean') + ->setLabel(t('Activate synonym')) + ->setDescription(t('Only active synonyms will be used.')) + ->setDefaultValue(TRUE) + ->setDisplayOptions('view', [ + 'label' => 'above', + 'type' => 'boolean', + 'weight' => -2, + ]) + ->setDisplayOptions('form', [ + 'type' => 'boolean_checkbox', + 'weight' => -2, + ]) + ->setDisplayConfigurable('form', TRUE) + ->setDisplayConfigurable('view', TRUE); + + $fields['langcode'] = BaseFieldDefinition::create('language') + ->setLabel(t('Language')) + ->setDescription(t('The language for the Synonym entity.')) + ->setDisplayOptions('form', [ + 'type' => 'language_select', + 'weight' => 10, + ]) + ->setDisplayConfigurable('form', TRUE); + + $fields['created'] = BaseFieldDefinition::create('created') + ->setLabel(t('Created')) + ->setDescription(t('The time that the entity was created.')); + + $fields['changed'] = BaseFieldDefinition::create('changed') + ->setLabel(t('Changed')) + ->setDescription(t('The time that the entity was last edited.')); + + return $fields; + } + +}