PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / 6.11.0
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping v6.11.0
6.12.1 6.12.0 6.11.0 6.10.0 6.9.1 6.9.0 6.8.1 6.8.0 6.7.4 6.7.3 6.7.2 6.7.0 4.21.7 4.22.0 4.22.1 4.23.0 4.23.1 4.23.2 4.23.3 4.24.0 4.24.1 4.24.10 4.24.11 4.24.12 4.24.13 4.24.14 4.24.15 4.24.16 4.24.17 4.24.18 4.24.19 4.24.2 4.24.4 4.24.6 4.24.7 4.24.8 4.24.9 4.25.0 4.25.1 4.25.2 4.25.4 4.25.5 4.25.6 4.25.7 4.25.8 4.3.0 4.3.1 4.4.0 4.4.1 4.5.0 4.5.1 4.6.0 4.6.1 4.7.0 4.7.1 4.7.2 4.8.0 4.8.1 4.8.3 4.8.4 4.8.5 4.9.0 5.0.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.0.9 5.1.0 5.1.1 5.1.2 5.1.3 5.2.0 5.3.0 5.3.1 5.3.3 5.3.4 5.3.5 6.0.0 6.1.0 6.1.1 6.1.2 6.2.0 6.2.1 6.2.2 6.2.3 6.2.4 6.3.0 trunk 6.4.0 1.4 6.4.1 1.4.1 6.4.2 1.5 6.4.3 1.6 6.4.5 1.6.1 6.5.0 1.6.2 6.5.1 1.7 6.5.2 1.8 6.5.3 1.9 6.5.4 1.9.1 6.5.5 1.9.10 6.5.6 1.9.11 6.5.7 1.9.12 6.5.8 1.9.2 6.6.0 1.9.3 6.6.1 1.9.4 6.6.2 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0 2.0.1 2.1 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.6 3.0.7 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.10.0 3.11.0 3.11.1 3.11.2 3.11.3 3.11.4 3.12.0 3.13.0 3.14.0 3.14.1 3.14.2 3.14.3 3.14.4 3.15.0 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.2.0 3.3.1 3.3.10 3.3.11 3.3.12 3.3.13 3.3.14 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4.0 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.8.0 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.15 3.9.16 3.9.17 3.9.18 3.9.19 3.9.2 3.9.20 3.9.21 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.9 4.0.0 4.0.1 4.0.10 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.11.0 4.11.1 4.11.2 4.11.3 4.11.4 4.11.5 4.11.6 4.11.7 4.11.8 4.11.9 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.14.0 4.14.1 4.14.2 4.15.0 4.16.0 4.16.1 4.16.2 4.17.0 4.18.0 4.18.1 4.18.2 4.18.3 4.18.4 4.18.5 4.18.6 4.19.0 4.19.1 4.2.0 4.20.0 4.20.1 4.20.2 4.20.3 4.21.0 4.21.1 4.21.2 4.21.3 4.21.4 4.21.5
flexible-shipping / vendor_prefixed / wpdesk / wp-builder / src / Plugin / AbstractPlugin.php
flexible-shipping / vendor_prefixed / wpdesk / wp-builder / src / Plugin Last commit date
WithoutNamespace 2 weeks ago AbstractPlugin.php 2 weeks ago Activateable.php 2 weeks ago ActivationAware.php 2 weeks ago ActivationTracker.php 2 weeks ago Conditional.php 2 weeks ago Deactivateable.php 2 weeks ago Hookable.php 2 weeks ago HookableCollection.php 2 weeks ago HookableParent.php 2 weeks ago HookablePluginDependant.php 2 weeks ago PluginAccess.php 2 weeks ago SlimPlugin.php 2 weeks ago TemplateLoad.php 2 weeks ago
AbstractPlugin.php
194 lines
1 <?php
2
3 namespace FSVendor\WPDesk\PluginBuilder\Plugin;
4
5 /**
6 * Base plugin with most basic functionalities used by every WPDesk plugin.
7 *
8 *
9 * Known issues:
10 *
11 * The class name is too generic but can't be changed as it would introduce a major incompatibility for most of the plugins.
12 * The $plugin_url, $docs_url and most other fields should be removed as they only litter the place but for compatibility reasons we can't do it right now.
13 * Hook methods should be moved to external classes but for compatibility reasons we can't do it right now.
14 */
15 abstract class AbstractPlugin extends SlimPlugin
16 {
17 /**
18 * Most info about plugin internals.
19 *
20 * @var \WPDesk_Plugin_Info
21 */
22 protected $plugin_info;
23 /**
24 * Unique string for this plugin in [a-z_]+ format.
25 *
26 * @var string
27 */
28 protected $plugin_namespace;
29 /**
30 * Absolute URL to the plugin dir.
31 *
32 * @var string
33 */
34 protected $plugin_url;
35 /**
36 * Absolute URL to the plugin docs.
37 *
38 * @var string
39 */
40 protected $docs_url;
41 /**
42 * Absolute URL to the plugin settings url.
43 *
44 * @var string
45 */
46 protected $settings_url;
47 /**
48 * Support URL.
49 *
50 * @var string
51 */
52 protected $support_url;
53 /**
54 * AbstractPlugin constructor.
55 *
56 * @param \WPDesk_Plugin_Info $plugin_info
57 */
58 public function __construct($plugin_info)
59 {
60 $this->plugin_info = $plugin_info;
61 $this->plugin_namespace = strtolower($plugin_info->get_plugin_dir());
62 $this->plugin_url = $this->plugin_info->get_plugin_url();
63 $this->init_base_variables();
64 }
65 /**
66 * Initialize internal state of the plugin.
67 *
68 * @return void
69 * @deprecated Just use __construct to initialize plugin internal state.
70 *
71 */
72 public function init_base_variables()
73 {
74 }
75 /**
76 * Initializes plugin external state.
77 *
78 * The plugin internal state is initialized in the constructor and the plugin should be internally consistent after creation.
79 * The external state includes hooks execution, communication with other plugins, integration with WC etc.
80 *
81 * @return void
82 */
83 public function init()
84 {
85 $this->hooks();
86 }
87 /**
88 * Returns absolute path to the plugin dir.
89 *
90 * @return string
91 */
92 public function get_plugin_file_path()
93 {
94 return $this->plugin_info->get_plugin_file_name();
95 }
96 /**
97 * Returns plugin text domain.
98 *
99 * @return string
100 */
101 public function get_text_domain()
102 {
103 return $this->plugin_info->get_text_domain();
104 }
105 /**
106 * Returns unique string for plugin in [a-z_]+ format. Can be used as plugin id in various places like plugin slug etc.
107 *
108 * @return string
109 */
110 public function get_namespace()
111 {
112 return $this->plugin_namespace;
113 }
114 /**
115 * Returns plugin absolute URL.
116 *
117 * @return string
118 */
119 public function get_plugin_url()
120 {
121 return esc_url(trailingslashit($this->plugin_url));
122 }
123 /**
124 * Returns plugin absolute URL to dir with front end assets.
125 *
126 * @return string
127 */
128 public function get_plugin_assets_url()
129 {
130 return esc_url(trailingslashit($this->get_plugin_url() . 'assets'));
131 }
132 /**
133 * @return $this
134 * @deprecated For backward compatibility.
135 *
136 */
137 public function get_plugin()
138 {
139 return $this;
140 }
141 /**
142 * Integrate with WordPress and with other plugins using action/filter system.
143 *
144 * @return void
145 */
146 protected function hooks()
147 {
148 add_action('admin_enqueue_scripts', [$this, 'admin_enqueue_scripts']);
149 add_action('wp_enqueue_scripts', [$this, 'wp_enqueue_scripts']);
150 add_filter('plugin_action_links_' . plugin_basename($this->get_plugin_file_path()), [$this, 'links_filter']);
151 }
152 /**
153 * Append JS scripts in the WordPress admin panel. This is a hook function. Do not execute directly.
154 *
155 * @return void
156 */
157 public function admin_enqueue_scripts()
158 {
159 }
160 /**
161 * Append JS scripts in WordPress. This is a hook function. Do not execute directly.
162 *
163 * @return void
164 */
165 public function wp_enqueue_scripts()
166 {
167 }
168 /**
169 * Initialize plugin admin links. This is a hook function. Do not execute directly.
170 *
171 * @param string[] $links
172 *
173 * @return string[]
174 */
175 public function links_filter($links)
176 {
177 $support_link = get_locale() === 'pl_PL' ? 'https://www.wpdesk.pl/support/' : 'https://www.wpdesk.net/support';
178 if ($this->support_url) {
179 $support_link = $this->support_url;
180 }
181 $plugin_links = ['<a target="_blank" href="' . $support_link . '">' . esc_html__('Support', 'flexible-shipping') . '</a>'];
182 $links = array_merge($plugin_links, $links);
183 if ($this->docs_url) {
184 $plugin_links = ['<a target="_blank" href="' . $this->docs_url . '">' . esc_html__('Docs', 'flexible-shipping') . '</a>'];
185 $links = array_merge($plugin_links, $links);
186 }
187 if ($this->settings_url) {
188 $plugin_links = ['<a href="' . $this->settings_url . '">' . esc_html__('Settings', 'flexible-shipping') . '</a>'];
189 $links = array_merge($plugin_links, $links);
190 }
191 return $links;
192 }
193 }
194