403Webshell
Server IP : 216.106.184.20  /  Your IP : 216.73.216.234
Web Server : LiteSpeed
System : Linux asmodeus.in-hell.com 5.14.0-570.58.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 29 06:24:11 EDT 2025 x86_64
User : sekoaid1 ( 1891)
PHP Version : 7.3.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/sekoaid1/public_html/wp-content/plugins/quiz-maker/includes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/sekoaid1/public_html/wp-content/plugins/quiz-maker/includes/class-quiz-maker-activator.php
<?php
global $ays_quiz_db_version;
$ays_quiz_db_version = '3.8.4';
/**
 * Fired during plugin activation
 *
 * @link       http://ays-pro.com/
 * @since      1.0.0
 *
 * @package    Quiz_Maker
 * @subpackage Quiz_Maker/includes
 */

/**
 * Fired during plugin activation.
 *
 * This class defines all code necessary to run during the plugin's activation.
 *
 * @since      1.0.0
 * @package    Quiz_Maker
 * @subpackage Quiz_Maker/includes
 * @author     AYS Pro LLC <info@ays-pro.com>
 */
class Quiz_Maker_Activator
{

    /**
     * Short Description. (use period)
     *
     * Long Description.
     *
     * @since    1.0.0
     */
    private static function activate()
    {
        require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
        global $wpdb;
        global $ays_quiz_db_version;
        $installed_ver = get_option("ays_quiz_db_version");
        $quiz_categories_table = $wpdb->prefix . 'aysquiz_quizcategories';
        $quizes_table = $wpdb->prefix . 'aysquiz_quizes';
        $questions_table = $wpdb->prefix . 'aysquiz_questions';
        $question_categories_table = $wpdb->prefix . 'aysquiz_categories';
        $answers_table = $wpdb->prefix . 'aysquiz_answers';
        $reports_table = $wpdb->prefix . 'aysquiz_reports';
        $rates_table = $wpdb->prefix . 'aysquiz_rates';
        $themes_table = $wpdb->prefix . 'aysquiz_themes';
        $settings_table = $wpdb->prefix . 'aysquiz_settings';
        $charset_collate = $wpdb->get_charset_collate();

        if ($installed_ver != $ays_quiz_db_version) {
            $sql = "CREATE TABLE `".$quiz_categories_table."` (
                `id` INT(16) UNSIGNED NOT NULL AUTO_INCREMENT,
                `title` VARCHAR(256) NOT NULL,
                `description` TEXT NOT NULL,
                `published` TINYINT(1) UNSIGNED NOT NULL,
                PRIMARY KEY (`id`)
            )$charset_collate;";
            dbDelta( $sql );

            $sql = "CREATE TABLE `".$quizes_table."` (
                `id` INT(16) UNSIGNED NOT NULL AUTO_INCREMENT,
                `title` VARCHAR(256) NOT NULL,
                `description` TEXT NOT NULL,
                `quiz_image` TEXT DEFAULT NULL,
                `quiz_category_id` INT(11) UNSIGNED NOT NULL,
                `question_ids` TEXT NOT NULL,
                `ordering` INT(16) NOT NULL,
                `published` TINYINT UNSIGNED NOT NULL,
                `options` TEXT NULL DEFAULT NULL,
                `intervals` TEXT NULL DEFAULT NULL,
                PRIMARY KEY (`id`)
            )$charset_collate;";
            dbDelta( $sql );

            $sql = "CREATE TABLE `".$questions_table."` (
                `id` INT(16) UNSIGNED NOT NULL AUTO_INCREMENT,
                `category_id` INT(16) UNSIGNED NOT NULL ,
                `question` TEXT NOT NULL,
                `question_title` TEXT NOT NULL,
                `question_image` TEXT NULL DEFAULT NULL,
                `wrong_answer_text` TEXT DEFAULT NULL,
                `right_answer_text` TEXT DEFAULT NULL,
                `question_hint` TEXT DEFAULT NULL,
                `explanation` TEXT DEFAULT NULL,
                `type` VARCHAR(256) NOT NULL,
                `published` TINYINT UNSIGNED NOT NULL,
                `create_date` DATETIME DEFAULT NULL,
                `not_influence_to_score` TEXT DEFAULT NULL,
                `weight` DOUBLE DEFAULT 1,
                `options` TEXT DEFAULT NULL,
                PRIMARY KEY (`id`)
            )$charset_collate;";
            dbDelta( $sql );

            $sql = "CREATE TABLE `".$question_categories_table."` (
                `id` INT(16) UNSIGNED NOT NULL AUTO_INCREMENT,
                `title` VARCHAR(256) NOT NULL,
                `description` TEXT NOT NULL,
                `published` TINYINT UNSIGNED NOT NULL,
                PRIMARY KEY (`id`)
            )$charset_collate;";
            dbDelta( $sql );

            $sql = "CREATE TABLE `".$answers_table."` (
                `id` INT(150) UNSIGNED NOT NULL AUTO_INCREMENT,
                `question_id` INT(11) UNSIGNED NOT NULL,
                `answer` TEXT NOT NULL,
                `image` TEXT NULL DEFAULT NULL,
                `correct` TINYINT(1) NOT NULL,
                `ordering` INT(11) NOT NULL,
                `weight` DOUBLE DEFAULT 0,
                `placeholder` TEXT DEFAULT NULL,
                PRIMARY KEY (`id`)
            )$charset_collate;";
            dbDelta( $sql );

            $sql = "CREATE TABLE `".$reports_table."` (
                `id` INT(11) NOT NULL AUTO_INCREMENT,
                `quiz_id` INT(11) NOT NULL,
                `user_id` INT(11) NOT NULL,
                `user_ip` VARCHAR(256) NOT NULL,
                `user_name` TEXT NULL DEFAULT NULL,
                `user_email` TEXT NULL DEFAULT NULL,
                `user_phone` TEXT NULL DEFAULT NULL,
                `start_date` DATETIME NOT NULL,
                `end_date` DATETIME NOT NULL,
                `duration` VARCHAR(256) DEFAULT NULL,
                `score` VARCHAR(256) NOT NULL,
                `options` TEXT NOT NULL,
                `read` tinyint(3) NOT NULL DEFAULT 0,
                PRIMARY KEY (`id`)
            )$charset_collate;";
            dbDelta( $sql );
            
            $sql = "CREATE TABLE `".$rates_table."` (
                `id` INT(11) NOT NULL AUTO_INCREMENT,
                `quiz_id` INT(11) NOT NULL,
                `user_id` INT(11) NOT NULL,
                `user_ip` VARCHAR(256) NOT NULL,
                `user_name` TEXT NULL DEFAULT NULL,
                `user_email` TEXT NULL DEFAULT NULL,
                `user_phone` TEXT NULL DEFAULT NULL,
                `rate_date` DATETIME NOT NULL,
                `score` VARCHAR(256) NOT NULL,
                `review` TEXT NOT NULL,
                `options` TEXT NOT NULL,
                PRIMARY KEY (`id`)
            )$charset_collate;";
            dbDelta( $sql );
            
            $sql = "CREATE TABLE `".$settings_table."` (
                `id` INT(11) NOT NULL AUTO_INCREMENT,
                `meta_key` TEXT NULL DEFAULT NULL,
                `meta_value` TEXT NULL DEFAULT NULL,
                `note` TEXT NULL DEFAULT NULL,
                `options` TEXT NULL DEFAULT NULL,
                PRIMARY KEY (`id`)
            )$charset_collate;";
            dbDelta( $sql );

            $sql = "CREATE TABLE `".$themes_table."` (
                `id` INT(11) NOT NULL AUTO_INCREMENT,
                `title` VARCHAR(255) NOT NULL,
                `border_radius` VARCHAR(255) NOT NULL,
                `show_result_presentage` INT(11) NOT NULL,
                `show_result_answers` INT(11) NOT NULL,
                `buttons_color` VARCHAR(255) NOT NULL,
                `buttons_bg_color` VARCHAR(255) NOT NULL,
                `buttons_hover_color` VARCHAR(255) NOT NULL,
                `buttons_hover_bg_color` VARCHAR(255) NOT NULL,
                `quiz_title_color` VARCHAR(255) NOT NULL,
                `quiz_description_color` VARCHAR(255) NOT NULL,
                `question_color` VARCHAR(255) NOT NULL,
                `question_bg_color` VARCHAR(255) NOT NULL,
                `question_answer_color` VARCHAR(255) NOT NULL,
                `question_answer_bg_color` VARCHAR(255) NOT NULL,
                `question_answer_hover_color` VARCHAR(255) NOT NULL,
                `question_answer_hover_bg_color` VARCHAR(255) NOT NULL,
                `question_correct_answer_bg_color` VARCHAR(255) NOT NULL,
                `question_incorrect_answer_bg_color` VARCHAR(255) NOT NULL,
                `pagination_bg_color` VARCHAR(255) NOT NULL,
                `pagination_color` VARCHAR(255) NOT NULL,
                PRIMARY KEY (`id`)
            )$charset_collate;";
            dbDelta( $sql );

            $sql = "SELECT * FROM INFORMATION_SCHEMA.STATISTICS 
                    WHERE TABLE_NAME = '".$quizes_table."'
                    AND INDEX_NAME = 'FK_quiz_category' 
                    AND INDEX_SCHEMA = '".DB_NAME."';";
            
            $quiz_cat_const = $wpdb->get_row($sql, ARRAY_A);
            
            $sql = "SELECT * FROM INFORMATION_SCHEMA.STATISTICS 
                    WHERE TABLE_NAME = '".$questions_table."'
                    AND INDEX_NAME = 'FK_question_category' 
                    AND INDEX_SCHEMA = '".DB_NAME."';";
            
            $ques_cat_const = $wpdb->get_row($sql, ARRAY_A);
            
            $sql = "SELECT * FROM INFORMATION_SCHEMA.STATISTICS 
                    WHERE TABLE_NAME = '".$answers_table."'
                    AND INDEX_NAME = 'FK_answer_question' 
                    AND INDEX_SCHEMA = '".DB_NAME."';";
            
            $answ_que_const = $wpdb->get_row($sql, ARRAY_A);

            if (! empty( $quiz_cat_const )) {
                $sql = "ALTER TABLE `{$quizes_table}`
                        DROP INDEX `FK_quiz_category`";
                $wpdb->query($sql);
            }

            if (! empty( $ques_cat_const )) {
                $sql = "ALTER TABLE `{$questions_table}`
                        DROP INDEX `FK_question_category`";
                $wpdb->query($sql);
            }

            if (! empty( $answ_que_const )) {
                $sql = "ALTER TABLE `{$answers_table}`
                        DROP INDEX `FK_answer_question`";
                $wpdb->query($sql);
            }

            update_option('ays_quiz_db_version', $ays_quiz_db_version);
            
            $quiz_categories = $wpdb->get_var("SELECT COUNT(*) FROM " . $quiz_categories_table . " WHERE `title`='Uncategorized'");
            if ($quiz_categories == 0) {
                $wpdb->insert($quiz_categories_table, array(
                    'title' => 'Uncategorized', 
                    'description' => '', 
                    'published' => 1
                ));
            }

            $question_categories = $wpdb->get_var("SELECT COUNT(*) FROM " . $question_categories_table . " WHERE `title`='Uncategorized'");
            if ($question_categories == 0) {
                $wpdb->insert($question_categories_table, array(
                    'title' => 'Uncategorized', 
                    'description' => '', 
                    'published' => 1
                ));
            }
            
            $themes = $wpdb->get_var("SELECT COUNT(*) FROM " . $themes_table . " WHERE `title` = 'Default'");

            if ($themes == 0) {
                $wpdb->insert($themes_table, array(
                    'title' => 'Default', 
                    'border_radius' => '4', 
                    'show_result_presentage' => 1, 
                    'show_result_answers' => 1, 
                    'buttons_color' => '#ffffff', 
                    'buttons_bg_color' => '#70b1f2', 
                    'buttons_hover_color' => '#ffffff', 
                    'buttons_hover_bg_color' => '#4797e7', 
                    'quiz_title_color' => '#000000', 
                    'quiz_description_color' => '#000000', 
                    'question_color' => '#ffffff', 
                    'question_bg_color' => '#70b1f2', 
                    'question_answer_color' => '#7a7575', 
                    'question_answer_bg_color' => '#efefef', 
                    'question_answer_hover_color' => '#7a7575', 
                    'question_answer_hover_bg_color' => '#d6d2c9', 
                    'question_correct_answer_bg_color' => '#4fed24', 
                    'question_incorrect_answer_bg_color' => '#ed3324', 
                    'pagination_bg_color' => '#efefef', 
                    'pagination_color' => '#70b1f2'
                ));
            }
            
            $questions = $wpdb->get_var("SELECT COUNT(*) FROM " . $questions_table);
            $quizes = $wpdb->get_var("SELECT COUNT(*) FROM " . $quizes_table);
            if ($questions == 0 && $quizes == 0) {
                $questions_arrays = array(
                    array(
                        array(
                            array('category_id' => 1, 'question' => '5*40', 'question_image' => '', 'type' => 'radio', 'published' => 1),
                            array('question_id' => 1, 'answer' => '300', 'correct' => 0, 'ordering' => 1),
                            array('question_id' => 1, 'answer' => '100', 'correct' => 0, 'ordering' => 2),
                            array('question_id' => 1, 'answer' => '200', 'correct' => 1, 'ordering' => 3),
                        ),
                        array(
                            array('category_id' => 1, 'question' => '10+20', 'question_image' => '', 'type' => 'radio', 'published' => 1),
                            array('question_id' => 1, 'answer' => '30', 'correct' => 1, 'ordering' => 1),
                            array('question_id' => 1, 'answer' => '40', 'correct' => 0, 'ordering' => 2),
                            array('question_id' => 1, 'answer' => '50', 'correct' => 0, 'ordering' => 3),
                        ),
                        array(
                            array('category_id' => 1, 'question' => '150/3', 'question_image' => '', 'type' => 'radio', 'published' => 1),
                            array('question_id' => 1, 'answer' => '60', 'correct' => 0, 'ordering' => 1),
                            array('question_id' => 1, 'answer' => '50', 'correct' => 1, 'ordering' => 2),
                            array('question_id' => 1, 'answer' => '100', 'correct' => 0, 'ordering' => 3),
                        ),

                    ),
                );

                $quizes_array = array(
                    array(
                        'title' => 'Mathematic Quiz',
                        'description' => 'Math quiz helps us to increase our knowledge',
                        'quiz_category_id' => 1,
                        'question_ids' => 2,
                        'ordering' => 1,
                        'published' => 1,
                        'options' => json_encode(array(
                            'color' => '#27AE60',
                            'bg_color' => '#fff',
                            'text_color' => '#000',
                            'height' => 350,
                            'width' => 400,
                            'timer' => 0,
                            'information_form' => 'disable',
                            'form_name' => 'off',
                            'form_email' => 'off',
                            'form_phone' => 'off',
                            'enable_logged_users' => 'off',
                            'image_width' => '',
                            'image_height' => '',
                            'enable_correction' => 'on',
                            'enable_questions_counter' => 'on',
                            'limit_users' => 'off',
                            'limitation_message' => '',
                            'redirect_url' => '',
                            'redirection_delay' => '',
                            'enable_progress_bar' => 'on',
                            'randomize_questions' => 'on',
                            'randomize_answers' => 'off',
                            'enable_questions_result' => 'on',
                            'custom_css' => '',
                            'enable_restriction_pass' => 'off',
                            'restriction_pass_message' => '',
                            'user_role' => '',
                            'result_text' => 'Thank you for passing this quiz',
                            'enable_result' => 'off',
                            'enable_timer' => 'off',
                            'enable_pass_count' => 'on',
                            'enable_quiz_rate' => 'on',
                            'enable_rate_avg' => 'on',
                            'enable_rate_comments' => 'on',
                            'hide_score' => 'off',
                            'rate_form_title' => 'Please rate this quiz',
                            'enable_box_shadow' => 'on',
                            'box_shadow_color' => '#000',
                            'quiz_border_radius' => '3',
                            'quiz_bg_image' => '',
                            'enable_border' => 'off',
                            'quiz_border_width' => '1',
                            'quiz_border_style' => 'solid',
                            'quiz_border_color' => '#000',
                            'quiz_timer_in_title' => 'off',
                            'enable_restart_button' => 'on',
                            'quiz_loader' => 'dual_ring',
                            'create_date' => current_time( 'mysql' ),
                            'author' => array(
                                'name' => "Unknown"
                            ),
                            'autofill_user_data' => 'off',
                            'quest_animation' => 'fade',
                            'form_title' => '',
                            'enable_bg_music' => 'off',
                            'quiz_bg_music' => '',
                            'answers_font_size' => '16',
                            'show_create_date' => 'on',
                            'show_author' => 'off',
                            'enable_early_finish' => 'on',
                            'enable_live_progress_bar' => 'on',
                            'enable_percent_view' => 'off',
                            'enable_average_statistical' => 'off',
                            'enable_next_button' => 'on',
                            'enable_previous_button' => 'off',
                            'enable_arrows' => 'off',
                            'timer_text' => '',
                            'quiz_theme' => 'classic_light',
                            'enable_social_buttons' => 'on',
                            'quiz_loader' => 'circle',
                        ))
                    )
                );

                foreach ($quizes_array as $key => $quiz) {
                    $questions_ids = '';
                    foreach ($questions_arrays[$key] as $question_array) {
                        $wpdb->insert($questions_table, $question_array[0]);
                        array_shift($question_array);
                        $question_id = $wpdb->insert_id;
                        $questions_ids.=$question_id.',';

                        foreach ($question_array as $answer) {
                            $answer['question_id'] = $question_id;
                            $wpdb->insert($answers_table, $answer);
                        }
                    }
                    $questions_ids = rtrim($questions_ids, ",");
                    ;
                    $quiz['question_ids'] = $questions_ids;
                    $wpdb->insert($quizes_table, $quiz);
                    unset($questions_ids_array);
                }
            }
        
            $metas = array(
                "buttons_texts",
                "fields_placeholders",
                "options"
            );
            
            foreach($metas as $meta_key){
                $meta_val = "";
                if($meta_key == "user_roles"){
                    $meta_val = json_encode(array('administrator'));
                }
                $sql = "SELECT COUNT(*) FROM `".$settings_table."` WHERE `meta_key` = '".$meta_key."'";
                $result = $wpdb->get_var($sql);
                if(intval($result) == 0){
                    $result = $wpdb->insert(
                        $settings_table,
                        array(
                            'meta_key'    => $meta_key,
                            'meta_value'  => $meta_val,
                            'note'        => "",
                            'options'     => ""
                        ),
                        array( '%s', '%s', '%s', '%s' )
                    );
                }
            }
        }
    }

    public static function ays_quiz_update_db_check()
    {
        global $ays_quiz_db_version;
        if (get_site_option('ays_quiz_db_version') != $ays_quiz_db_version) {
            self::activate();
        }
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit