<?php


class hr_databases
{

    function create_table()
    {
        $sql1 = "";
        global $wpdb;
        $table_name = $wpdb->prefix . 'hd_webapp_generator';
        $query = $wpdb->prepare('SHOW TABLES LIKE %s', $wpdb->esc_like($table_name));
        if (!$wpdb->get_var($query) == $table_name) {
            $sql1 = " CREATE TABLE $table_name (
              `id` int(11) NOT NULL AUTO_INCREMENT,
              `app_url` varchar(255) NOT NULL  ,
              `app_name` varchar(255) NOT NULL  ,
              `app_name_fa` varchar(255) NOT NULL  ,
              `app_version` varchar(255)  NULL  ,
              `app_package_name` varchar(255) NOT NULL  ,
              `app_num` varchar(255)  NULL  ,
              `splash_text` varchar(255)  NULL  ,
              `splash_color` varchar(255)  NULL  ,
              `splash_logo` varchar(255)  NULL  ,
              `splash_time` int(10)  NULL  ,
              `splash_text_color` varchar(255)  NULL  ,
              `loading_image` varchar(255)  NULL  ,
              `app_icon` varchar(255)  NULL  ,
              `enable_splash` int(1) NOT NULL  ,
              `status` int(1) NOT NULL  ,
              `user_id` int(255)  NULL  ,
              `enable_najva_push` int(1) NOT NULL  ,
              `najva_api_key` varchar(255)  NULL  ,
              `najva_website_id` varchar(255)  NULL  ,
              `file_name` varchar(255) NOT NULL  ,
              `sha256` varchar(255) NOT NULL  ,
              `firebase_file` varchar(255)  NULL  ,
              `enable_blank` int(1) NOT NULL  DEFAULT 0,
              `is_pull_refresh` int(1)  NOT NULL  DEFAULT 0 ,
              `enable_app_intro` varchar(255)  NULL  DEFAULT NULL ,
              `enable_mobile_tab` varchar(255)  NULL  DEFAULT NULL  ,
              `force_update_application` varchar(255)  NULL  DEFAULT NULL ,
              `has_force_update` int(1)  NOT NULL  DEFAULT 0 ,
              `exit_app` int(1)  NOT NULL  DEFAULT 0 ,
              `app_exit_type` int(1)  NOT NULL  DEFAULT 1 ,
              `status_bar_color` varchar(255)  NULL  DEFAULT NULL ,
              `custom_js` text  NULL  DEFAULT NULL ,
              `custom_css` text  NULL  DEFAULT NULL ,
              `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
                PRIMARY KEY (id)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; ";


        } else {
            $rowـuser_id = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'user_id'");
            if (empty($rowـuser_id)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `user_id` int(255) NULL ");
            }
            $enable_app_intro = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'enable_app_intro'");
            if (empty($enable_app_intro)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `enable_app_intro` varchar(255)  NULL  DEFAULT NULL ");
            }
            $force_update_application = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'force_update_application'");
            if (empty($force_update_application)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `force_update_application` varchar(255)  NULL  DEFAULT NULL ");
            }
            $exit_app = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'exit_app'");
            if (empty($exit_app)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `exit_app` int(0) DEFAULT 0 ");
            }
            $has_force_update = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'has_force_update'");
            if (empty($has_force_update)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `has_force_update` int(0) DEFAULT 0 ");
            }
            $enable_mobile_tab = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'enable_mobile_tab'");
            if (empty($enable_mobile_tab)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `enable_mobile_tab` varchar(255)  NULL  DEFAULT NULL ");
            }
            $rowـenable_najva_push = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'enable_najva_push'");
            if (empty($rowـenable_najva_push)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `enable_najva_push` int(1)  DEFAULT 0");
            }
            $rowـnajva_api_key = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'najva_api_key'");
            if (empty($rowـnajva_api_key)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `najva_api_key` varchar(255)  NULL ");
            }
            $rowـnajva_website_id = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'najva_website_id'");
            if (empty($rowـnajva_website_id)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `najva_website_id` varchar(255)  NULL ");
            }
            $rowـenable_blank = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'enable_blank' ");
            if (empty($rowـenable_blank)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `enable_blank` int(1) NOT NULL  DEFAULT 0 ");
            }

            $is_pull_refresh = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'is_pull_refresh'");
            if (empty($is_pull_refresh)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `is_pull_refresh` int(1)  NULL  DEFAULT 0  ");
            }

            $app_name_fa = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'app_name_fa'");
            if (empty($app_name_fa)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `app_name_fa` varchar(255)  NULL  ");
            }

            $firebase_file = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'firebase_file'");
            if (empty($firebase_file)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `firebase_file` varchar (255)   NULL  DEFAULT NULL  ");
            }


            $custom_js = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'custom_js'");
            if (empty($custom_js)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `custom_js` text NULL  DEFAULT NULL  ");
            }


            $custom_css = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'custom_css'");
            if (empty($custom_css)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `custom_css` text   NULL  DEFAULT NULL  ");
            }

            $SHA256 = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'sha256'");
            if (empty($SHA256)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `sha256` varchar(255)  NULL  ");
            }

            $status_bar_color = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'status_bar_color'");
            if (empty($status_bar_color)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `status_bar_color` varchar(255)  NULL DEFAULT NULL  ");
            }
            $app_exit_type = $wpdb->get_results("SHOW COLUMNS FROM `$table_name` LIKE 'app_exit_type'");
            if (empty($app_exit_type)) {
                $wpdb->query("ALTER TABLE `$table_name` ADD `app_exit_type` int(1)  NOT NULL  DEFAULT 1  ");
            }
        }
        require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
        dbDelta($sql1);

        $table_name = $wpdb->prefix . 'hd_webapp_tab_bar';
        $table_name1 = $wpdb->prefix . 'hd_webapp_intro';

        $wpdb->query("UPDATE {$table_name} SET `status` = 1");
        $wpdb->query("UPDATE {$table_name1} SET `status` = 1");

    }
    function create_intro()
    {
        $sql1 = "";
        global $wpdb;
        $table_name = $wpdb->prefix . 'hd_webapp_intro';
        $query = $wpdb->prepare('SHOW TABLES LIKE %s', $wpdb->esc_like($table_name));
        if (!$wpdb->get_var($query) == $table_name) {
            $sql1 = " CREATE TABLE $table_name (
              `id` int(11) NOT NULL AUTO_INCREMENT,
              `apps_bar` longtext NULL  ,
              `last_btn_txt` varchar(255) NOT NULL  ,
              `last_btn_txt_color` varchar(255) NOT NULL  ,
              `last_btn_color` varchar(255)  NULL  ,
              `status` int(1)  NOT NULL DEFAULT 1 NULL  ,
              `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
                PRIMARY KEY (id)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; ";


        }
        require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
        dbDelta($sql1);
    }
    function create_inistalled_app()
    {
        $sql1 = "";
        global $wpdb;
        $table_name = $wpdb->prefix . 'hd_webapp_installed';
        $query = $wpdb->prepare('SHOW TABLES LIKE %s', $wpdb->esc_like($table_name));
        if (!$wpdb->get_var($query) == $table_name) {
            $sql1 = " CREATE TABLE $table_name (
              `id` int NOT NULL AUTO_INCREMENT,
              `webapp_id` int NOT NULL,
              `application_id` varchar(255) NOT NULL,
              `phone_type` varchar(255) NOT NULL,
              `phone_model` varchar(255) NOT NULL,
              `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
              `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
              PRIMARY KEY (`id`),
              KEY `webapp_id` (`webapp_id`),
              CONSTRAINT `".$wpdb->prefix."hd_webapp_installed_ibfk_1` FOREIGN KEY (`webapp_id`) REFERENCES `".$wpdb->prefix."hd_webapp_generator` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; ";


        }
        require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
        dbDelta($sql1);
    }
    function create_tabs()
    {
        $sql1 = "";
        global $wpdb;
        $table_name = $wpdb->prefix . 'hd_webapp_tab_bar';
        $query = $wpdb->prepare('SHOW TABLES LIKE %s', $wpdb->esc_like($table_name));
        if (!$wpdb->get_var($query) == $table_name) {
            $sql1 = " CREATE TABLE $table_name (
              `id` int(11) NOT NULL AUTO_INCREMENT,
              `background_color` varchar(255) NOT NULL  ,
              `deactive_text_color` varchar(255) NOT NULL  ,
              `active_text_color` varchar(255) NOT NULL  ,
              `tabs` longtext  NULL  ,
              `status` int(1)  NOT NULL DEFAULT 1 NULL  ,
              `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
                PRIMARY KEY (id)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; ";


        }
        require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
        dbDelta($sql1);
    }


    function create_notification_table()
    {
        $sql1 = "";
        global $wpdb;
        $table_name = $wpdb->prefix . 'hd_webapp_generator_notification';
        $query = $wpdb->prepare('SHOW TABLES LIKE %s', $wpdb->esc_like($table_name));
        if (!$wpdb->get_var($query) == $table_name) {
            $sql1 = " CREATE TABLE $table_name (
              `id` int(11) NOT NULL AUTO_INCREMENT,
              `package` varchar(255) NOT NULL  ,
              `type` varchar(255) NOT NULL  ,
              `type_value` varchar(255) NOT NULL  ,
              `title` varchar(255)  NULL  ,
              `text` varchar(255) NOT NULL  ,
              `small_image` varchar(255)  NULL  ,
              `large_image` varchar(255)  NULL  ,
              `send_date_time` datetime  NULL  ,
             `user_id` int(255) NULL,
              `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
                PRIMARY KEY (id)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; ";


        }
        require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
        dbDelta($sql1);
    }

    function uninstall(){
        global $wpdb;
        $table_name = $wpdb->prefix . 'hd_webapp_tab_bar';
        $table_name1 = $wpdb->prefix . 'hd_webapp_intro';

        $wpdb->query("UPDATE {$table_name} SET `status` = 0");
        $wpdb->query("UPDATE {$table_name1} SET `status` = 0");

    }
}