PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 3.4.1
Admin Columns v3.4.1
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 7 years ago Notice.php 7 years ago Plugin.php 7 years ago
Plugin.php
100 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 * @var string
12 */
13 protected $plugin_basename;
14
15 /**
16 * @var string
17 */
18 protected $icon;
19
20 /**
21 * @param string $message
22 * @param string $plugin_basename
23 */
24 public function __construct( $message, $plugin_basename ) {
25 parent::__construct( $message );
26
27 $this->plugin_basename = $plugin_basename;
28 $this->type = self::WARNING;
29 $this->icon = $this->get_icon_by_current_type();
30 }
31
32 public function register() {
33 add_action( 'after_plugin_row_' . $this->plugin_basename, array( $this, 'display' ), 11 );
34 }
35
36 public function render() {
37 switch ( $this->type ) {
38 case self::SUCCESS :
39 $class = 'updated-message notice-success';
40
41 break;
42 case self::INFO :
43 $class = self::WARNING;
44
45 break;
46 default:
47 $class = $this->type;
48 }
49
50 $status = is_plugin_active( $this->plugin_basename )
51 ? 'active'
52 : '';
53
54 $data = array(
55 'plugin_basename' => $this->plugin_basename,
56 'icon' => $this->icon,
57 'class' => $class,
58 'message' => $this->message,
59 'type' => $this->type,
60 'status' => $status,
61 );
62
63 $view = new View( $data );
64 $view->set_template( 'message/plugin' );
65
66 return $view->render();
67 }
68
69 /**
70 * @return string
71 */
72 protected function get_icon_by_current_type() {
73 $mapping = array(
74 self::SUCCESS => '\f147',
75 self::WARNING => '\f348',
76 self::ERROR => '\f534',
77 self::INFO => '\f463',
78 );
79
80 if ( ! isset( $mapping[ $this->type ] ) ) {
81 return false;
82 }
83
84 return $mapping[ $this->type ];
85 }
86
87 /**
88 * Set the icon of this notice
89 *
90 * @param string $icon
91 *
92 * @return $this
93 */
94 public function set_icon( $icon ) {
95 $this->icon = $icon;
96
97 return $this;
98 }
99
100 }