105 lines
4.0 KiB
PHP
105 lines
4.0 KiB
PHP
<?php
|
||
/**
|
||
* Plugin Name: WP Multi Formular
|
||
* Plugin URI: https://git.viper.ipv64.net/M_Viper/WP-Multi-Formular
|
||
* Description: Professioneller Formular-Builder – Drag & Drop, bedingte Logik, mehrstufige Formulare, Integrationen, DSGVO-konform.
|
||
* Version: 1.0.0
|
||
* Author: M_Viper
|
||
* Author URI: https://m-viper.de
|
||
* Tested up to: 6.8
|
||
* PHP Version: 7.4
|
||
* License: GPL2
|
||
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
||
* Text Domain: wp-multi-formular
|
||
* Tags: form builder, drag and drop, conditional logic, multi-step forms, integrations, GDPR compliant
|
||
* Support: [Discord Support](https://discord.com/invite/FdRs4BRd8D)
|
||
* Support: [Telegram Support](https://t.me/M_Viper04)
|
||
*/
|
||
|
||
if ( ! defined( 'ABSPATH' ) ) exit;
|
||
|
||
define( 'WMF_VERSION', '2.0.0' );
|
||
define( 'WMF_FILE', __FILE__ );
|
||
define( 'WMF_DIR', plugin_dir_path( __FILE__ ) );
|
||
define( 'WMF_URL', plugin_dir_url( __FILE__ ) );
|
||
define( 'WMF_INC', WMF_DIR . 'inc/' );
|
||
define( 'WMF_TPL', WMF_DIR . 'templates/' );
|
||
define( 'WMF_INT_DIR', WMF_DIR . 'integrations/' );
|
||
|
||
// Helpers
|
||
require_once WMF_INC . 'helpers/helper-functions.php';
|
||
|
||
// Kern
|
||
require_once WMF_INC . 'classes/class-post-type.php';
|
||
require_once WMF_INC . 'classes/class-field-registry.php';
|
||
require_once WMF_INC . 'classes/class-form-renderer.php';
|
||
require_once WMF_INC . 'classes/class-form-processor.php';
|
||
require_once WMF_INC . 'classes/class-submission.php';
|
||
require_once WMF_INC . 'classes/class-mailer.php';
|
||
require_once WMF_INC . 'classes/class-smtp.php';
|
||
require_once WMF_INC . 'classes/class-admin.php';
|
||
require_once WMF_INC . 'classes/class-builder.php';
|
||
require_once WMF_INC . 'classes/class-shortcode.php';
|
||
require_once WMF_INC . 'classes/class-submissions-list.php';
|
||
|
||
// Felder
|
||
require_once WMF_INC . 'fields/class-field-base.php';
|
||
require_once WMF_INC . 'fields/class-field-text.php';
|
||
require_once WMF_INC . 'fields/class-field-email.php';
|
||
require_once WMF_INC . 'fields/class-field-textarea.php';
|
||
require_once WMF_INC . 'fields/class-field-select.php';
|
||
require_once WMF_INC . 'fields/class-field-checkbox.php';
|
||
require_once WMF_INC . 'fields/class-field-radio.php';
|
||
require_once WMF_INC . 'fields/class-field-number.php';
|
||
require_once WMF_INC . 'fields/class-field-phone.php';
|
||
require_once WMF_INC . 'fields/class-field-url.php';
|
||
require_once WMF_INC . 'fields/class-field-date.php';
|
||
require_once WMF_INC . 'fields/class-field-file.php';
|
||
require_once WMF_INC . 'fields/class-field-hidden.php';
|
||
require_once WMF_INC . 'fields/class-field-html.php';
|
||
require_once WMF_INC . 'fields/class-field-divider.php';
|
||
require_once WMF_INC . 'fields/class-field-rating.php';
|
||
require_once WMF_INC . 'fields/class-field-gdpr.php';
|
||
require_once WMF_INC . 'fields/class-field-signature.php';
|
||
require_once WMF_INC . 'fields/class-field-range.php';
|
||
|
||
// Integrationen
|
||
require_once WMF_INT_DIR . 'classes/class-api-request.php';
|
||
require_once WMF_INT_DIR . 'classes/class-service.php';
|
||
require_once WMF_INT_DIR . 'classes/class-integrations.php';
|
||
require_once WMF_INT_DIR . 'classes/class-integrations-page-controller.php';
|
||
|
||
// Aktivierung
|
||
register_activation_hook( __FILE__, 'wmf_activate' );
|
||
register_deactivation_hook( __FILE__, 'wmf_deactivate' );
|
||
|
||
function wmf_activate() {
|
||
WMF_Post_Type::register();
|
||
flush_rewrite_rules();
|
||
wmf_create_submissions_table();
|
||
}
|
||
function wmf_deactivate() {
|
||
flush_rewrite_rules();
|
||
}
|
||
|
||
add_action( 'plugins_loaded', 'wmf_init' );
|
||
|
||
add_action('admin_notices', function(){
|
||
if(isset($_GET['wmf_notice']) && $_GET['wmf_notice'] === 'global_saved') {
|
||
echo '<div class="notice notice-success is-dismissible"><p>Globale E-Mail-Einstellungen gespeichert.</p></div>';
|
||
}
|
||
});
|
||
|
||
function wmf_init() {
|
||
load_plugin_textdomain( 'wp-multi-formular', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
|
||
WMF_Post_Type::instance();
|
||
WMF_Field_Registry::instance();
|
||
WMF_Admin::instance();
|
||
WMF_Builder::instance();
|
||
WMF_Shortcode::instance();
|
||
WMF_Form_Processor::instance();
|
||
WMF_SMTP::instance();
|
||
wmf_get_integrations()->hook();
|
||
wmf_get_integrations_page_controller();
|
||
}
|