PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.1.4
Admin Columns v7.1.4
7.1.4 7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Helper / Dashicon.php
codepress-admin-columns / classes / Helper Last commit date
Image 2 days ago Select 2 days ago Arrays.php 2 days ago AvailableTranslations.php 2 days ago Creatable.php 2 days ago Dashicon.php 2 days ago Date.php 2 days ago Html.php 2 days ago Icon.php 2 days ago Image.php 2 days ago LocalFile.php 2 days ago Mbstring.php 2 days ago MediaIdResolver.php 2 days ago Menu.php 2 days ago Network.php 2 days ago Post.php 2 days ago Strings.php 2 days ago Taxonomy.php 2 days ago User.php 2 days ago UserRoles.php 2 days ago WpDateFormat.php 2 days ago
Dashicon.php
97 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Helper;
6
7 final class Dashicon
8 {
9 private string $icon;
10
11 private ?string $class;
12
13 private ?string $title;
14
15 private ?string $tooltip;
16
17 public function __construct(
18 string $icon,
19 ?string $class = null,
20 ?string $title = null,
21 ?string $tooltip = null
22 ) {
23 $this->icon = $icon;
24 $this->class = $class;
25 $this->title = $title;
26 $this->tooltip = $tooltip;
27 }
28
29 public static function create(string $icon, ?string $class = null): self
30 {
31 return new self($icon, $class);
32 }
33
34 public static function yes(?string $tooltip = null, ?string $title = null, ?string $class = null): self
35 {
36 return new self('yes', $class ?? 'green', $title ?? __('Yes'), $tooltip);
37 }
38
39 public static function no(?string $tooltip = null, ?string $title = null, ?string $class = null): self
40 {
41 return new self('no-alt', $class ?? 'red', $title ?? __('No'), $tooltip);
42 }
43
44 public static function yes_or_no(bool $is_yes, ?string $tooltip = null): self
45 {
46 return $is_yes
47 ? self::yes($tooltip)
48 : self::no($tooltip);
49 }
50
51 public function with_class(string $class): self
52 {
53 return new self($this->icon, $class, $this->title, $this->tooltip);
54 }
55
56 public function with_title(string $title): self
57 {
58 return new self($this->icon, $this->class, $title, $this->tooltip);
59 }
60
61 public function with_tooltip(string $tooltip): self
62 {
63 return new self($this->icon, $this->class, $this->title, $tooltip);
64 }
65
66 public function render(): string
67 {
68 $class = 'dashicons dashicons-' . $this->icon;
69
70 if ($this->class) {
71 $class .= ' ' . trim($this->class);
72 }
73
74 $attributes = [];
75
76 if (null !== $this->title && '' !== $this->title) {
77 $attributes[] = sprintf('title="%s"', esc_attr($this->title));
78 }
79
80 if (null !== $this->tooltip && '' !== $this->tooltip) {
81 $attributes[] = Html::create()->get_tooltip_attr($this->tooltip);
82 }
83
84 return sprintf(
85 '<span class="%s" %s></span>',
86 esc_attr($class),
87 implode(' ', $attributes)
88 );
89 }
90
91 public function __toString(): string
92 {
93 return $this->render();
94 }
95
96 }
97