PluginProbe ʕ •ᴥ•ʔ
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager / 4.1.41
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager v4.1.41
4.1.41 4.1.40 4.1.39 4.1.38 trunk 1.2 1.2.1 1.2.2 1.2.3 1.3 1.3.1 1.3.2 1.3.3 1.4 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.10 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.2 1.8.3 1.9.0 1.9.1 1.9.2 1.9.3 2.0.0 2.0.1 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.1.0 2.1.1 2.1.4 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.4.10 2.4.11 2.4.12 2.4.13 2.4.14 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.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.6.0 2.7.0 2.7.1 2.8.0 2.9.0 2.9.1 2.9.2 3.0.0 3.0.1 3.0.10 3.0.11 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.3.0 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.10 3.5.11 3.5.12 3.5.13 3.5.14 3.5.15 3.5.16 3.5.17 3.5.18 3.5.19 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.5.7 3.5.8 3.5.9 3.6.0 4.0.0 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.13 4.1.14 4.1.15 4.1.16 4.1.17 4.1.18 4.1.19 4.1.2 4.1.20 4.1.21 4.1.22 4.1.23 4.1.24 4.1.25 4.1.26 4.1.27 4.1.28 4.1.29 4.1.3 4.1.30 4.1.31 4.1.32 4.1.34 4.1.35 4.1.36 4.1.37 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9
flexible-checkout-fields / src / Plugin.php
flexible-checkout-fields / src Last commit date
Blocks 1 week ago Collections 1 week ago Exception 1 week ago Field 1 week ago Form 1 week ago Integration 1 week ago Marketing 1 week ago Notice 1 week ago Service 1 week ago Settings 1 week ago Tracker 1 week ago Validator 1 week ago Plugin.php 1 week ago
Plugin.php
112 lines
1 <?php
2
3 namespace WPDesk\FCF\Free;
4
5 use FcfVendor\WPDesk\PluginBuilder\Plugin\AbstractPlugin;
6 use FcfVendor\WPDesk\PluginBuilder\Plugin\HookableCollection;
7 use FcfVendor\WPDesk\PluginBuilder\Plugin\HookableParent;
8 use FcfVendor\WPDesk_Plugin_Info;
9 use WPDesk\FCF\Free\Blocks;
10 use WPDesk\FCF\Free\Field;
11 use WPDesk\FCF\Free\Integration;
12 use WPDesk\FCF\Free\Notice;
13 use WPDesk\FCF\Free\Service;
14 use WPDesk\FCF\Free\Settings;
15 use WPDesk\FCF\Free\Tracker;
16
17 /**
18 * Main plugin class. The most important flow decisions are made here.
19 */
20 class Plugin extends AbstractPlugin implements HookableCollection {
21
22 use HookableParent;
23
24 /**
25 * Scripts version.
26 *
27 * @var string
28 */
29 private $script_version = '1';
30
31 /**
32 * Instance of old version main class of plugin.
33 *
34 * @var \Flexible_Checkout_Fields_Plugin
35 */
36 private $plugin_old;
37
38 /**
39 * @var Service\TemplateLoader
40 */
41 private $template_loader;
42
43 /**
44 * Plugin constructor.
45 *
46 * @param WPDesk_Plugin_Info $plugin_info Plugin info.
47 * @param \Flexible_Checkout_Fields_Plugin $plugin_old Main plugin.
48 */
49 public function __construct( WPDesk_Plugin_Info $plugin_info, \Flexible_Checkout_Fields_Plugin $plugin_old ) {
50 parent::__construct( $plugin_info );
51
52 $this->plugin_url = $this->plugin_info->get_plugin_url();
53 $this->plugin_namespace = $this->plugin_info->get_text_domain();
54 $this->script_version = $plugin_info->get_version();
55 $this->plugin_old = $plugin_old;
56 $this->template_loader = new Service\TemplateLoader( $plugin_info->get_plugin_dir(), 'flexible-checkout-fields' );
57 }
58
59 /**
60 * Initializes plugin external state.
61 * The plugin internal state is initialized in the constructor and the plugin should be internally consistent after
62 * creation. The external state includes hooks execution, communication with other plugins, integration with WC
63 * etc.
64 *
65 * @return void
66 */
67 public function init() {
68 ( new \FcfVendor\WPDesk\Dashboard\DashboardWidget() )->hooks();
69
70 $this->add_hookable( new Service\ShortLinksGenerator() );
71
72 $this->add_hookable( new Notice\NoticeIntegration( new Notice\ReviewNotice( $this ) ) );
73 $this->add_hookable( new Notice\NoticeIntegration( new Notice\FlexibleWishlistReview( $this ) ) );
74 $this->add_hookable( new Notice\NoticeIntegration( new Notice\BlockCompatibility() ) );
75 $this->add_hookable( new Settings\Page() );
76 $this->add_hookable( new Blocks\Editor() );
77 $this->add_hookable( new Form\Assets( $this->plugin_info ) );
78 $this->add_hookable( new Form\FormModifier() );
79 $this->add_hookable( new Field\FieldTranslator() );
80 $this->add_hookable( new Field\FieldTemplateLoader( $this->template_loader ) );
81
82 $this->add_hookable( new Integration\IntegratorIntegration( $this->plugin_old ) );
83 $this->add_hookable( new Tracker\DeactivationTracker( $this->plugin_info ) );
84
85 $this->add_hookable( new Validator\FieldValidator() );
86 $this->add_hookable( new Validator\ValidationClassGenerator() );
87
88 ( new Field\Types() )->init();
89 ( new Settings\Forms() )->init();
90 ( new Settings\Routes() )->init();
91 ( new Settings\Tabs() )->init();
92 $this->add_hookable( new Settings\MigrationsManager( $this->plugin_info->get_version() ) );
93 $this->add_hookable( new Marketing\SupportPage( $this->template_loader ) );
94 }
95
96 /**
97 * {@inheritdoc}
98 */
99 public function hooks() {
100 $this->hooks_on_hookable_objects();
101 }
102
103 /**
104 * Get script version.
105 *
106 * @return string;
107 */
108 public function get_script_version() {
109 return $this->script_version;
110 }
111 }
112