|
@@ -136,13 +136,9 @@ class Tags {
|
136
|
136
|
$ArtistName = "&artistname=" . urlencode($ArtistName) . "&action=advanced&searchsubmit=1";
|
137
|
137
|
}
|
138
|
138
|
foreach ($this->Tags as $Tag) {
|
139
|
|
- $Name = $Tag;
|
140
|
|
- $Class = "";
|
141
|
|
- $Split = explode(':', $Tag);
|
142
|
|
- if (count($Split) > 1 && in_array($Split[1], TAG_NAMESPACES)) {
|
143
|
|
- $Name = $Split[0];
|
144
|
|
- $Class = "tag_" . $Split[1];
|
145
|
|
- }
|
|
139
|
+ $Split = self::get_name_and_class($Tag);
|
|
140
|
+ $Name = $Split['name'];
|
|
141
|
+ $Class = $Split['class'];
|
146
|
142
|
if (empty($this->TagLink[$Tag])) {
|
147
|
143
|
$this->TagLink[$Tag] = '<a class="' . $Class . '" href="' . $Link . $Tag . $ArtistName . '">' . $Name . '</a>';
|
148
|
144
|
}
|
|
@@ -165,8 +161,12 @@ class Tags {
|
165
|
161
|
if (!empty($ArtistName)) {
|
166
|
162
|
$ArtistName = '&artistname=' . urlencode($ArtistName) . '&action=advanced&searchsubmit=1';
|
167
|
163
|
}
|
168
|
|
- foreach (array_slice(self::sorted(), 0, $Max) as $TagName => $Total) { ?>
|
169
|
|
- <li><a href="<?=$Link . display_str($TagName) . $ArtistName?>"><?=display_str($TagName)?></a> (<?=$Total?>)</li>
|
|
164
|
+ foreach (array_slice(self::sorted(), 0, $Max) as $Tag => $Total) {
|
|
165
|
+ $Split = self::get_name_and_class($Tag);
|
|
166
|
+ $Name = $Split['name'];
|
|
167
|
+ $Class = $Split['class'];
|
|
168
|
+ ?>
|
|
169
|
+ <li><a class="<?=$Class?>" href="<?=$Link . display_str($Name) . $ArtistName?>"><?=display_str($Name)?></a> (<?=$Total?>)</li>
|
170
|
170
|
<? }
|
171
|
171
|
}
|
172
|
172
|
|
|
@@ -278,4 +278,22 @@ class Tags {
|
278
|
278
|
|
279
|
279
|
return ['input' => $TagList, 'predicate' => implode(' ', $QueryParts)];
|
280
|
280
|
}
|
|
281
|
+
|
|
282
|
+ /**
|
|
283
|
+ * Breaks a tag down into name and namespace class
|
|
284
|
+ * @param string $Tag Tag of the form 'tag' or 'tag:namespace'
|
|
285
|
+ * @return array Array keys name and class
|
|
286
|
+ * name is the name of the tag without a namespace
|
|
287
|
+ * class is the HTML class that should be applied to the tag, empty string if the tag has no namespace
|
|
288
|
+ */
|
|
289
|
+ public static function get_name_and_class($Tag) {
|
|
290
|
+ $Name = $Tag;
|
|
291
|
+ $Class = "";
|
|
292
|
+ $Split = explode(':', $Tag);
|
|
293
|
+ if (count($Split) > 1 && in_array($Split[1], TAG_NAMESPACES)) {
|
|
294
|
+ $Name = $Split[0];
|
|
295
|
+ $Class = "tag_" . $Split[1];
|
|
296
|
+ }
|
|
297
|
+ return array("name" => display_str($Name), "class" => display_str($Class));
|
|
298
|
+ }
|
281
|
299
|
}
|