PluginProbe ʕ •ᴥ•ʔ
WP Chat App / trunk
WP Chat App vtrunk
3.8.1 3.8.2 trunk 2.6 3.4 3.4.1 3.4.2 3.4.4 3.4.5 3.4.6 3.5 3.6 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.6.9 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0
wp-whatsapp / vendor-prefixed / src / License / Contracts / LicenseConfigAdapter.php
wp-whatsapp / vendor-prefixed / src / License / Contracts Last commit date
LicenseConfigAdapter.php 4 months ago
LicenseConfigAdapter.php
53 lines
1 <?php
2
3 namespace WhatsappScoped\YayCommerce\AdminShell\License\Contracts;
4
5 use WhatsappScoped\YayCommerce\AdminShell\Contracts\PluginMenuAdapter;
6 /**
7 * Per-plugin configuration for the license subsystem.
8 * Extends PluginMenuAdapter — pro plugins implement this single interface.
9 *
10 * APPEND-ONLY — adding methods requires a MAJOR version bump per CONTRIBUTING.md.
11 * @internal
12 */
13 interface LicenseConfigAdapter extends PluginMenuAdapter
14 {
15 /**
16 * Plugin slug used as the wp_options key prefix.
17 *
18 * MUST be byte-exact wp_options prefix — changing this loses customer license keys.
19 * Quirks:
20 * - yay-wholesale-b2b-pro (hyphens are valid in option keys)
21 * - yay_currency (underscore between yay and currency, NOT yaycurrency)
22 * - yay_swatches (same underscore pattern)
23 *
24 * Option keys derived: {slug}_license_key, {slug}_license_info
25 */
26 public function get_plugin_slug() : string;
27 /**
28 * Human-readable display name for the license card,
29 * e.g. 'YayMail Pro – WooCommerce Email Customizer'.
30 */
31 public function get_plugin_name() : string;
32 /**
33 * Current plugin version string, e.g. '4.4'.
34 */
35 public function get_plugin_version() : string;
36 /**
37 * Absolute path to the main plugin file.
38 */
39 public function get_plugin_file() : string;
40 /**
41 * EDD download ID (numeric).
42 */
43 public function get_item_id() : int;
44 /**
45 * EDD store URL. Default: 'https://yaycommerce.com/'.
46 */
47 public function get_store_url() : string;
48 /**
49 * Product page URL used for "Buy a license" CTA.
50 */
51 public function get_store_link() : string;
52 }
53