Version 1
[yaffs-website] / web / modules / contrib / pathauto / src / AliasCleanerInterface.php
diff --git a/web/modules/contrib/pathauto/src/AliasCleanerInterface.php b/web/modules/contrib/pathauto/src/AliasCleanerInterface.php
new file mode 100644 (file)
index 0000000..87cc27e
--- /dev/null
@@ -0,0 +1,103 @@
+<?php
+
+namespace Drupal\pathauto;
+
+/**
+ * @todo add class comment.
+ */
+interface AliasCleanerInterface {
+
+  /**
+   * Clean up an URL alias.
+   *
+   * Performs the following alterations:
+   * - Trim duplicate, leading, and trailing back-slashes.
+   * - Trim duplicate, leading, and trailing separators.
+   * - Shorten to a desired length and logical position based on word boundaries.
+   *
+   * @param string $alias
+   *   A string with the URL alias to clean up.
+   *
+   * @return string
+   *   The cleaned URL alias.
+   */
+  public function cleanAlias($alias);
+
+  /**
+   * Trims duplicate, leading, and trailing separators from a string.
+   *
+   * @param string $string
+   *   The string to clean path separators from.
+   * @param string $separator
+   *   The path separator to use when cleaning.
+   *
+   * @return string
+   *   The cleaned version of the string.
+   *
+   * @see pathauto_cleanstring()
+   * @see pathauto_clean_alias()
+   */
+  public function getCleanSeparators($string, $separator = NULL);
+
+  /**
+   * Clean up a string segment to be used in an URL alias.
+   *
+   * Performs the following possible alterations:
+   * - Remove all HTML tags.
+   * - Process the string through the transliteration module.
+   * - Replace or remove punctuation with the separator character.
+   * - Remove back-slashes.
+   * - Replace non-ascii and non-numeric characters with the separator.
+   * - Remove common words.
+   * - Replace whitespace with the separator character.
+   * - Trim duplicate, leading, and trailing separators.
+   * - Convert to lower-case.
+   * - Shorten to a desired length and logical position based on word boundaries.
+   *
+   * This function should *not* be called on URL alias or path strings
+   * because it is assumed that they are already clean.
+   *
+   * @param string $string
+   *   A string to clean.
+   * @param array $options
+   *   (optional) A keyed array of settings and flags to control the Pathauto
+   *   clean string replacement process. Supported options are:
+   *   - langcode: A language code to be used when translating strings.
+   *
+   * @return string
+   *   The cleaned string.
+   */
+  public function cleanString($string, array $options = array());
+
+  /**
+   * Return an array of arrays for punctuation values.
+   *
+   * Returns an array of arrays for punctuation values keyed by a name, including
+   * the value and a textual description.
+   * Can and should be expanded to include "all" non text punctuation values.
+   *
+   * @return array
+   *   An array of arrays for punctuation values keyed by a name, including the
+   *   value and a textual description.
+   */
+  public function getPunctuationCharacters();
+
+  /**
+   * Clean tokens so they are URL friendly.
+   *
+   * @param array $replacements
+   *   An array of token replacements
+   *   that need to be "cleaned" for use in the URL.
+   * @param array $data
+   *   An array of objects used to generate the replacements.
+   * @param array $options
+   *   An array of options used to generate the replacements.
+   */
+  public function cleanTokenValues(&$replacements, $data = array(), $options = array());
+
+  /**
+   * Resets internal caches.
+   */
+  public function resetCaches();
+
+}