PluginProbe
The Innovative Form Builder – IvyForms / 1.1.1
The Innovative Form Builder – IvyForms v1.1.1
1.4 trunk 0.1.2 0.2 0.2.1 0.3 0.3.1 0.4 0.5 0.6 0.6.1 0.6.1-backup 0.6.1.1 0.7 0.8 0.8.1 0.8.2 0.9 0.9.1 1.0 1.1 1.1.1 1.2 1.3
ivyforms / ivyforms.php

ivyforms.php in The Innovative Form Builder – IvyForms 1.1.1, at ivyforms.php

98 lines 2.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 * Plugin Name: IvyForms - The innovative Contact Form Builder
4 * Plugin URI: https://ivyforms.com
5 * Description: Transform your WordPress site with IvyForms: a powerful, user-friendly plugin for creating and managing customizable forms effortlessly.
6 * Version: 1.1.1
7 * Requires PHP: 7.4
8 * Author: Melograno Ventures
9 * Author URI: https://melograno.io/
10 * License: GPLv2 or later
11 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
12 * Text Domain: ivyforms
13 * Domain Path: /languages
14 *
15 * IvyForms is free software: you can redistribute it and/or modify
16 * it under the terms of the GNU General Public License as published by
17 * the Free Software Foundation, either version 2 of the License, or
18 * any later version.
19 *
20 * IvyForms is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * You should have received a copy of the GNU General Public License
26 * along with IvyForms. If not, see {URI to Plugin License}.
27 */
28 namespace IvyForms;
29
30 use Exception;
31 use IvyForms\Infrastructure\WP\MCP\McpFeatureGate;
32 use IvyForms\Plugin\Plugin;
33 use WP\MCP\Core\McpAdapter;
34
35 if ( ! defined( 'ABSPATH' ) )
36 {
37 exit; // Exit if accessed directly.
38 }
39
40 if (!defined('IVYFORMS_PATH'))
41 {
42 define('IVYFORMS_PATH', __DIR__);
43 }
44
45 if (!defined('IVYFORMS_URL'))
46 {
47 define('IVYFORMS_URL', plugin_dir_url(__FILE__));
48 }
49
50 if (!defined('IVYFORMS_TEMPLATES_IMAGES_URL'))
51 {
52 define('IVYFORMS_TEMPLATES_IMAGES_URL', plugin_dir_url(__FILE__) . 'frontend/src/assets/images/templates/');
53 }
54
55 if (!defined('IVYFORMS_DEV'))
56 {
57 define('IVYFORMS_DEV', false);
58 }
59
60 // Const for plugin slug
61 if (!defined('IVYFORMS_PLUGIN_SLUG'))
62 {
63 define('IVYFORMS_PLUGIN_SLUG', plugin_basename(__FILE__));
64 }
65
66 if (!defined('IVYFORMS_FILE'))
67 {
68 define('IVYFORMS_FILE', __FILE__);
69 }
70 // Const for site URL
71 if (!defined('IVYFORMS_SITE_URL')) {
72 define('IVYFORMS_SITE_URL', get_site_url());
73 }
74
75 if (!defined('IVYFORMS_VERSION')) {
76 define('IVYFORMS_VERSION', '1.1.1');
77 }
78
79 if (!defined('IVYFORMS_MCP_MIN_WP_VERSION')) {
80 define('IVYFORMS_MCP_MIN_WP_VERSION', '6.9');
81 }
82
83
84 require_once IVYFORMS_PATH . '/backend/scope-vendor/autoload.php';
85 require_once IVYFORMS_PATH . '/backend/vendor/autoload.php';
86
87 if (class_exists(McpAdapter::class) && McpFeatureGate::isEnabled()) {
88 McpAdapter::instance();
89 add_action('mcp_adapter_init', array('\IvyForms\Infrastructure\WP\MCP\IvyFormsMcpServerRegistrar', 'init'));
90 add_action('wp_abilities_api_categories_init', array('\IvyForms\Infrastructure\WP\MCP\IvyFormsAbilitiesRegistrar', 'registerCategories'));
91 add_action('wp_abilities_api_init', array('\IvyForms\Infrastructure\WP\MCP\IvyFormsAbilitiesRegistrar', 'registerAbilities'));
92 }
93
94 try {
95 Plugin::getInstance();
96 } catch (Exception $e) {
97 echo 'ERROR: ' . esc_html($e->getMessage());
98 }