PluginProbe ʕ •ᴥ•ʔ
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager / trunk
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager vtrunk
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 2 weeks ago Collections 2 weeks ago Exception 2 weeks ago Field 2 weeks ago Form 2 weeks ago Integration 2 weeks ago Marketing 2 weeks ago Notice 2 weeks ago Service 2 weeks ago Settings 2 weeks ago Tracker 2 weeks ago Validator 2 weeks ago Plugin.php 2 weeks 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