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 / Message / Plugin.php
codepress-admin-columns / classes / Message Last commit date
Notice 2 days ago AdminNotice.php 2 days ago Notice.php 2 days ago Plugin.php 2 days ago
Plugin.php
77 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Message;
6
7 use AC\Message;
8 use AC\View;
9
10 class Plugin extends Message
11 {
12 protected string $plugin_basename;
13
14 public function __construct(string $message, string $plugin_basename, ?string $type = null)
15 {
16 parent::__construct($message, $type ?? self::WARNING);
17
18 $this->plugin_basename = $plugin_basename;
19 }
20
21 public function register(): void
22 {
23 add_action('after_plugin_row_' . $this->plugin_basename, [$this, 'display'], 11);
24 }
25
26 public function render(): string
27 {
28 switch ($this->type) {
29 case self::SUCCESS :
30 $class = 'updated-message notice-success';
31
32 break;
33 case self::INFO :
34 $class = self::WARNING;
35
36 break;
37 default:
38 $class = $this->type;
39 }
40
41 $is_plugin_active = is_multisite() && is_network_admin()
42 ? is_plugin_active_for_network($this->plugin_basename)
43 : is_plugin_active($this->plugin_basename);
44
45 $status = $is_plugin_active
46 ? 'active'
47 : 'inactive';
48
49 $data = [
50 'plugin_basename' => $this->plugin_basename,
51 'icon' => $this->get_icon_by_current_type(),
52 'class' => $class,
53 'message' => $this->message,
54 'type' => $this->type,
55 'status' => $status,
56 ];
57
58 $view = new View($data);
59 $view->set_template('message/plugin');
60
61 return $view->render();
62 }
63
64 protected function get_icon_by_current_type(): string
65 {
66 $mapping = [
67 self::SUCCESS => '\f147', // yes
68 self::WARNING => '\f348', // info
69 self::ERROR => '\f534', // warning
70 self::INFO => '\f14c', // info outline
71 ];
72
73 return $mapping[$this->type] ?? '';
74 }
75
76 }
77