From ea60660c6d3962b69020643bb52fa0fa9d1295c0 Mon Sep 17 00:00:00 2001 From: Michael Date: Sat, 18 Apr 2020 21:01:43 +0000 Subject: [PATCH] Central function to fetch the type for a given hash --- src/Model/Tag.php | 38 +++++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/src/Model/Tag.php b/src/Model/Tag.php index b9e04ddd7a..f11286e6a3 100644 --- a/src/Model/Tag.php +++ b/src/Model/Tag.php @@ -127,15 +127,8 @@ class Tag */ public static function storeByHash(int $uriid, string $hash, string $name, string $url = '') { - if ($hash == self::TAG_CHARACTER[self::MENTION]) { - $type = self::MENTION; - } elseif ($hash == self::TAG_CHARACTER[self::EXCLUSIVE_MENTION]) { - $type = self::EXCLUSIVE_MENTION; - } elseif ($hash == self::TAG_CHARACTER[self::IMPLICIT_MENTION]) { - $type = self::IMPLICIT_MENTION; - } elseif ($hash == self::TAG_CHARACTER[self::HASHTAG]) { - $type = self::HASHTAG; - } else { + $type = self::getTypeForHash($hash); + if ($type == self::UNKNOWN) { return; } @@ -192,19 +185,34 @@ class Tag * @param string $url */ public static function removeByHash(int $uriid, string $hash, string $name, string $url = '') + { + $type = self::getTypeForHash($hash); + if ($type == self::UNKNOWN) { + return; + } + + self::remove($uriid, $type, $name, $url); + } + + /** + * Get the type for the given hash + * + * @param string $hash + * @return integer type + */ + private static function getTypeForHash(string $hash) { if ($hash == self::TAG_CHARACTER[self::MENTION]) { - $type = self::MENTION; + return self::MENTION; } elseif ($hash == self::TAG_CHARACTER[self::EXCLUSIVE_MENTION]) { - $type = self::EXCLUSIVE_MENTION; + return self::EXCLUSIVE_MENTION; } elseif ($hash == self::TAG_CHARACTER[self::IMPLICIT_MENTION]) { - $type = self::IMPLICIT_MENTION; + return self::IMPLICIT_MENTION; } elseif ($hash == self::TAG_CHARACTER[self::HASHTAG]) { - $type = self::HASHTAG; + return self::HASHTAG; } else { - return; + return self::UNKNOWN; } - self::remove($uriid, $type, $name, $url); } } -- 2.39.5