Hunter Black Hat SEO
Server:LiteSpeed
System:Linux altar25.supremepanel25.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User:flexnetw (3555)
PHP:7.2.34
Disabled:NONE
Upload Files
File: /home/flexnetw/www/wp-content/plugins/magicform/includes/class-magicform-activator.php
<?php

/**
 * Fired during plugin activation.
 *
 * This class defines all code necessary to run during the plugin's activation.
 *
 * @package    MagicForm
 * @subpackage MagicForm/includes
 * @author     MagicLabs
 */
class MagicForm_Activator
{

	/**
	 * Short Description. (use period)
	 *
	 * Long Description.
	 *
	 * @since    1.0.0
	 */
	public static function activate()
	{
		if (get_option('magic_form')) {
			return;
		}
		$emailSystem = array(
			"selectedSystem" => "smtp"
		);
		add_option("magicform_email_system", json_encode($emailSystem));

		/**
		 * Create Database Tables
		 * There are two tables that we use.
		 * %prefix%_magicform_forms for forms
		 * %prefix%_magicform_submissions for submissions
		 */
		
		require_once(ABSPATH . '/wp-admin/includes/upgrade.php');
		
		global $wpdb;
		$charset_collate = $wpdb->get_charset_collate();
		$table_name = $wpdb->prefix . 'magicform_forms';
		$sql = "CREATE TABLE IF NOT EXISTS ".$table_name." (
            id int(11) NOT NULL AUTO_INCREMENT,
            form_name varchar(150) NOT NULL,
            create_date datetime NOT NULL,
            form_data mediumtext NULL,
            preview_form_data mediumtext NULL,
            short_code varchar(100) NOT NULL,
            status int(1) NOT NULL,
            views int(11) NOT NULL,
            owner_id mediumint(9) NOT NULL,
            PRIMARY KEY (id)
        ) $charset_collate;";
        dbDelta($sql);
        
        $fieldTypeSql = "SHOW FIELDS FROM ". $table_name ." WHERE Field ='form_data'";
        $result = $wpdb->get_results($fieldTypeSql)[0];
        if($result->Type != "mediumtext"){
            $sql = "ALTER TABLE ". $table_name ." MODIFY COLUMN 
            `preview_form_data` MEDIUMTEXT , MODIFY COLUMN `form_data` MEDIUMTEXT";
            $wpdb->get_results($sql);
        }

		$charset_collate = $wpdb->get_charset_collate();
        $submission_table_name = $wpdb->prefix . 'magicform_submissions';
        
		$sql = "CREATE TABLE IF NOT EXISTS ".$submission_table_name." (
            id mediumint(9) NOT NULL AUTO_INCREMENT,
            form_id mediumint(9) NOT NULL,
            create_date datetime NOT NULL,
            data text NOT NULL,
            ip varchar(50) NULL,
            user_agent varchar(255) NULL,
            os varchar(50) NULL,
            browser varchar(50) NULL,
            device varchar(50) NULL,
            user_id int(11) NULL,
            user_username varchar(50) NULL,
            user_email varchar(200) NULL,
            gdpr int(1) NULL,
            page_title varchar(500) NOT NULL,
            page_url varchar (500) NOT NULL,
            read_status int(1) NOT NULL,
            payment_status int(1) NULL,
            total_amount varchar(200) NULL,
            payment_error varchar(500) NULL, 
            PRIMARY KEY (id)
        ) $charset_collate;";
		dbDelta($sql);

        $fieldTypeSql = "SHOW FIELDS FROM ". $submission_table_name ." WHERE Field ='ip'";
        $result = $wpdb->get_results($fieldTypeSql)[0];
        if($result->Type != "varchar(50)"){
            $sql = "ALTER TABLE ". $submission_table_name ." MODIFY COLUMN 
            `ip` varchar(50)";
            $wpdb->get_results($sql);
        }

        $payment_fields = "SHOW FIELDS FROM ". $submission_table_name ."  LIKE 'id'";
        $result = $wpdb->get_results($payment_fields, ARRAY_A);
        if(count($result)>0){
            $payment_sql = "ALTER TABLE ". $submission_table_name ."
            ADD payment_status int(1) NULL,
            ADD total_amount varchar(200) NULL,
            ADD payment_error varchar(500) NULL";
            $wpdb->get_results($payment_sql);
        }

		$charset_collate = $wpdb->get_charset_collate();
		$notifications_table_name = $wpdb->prefix . 'magicform_notifications';
		$sql = "CREATE TABLE IF NOT EXISTS ".$notifications_table_name." (
            id mediumint(9) NOT NULL AUTO_INCREMENT,
            form_id mediumint(9) NOT NULL,
            create_date datetime NOT NULL,
            title varchar(255) NOT NULL,
            data text NOT NULL,
            read_status int(1) NOT NULL,
            PRIMARY KEY (id)
        ) $charset_collate;";
        dbDelta($sql);
        
        $charset_collate = $wpdb->get_charset_collate();
		$products_table_name = $wpdb->prefix . 'magicform_products';
		$sql = "CREATE TABLE IF NOT EXISTS ".$products_table_name." (
            id mediumint(9) NOT NULL AUTO_INCREMENT,
            product_name varchar(255) NOT NULL,
            product text NOT NULL,
            status int(1) NOT NULL,
            create_date datetime NOT NULL,
            PRIMARY KEY (id)
        ) $charset_collate;";
		dbDelta($sql);
	}
}