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