Files
formipay/formipay.php
dwindown 7f50b27df3 feat: add form builder AJAX handlers (F2.11)
- Create FormBuilderAjax class for React form builder
- Add formipay_save_form_fields AJAX action
- Add formipay_load_form_fields AJAX action
- Sanitize field data on save
- Update FormBuilder to load fields on mount
- Add save status feedback (saving, saved, error)
- Register FormBuilderAjax singleton in main plugin file
2026-04-18 11:41:10 +07:00

76 lines
2.3 KiB
PHP

<?php
/**
* Plugin Name: Formipay
* Description: -
* Version: 2.0.0
* Plugin URI: https://formipay.com/
* Author: Formipay
* Text Domain: formipay
* License: GPL-2.0+
* License URI: http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License v3.0
*
* Requires at least: 6.2
* Tested up to: 6.8.1
*
* Copyright: © 2023 Formipay.
* License: GNU General Public License v3.0
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
*/
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) exit;
define( 'FORMIPAY_NAME', 'Formipay' );
define( 'FORMIPAY_VERSION', '2.0.0' );
define( 'FORMIPAY_PATH', plugin_dir_path( __FILE__ ) );
define( 'FORMIPAY_URL', plugin_dir_url( __FILE__ ) );
define( 'FORMIPAY_MENU_SLUG', 'formipay' );
define( 'FORMIPAY_OPTION_KEY', 'formipay_settings' );
require_once FORMIPAY_PATH . 'admin/functions.php';
spl_autoload_register(function ($class) {
$prefix = 'Formipay\\';
$base_dir = __DIR__ . '/includes/';
// Check if the class uses the plugin's namespace
if (strpos($class, $prefix) !== 0) return;
// Remove namespace prefix
$relative_class = substr($class, strlen($prefix));
// Convert namespace to file path
$file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';
if (file_exists($file)) {
require_once $file;
}
});
\Formipay\Init::get_instance();
\Formipay\Admin\ReactAdmin::get_instance();
\Formipay\Admin\FormBuilderAjax::get_instance();
register_activation_hook( __FILE__, 'formipay_activate' );
function formipay_activate() {
// Instantiate singletons so rewrite rules get registered via init hooks
\Formipay\Thankyou::get_instance();
\Formipay\Integration\Paypal::get_instance();
\Formipay\Payment\BankTransfer::get_instance();
flush_rewrite_rules();
}
register_deactivation_hook( __FILE__, 'formipay_deactivate' );
function formipay_deactivate() {
flush_rewrite_rules();
}
// function formipay_add_defer_attribute($tag, $handle) {
// if ( 'product-details' === $handle ) {
// // Add defer attribute
// return str_replace( '<script ', '<script defer ', $tag );
// }
// return $tag;
// }
// add_filter( 'script_loader_tag', 'formipay_add_defer_attribute', 10, 2 );