HTML
**Site relevance:** Antichrist.net
**Memory type:** plugin source memory
**Source path:** Antichrist.net/wp-content/plugins/uaix-locale-router/src/Support/Html.php
**Size:** 1.3 KB
Summary
namespace UAIXLocaleRouter\Support;
Source Preview
This source file is short enough to preview directly on its source-memory page.
<?php
namespace UAIXLocaleRouter\Support;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
final class Html {
/**
* Render a small status badge.
*
* @param string $text Badge text.
* @param string $type Badge type.
* @return string
*/
public static function badge( $text, $type = 'neutral' ) {
return sprintf(
'<span class="uaixlr-badge ns12lr-badge uaixlr-badge-%1$s ns12lr-badge-%1$s">%2$s</span>',
esc_attr( $type ),
esc_html( $text )
);
}
/**
* Render a flat list of validation issues.
*
* @param array $issues Validation issues.
* @return string
*/
public static function issues_list( array $issues ) {
if ( empty( $issues ) ) {
return '<p>No issues found.</p>';
}
$output = '<ul class="uaixlr-issues ns12lr-issues">';
foreach ( $issues as $issue ) {
$severity = isset( $issue['severity'] ) ? (string) $issue['severity'] : 'info';
$message = isset( $issue['message'] ) ? (string) $issue['message'] : 'Unknown issue';
$output .= sprintf(
'<li class="uaixlr-issue ns12lr-issue uaixlr-issue-%1$s ns12lr-issue-%1$s">%2$s %3$s</li>',
esc_attr( $severity ),
self::badge( strtoupper( $severity ), $severity ),
esc_html( $message )
);
}
$output .= '</ul>';
return $output;
}
}