Version 1
[yaffs-website] / web / modules / contrib / metatag / src / MetatagManagerInterface.php
diff --git a/web/modules/contrib/metatag/src/MetatagManagerInterface.php b/web/modules/contrib/metatag/src/MetatagManagerInterface.php
new file mode 100644 (file)
index 0000000..03aaa2f
--- /dev/null
@@ -0,0 +1,72 @@
+<?php
+
+namespace Drupal\metatag;
+
+use Drupal\Core\Entity\ContentEntityInterface;
+
+/**
+ * Class MetatagManager.
+ *
+ * @package Drupal\metatag
+ */
+interface MetatagManagerInterface {
+
+  /**
+   * Extracts all tags of a given entity.
+   *
+   * @param \Drupal\Core\Entity\ContentEntityInterface $entity
+   *   The content entity to extract metatags from.
+   *
+   * @return array
+   *   Array of metatags.
+   */
+  public function tagsFromEntity(ContentEntityInterface $entity);
+
+  /**
+   * Returns an array of group plugin information sorted by weight.
+   *
+   * @return array
+   *   Array of groups, sorted by weight.
+   */
+  public function sortedGroups();
+
+  /**
+   * Returns an array of tag plugin information sorted by group then weight.
+   *
+   * @return array
+   *   Array of tags, sorted by weight.
+   */
+  public function sortedTags();
+
+  /**
+   * Returns a weighted array of groups containing their weighted tags.
+   *
+   * @return array
+   *   Array of sorted tags, in groups.
+   */
+  public function sortedGroupsWithTags();
+
+  /**
+   * Builds the form element for a Metatag field.
+   *
+   * If a list of either groups or tags are passed in, those will be used to
+   * limit the groups/tags on the form. If nothing is passed in, all groups
+   * and tags will be used.
+   *
+   * @param array $values
+   *   Existing values.
+   * @param array $element
+   *   Existing element
+   * @param mixed $token_types
+   *   Token types to return in the tree.
+   * @param array $included_groups
+   *   Available group plugins.
+   * @param array $included_tags
+   *   Available tag plugins.
+   *
+   * @return array
+   *   Render array for metatag form.
+   */
+  public function form(array $values, array $element, array $token_types = [], array $included_groups = NULL, array $included_tags = NULL);
+
+}