HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-31-18-78 6.17.0-1017-aws #17~24.04.1-Ubuntu SMP Tue May 26 21:09:53 UTC 2026 aarch64
User: ubuntu (1000)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: /var/www/content-sp/work-sp/nqb_olympiad_master_moving.php
<?php

// ini_set('display_errors', 1);
// ini_set('display_startup_errors', 1);
// error_reporting(E_ALL);

include_once('nqb_master_section_oly.php');
include_once 'pagination.php';

$fileName = str_replace('.php', '', basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']));
//check master permissions
if (in_array($fileName, $pageArray)) {

$protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$root_link = $protocol . $_SERVER['HTTP_HOST'] . '/';
$pagination_link = 'nqb_olympiad_master_moving';
$curDate = date('Y-m-d H:i:s');
$flag = '1';

# tables use
$SP_EXAM_QUESTION_LINKAGE = 'shineoly_2022.wp_shine_sp_exam_question_linkage';
$TT_EXAM_CATEGORIES_TABLE = 'shineoly_2022.wp_shine_tt_exam_categories';
$SP_QUESTION = 'contentserver_202130.csp_sp_question';
$SP_QUESTION_MEDIUM_WISE = 'contentserver_202130.csp_sp_question_medium_wise';
$SP_MEDIUM = 'csp_sp_medium';
$SP_MASTER_CATEGORY = 'contentserver_202130.csp_sp_master_category';
$SP_MASTER_STRUCTURE = 'csp_sp_master_structure';

$mQuery = '';
$allMaster = $conn->query("select mc.master_id, mc.master_name from $SP_MASTER_CATEGORY as mc WHERE mc.master_name LIKE 'Olympiad%' and mc.source='OLY' $mQuery order by mc.master_id asc");


/**live config */
include_once '../cron/config.php';
$allExam = $live->query("SELECT e.exam_category_id, e.category_name,e.app_status from $TT_EXAM_CATEGORIES_TABLE as e Inner join shineoly_2022.wp_shine_tt_all_exams as ae on ae.exam_category_id=e.exam_category_id where ae.status='1' order by e.category_name asc");


# submit exam form
if (isset($_REQUEST['e_find_ques'])) {
    $e_oly_exam = $_REQUEST['e_oly_exam'];
    $e_oly_master = $_REQUEST['e_oly_master'];
    $e_oly_subject = $_REQUEST['e_oly_subject'];

    if ($e_oly_exam == 0 || $e_oly_master == 0 || $e_oly_subject == 0) {

        $msgResp = "<div class='alert alert-danger'>Error:Please select exam and master from dropdown</div>";
    } else {
        $_SESSION['e_oly_exam'] = $e_oly_exam;
        $_SESSION['e_oly_master'] = $e_oly_master;
        $_SESSION['e_oly_subject'] = $e_oly_subject;
    }
}

/***
 * move questions from exam to master
 */
if (isset($_REQUEST['e_move_ques'])) {

    $move_in_topic = $_REQUEST['move_in_topic'];
    $ques_ids = $_REQUEST['ques_id'];
    $explIds = explode("-", $move_in_topic);
    $e_sbtpc_master = $explIds[0];
    $e_sbtpc_subject = $explIds[1];
    $e_sbtpc_topic = $explIds[2];
    $e_sub_topic = $explIds[3];

    if ($move_in_topic != '') {

        if (!empty($ques_ids)) {

            $explIds = explode("-", $move_in_topic);
            $e_exam_id = $explIds[0];
            $e_sbtpc_master = $explIds[1];
            $e_sbtpc_subject = $explIds[2];
            $e_sbtpc_topic = $explIds[3];
            $e_sub_topic = $explIds[4];

            if ($e_exam_id != '' && $e_exam_id != '0' && $e_sbtpc_master != '' && $e_sbtpc_master != '0' && $e_sbtpc_subject != '' && $e_sbtpc_subject != '0' && $e_sbtpc_topic != '' && $e_sbtpc_topic != '0') {

                foreach ($ques_ids as $qid) {

                    if ($qid != '' && $qid != '0') {
                        // echo "<br><pre>" . $e_sbtpc_master . '-' . $e_sbtpc_subject . '-' . $e_sbtpc_topic . '-' . $e_sub_topic . '--' . $qid;
                        $insertPrimaryQ = "INSERT INTO $SP_QUESTION (`oly_id`, `old_question_id`, `master_id`, `subject_id`, `topic_id`, `sub_topic_id`, `sys_id`, `level_name`, `difficulty`, `medium_id`, `question_group`, `no_of_option`, `question_instruction`, `question_statement`, `option_1`, `option_2`, `option_3`, `option_4`, `option_5`, `correct_answer`, `question_hint`, `question_solution`, `active_solution`, `previous_exam_name`, `previous_exam_year`, `exam_shift`, `question_expiry`, `source_id`, `add_by`, `add_date`, `last_update_on`, `last_update_by`, `last_proofread_by`, `last_proofread_date`, `status`, `question_type`, `question_of`, `question_flag`, `exam_bound`, `e_id`, `e_sub_id`, `e_top_id`) SELECT `oly_id`, `old_question_id`, $e_sbtpc_master, $e_sbtpc_subject, $e_sbtpc_topic, '$e_sub_topic', `sys_id`, `level_name`, `difficulty`, `medium_id`, `question_group`, `no_of_option`, `question_instruction`, `question_statement`, `option_1`, `option_2`, `option_3`, `option_4`, `option_5`, `correct_answer`, `question_hint`, `question_solution`, `active_solution`, `previous_exam_name`, `previous_exam_year`, `exam_shift`, `question_expiry`, $qid, '$editor_id', '$curDate', '$curDate', $editor_id, `last_proofread_by`, `last_proofread_date`, `status`, `question_type`, `question_of`, '$flag', `exam_bound`, `e_id`, `e_sub_id`, `e_top_id` FROM $SP_QUESTION WHERE question_id='$qid'";
                        if ($conn->query($insertPrimaryQ)) {
                            $new_question_id = $conn->insert_id;
                            $insertSecQ = "INSERT INTO $SP_QUESTION_MEDIUM_WISE (`question_id`, `oly_id`, `medium_id`, `question_instruction`, `question_statement`, `option_1`, `option_2`, `option_3`, `option_4`, `option_5`, `question_hint`, `question_solution`, `active_solution`, `source_id`, `add_by`, `add_date`, `last_update_on`, `last_update_by`, `last_proofread_date`, `last_proofread_by`, `status`) SELECT $new_question_id, `oly_id`, `medium_id`, `question_instruction`, `question_statement`, `option_1`, `option_2`, `option_3`, `option_4`, `option_5`, `question_hint`, `question_solution`, `active_solution`, `source_id`, '$editor_id', '$curDate', '$curDate', $editor_id, `last_proofread_date`, `last_proofread_by`, `status` FROM $SP_QUESTION_MEDIUM_WISE WHERE question_id='$qid'";
                            $conn->query($insertSecQ);
                            $live->query("UPDATE $SP_EXAM_QUESTION_LINKAGE set question_id='$new_question_id' where question_id='$qid' and exam_type_id='$e_exam_id'");
                        }
                    }
                }
            } else {
                $msgResp = "<div class='alert alert-danger'>Error:something went wrong</div>";
            }
        } else {
            $msgResp = "<div class='alert alert-danger'>Error:Question not selected</div>";
        }
    } else {
        $msgResp = "<div class='alert alert-danger'>Error:Please select all dropdown</div>";
    }
}

$mType = 'oly';
include 'str_replace_type.php';

?>
<style>
    .table-hover th,
    td {
        font-size: 13px;
    }

    .modal-backdrop.in {
        opacity: 0.9 !important;
        z-index: 9 !important;
    }
</style>
<div class="row">
    <div class="col-md-12">
        <?php if (isset($msgResp)) echo $msgResp; ?>
    </div>
    <div class="col-md-12">
        <div class="panel panel-primary">
            <div class="panel-heading clearfix">
                <h4 class="panel-title">
                    Select Exam-Master
                </h4>
            </div>
            <div class="spacer"></div>
            <div class="panel-body">
                <form class="form-inline" method="post">
                    <div class="form-group">
                        <select name="e_oly_exam" class="form-control" required>
                            <option value="0">--Select olympiad Exam--</option>
                            <?php foreach ($allExam as $ms) {

                                if (isset($_SESSION['e_oly_exam']) && $_SESSION['e_oly_exam'] == $ms['exam_category_id']) {
                                    $isSelect = "selected";
                                } else {
                                    $isSelect = "";
                                }
                            ?>
                                <option value="<?php echo $ms['exam_category_id']; ?>" <?php echo $isSelect; ?>><?php echo $ms['category_name']; ?></option>
                            <?php } ?>
                        </select>
                    </div>
                    <div class="form-group">
                        <select name="e_oly_master" id="e_oly_master" class="form-control" required>
                            <option value="0">--Select Olympiad Master--</option>
                            <?php foreach ($allMaster as $am) {

                                if (isset($_SESSION['e_oly_master']) && $_SESSION['e_oly_master'] == $am['master_id']) {
                                    $isSelectM = "selected";
                                } else {
                                    $isSelectM = "";
                                }

                            ?>
                                <option value="<?php echo $am['master_id']; ?>" <?php echo $isSelectM; ?>><?php echo $am['master_name']; ?> </option>
                            <?php } ?>
                        </select>
                    </div>
                    <div class="form-group">
                        <select name="e_oly_subject" id="e_oly_subject" class="form-control" required>
                            <option value="0">--Select Olympiad Subject--</option>
                            <?php if (isset($_SESSION['e_oly_exam']) && isset($_SESSION['e_oly_master']) && isset($_SESSION['e_oly_subject'])) {
                                $findInmaster = $_SESSION['e_oly_master'];
                                $getFirstSubjects = $conn->query("SELECT sub_id,category_name FROM $SP_MASTER_STRUCTURE where master_id='$findInmaster' and parent_id='0'");

                                foreach ($getFirstSubjects as $fsb) {
                            ?>
                                    <option value="<?php echo $fsb['sub_id']; ?>" <?php if ($fsb['sub_id'] == $_SESSION['e_oly_subject']) echo "selected"; ?>><?php echo $fsb['category_name']; ?></option>
                            <?php }
                            } ?>
                        </select>
                    </div>
                    <input class="btn btn-info" type="submit" value="Select Master" name="e_find_ques" />
                </form>
            </div>
        </div>
    </div>
    <?php if (isset($_SESSION['e_oly_exam']) && isset($_SESSION['e_oly_master']) && isset($_SESSION['e_oly_subject'])) {

        $csc_exam_id = $_SESSION['e_oly_exam'];
        $csc_master_id = $_SESSION['e_oly_master'];
        $csc_subject_id = $_SESSION['e_oly_subject'];
        /***
         * get question from selectedexam which doesn't exist in selected master
         */

        # START pagination query
        $limit = 100;
        $pageNo = isset($_GET['pageN']) ? $_GET['pageN'] : 1;
        $indexN = ($pageNo - 1) * $limit;

        $countQuery = $live->query("SELECT count(q.question_id) as total FROM $SP_EXAM_QUESTION_LINKAGE as ql LEFT JOIN $SP_QUESTION as q on q.question_id=ql.question_id LEFT JOIN $SP_MASTER_CATEGORY as mc on mc.master_id=q.master_id WHERE ql.exam_type_id='$csc_exam_id' and ql.question_id NOT IN(SELECT question_id FROM $SP_QUESTION where q.master_id='$csc_master_id' and q.subject_id='$csc_subject_id') and mc.master_name NOT LIKE 'Olympiad%'");
        $cQuery = $countQuery->fetch_assoc();
        $count = $cQuery['total'];
        $noOfPages = ceil($count / $limit);
        # pagination query END

        $getQuestions = $live->query("SELECT q.question_id,q.question_statement,ms.category_name as subject,mss.category_name as topic,mc.master_name FROM $SP_EXAM_QUESTION_LINKAGE as ql LEFT JOIN $SP_QUESTION as q on q.question_id=ql.question_id LEFT JOIN $SP_MASTER_STRUCTURE as ms on ms.sub_id=q.subject_id LEFT JOIN $SP_MASTER_STRUCTURE as mss on mss.sub_id=q.topic_id LEFT JOIN $SP_MASTER_CATEGORY as mc on mc.master_id=q.master_id WHERE ql.exam_type_id='$csc_exam_id' and ql.question_id NOT IN(SELECT question_id FROM $SP_QUESTION where q.master_id='$csc_master_id' and q.subject_id='$csc_subject_id') and mc.master_name NOT LIKE 'Olympiad%' limit $indexN, $limit");
        echo $live->error;

    ?>
        <form method="post">
            <div class="col-md-8">
                <div class="panel panel-info">
                    <div class="panel-heading clearfix">
                        <h4 class="panel-title" style="width: 100%;">Question Statements</h4>
                    </div>
                    <div class="spacer"></div>
                    <div class="panel-body">
                        <div class="row">
                            <div class="col-md-12">
                                <input type="checkbox" id="checkAll" value="0">Select All
                                <div class="table-responsive">
                                    <table class="table table-hover tableFixHead" style="width:100%;">
                                        <thead>
                                            <tr>
                                                <th>#</th>
                                                <th>Master-Subject-topic</th>
                                                <th>Question Id</th>
                                                <th>Statement</th>
                                            </tr>
                                        </thead>
                                        <tbody>
                                            <?php
                                            $i = 1 + $indexN;
                                            foreach ($getQuestions as $q) {

                                                $question_id = $q['question_id'];
                                                $question = str_replace('../', $root_link, $q['question_statement']);
                                                $question = str_replace($spaceArray, $replaceSpaceArray, $question);
                                            ?>
                                                <tr>
                                                    <td><?php echo $i; ?></td>
                                                    <td><?php echo $q['master_name'] . '/' . $q['subject'] . '/' . $q['topic']; ?></td>
                                                    <td>
                                                        <p>
                                                            <input class="checkAll1" style="height:22px; width:22px; border:1px solid #FF0000;" type="checkbox" name="ques_id[]" value="<?php echo $question_id; ?>">
                                                            <a href="nqb_single_question_view?qId=<?php echo $question_id; ?>&secMed=2" target="_blank" rel="noopener noreferrer">
                                                            <?php echo $question_id; ?>
                                                            </a>
                                                        </p>
                                                    </td>
                                                    <td><?php echo $question; ?></td>
                                                </tr>
                                            <?php $i++;
                                            } ?>
                                        </tbody>
                                    </table>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="col-md-4">
                <div class="panel panel-info">
                    <div class="panel-heading clearfix">
                        <h4 class="panel-title" style="width: 100%;">Move in Master</h4>
                    </div>
                    <div class="spacer"></div>
                    <div class="panel-body">
                        <div class="row">
                            <div class="col-md-12">
                                <?php include_once('nqb_olympiad_master_treeview.php'); ?>
                            </div>
                            <button type="submit" class="btn btn-success" name="e_move_ques">Move</button>
                        </div>
                    </div>
                </div>
            </div>
        </form>
        <div class="col-md-12">
            <!-- <span class="badge badge-info">Total Data : <?php //echo $count; ?></span> -->
            <?php echo pagination($limit, $pageNo, $pagination_link . "?pageN=", $count); ?>
        </div>
    <?php } ?>
</div>
</div><!-- Main Wrapper -->
<div class="page-footer">
    <p class="no-s">Graposs Connect &#169;</p>
</div>
</div><!-- Page Inner -->
<script type="text/javascript">
    jQuery(document).ready(function() {
        jQuery('#e_sbtpc_master').on('change', function() {
            var mid = jQuery("#e_sbtpc_master").val();
            var loadUrl = "ajax_call/nqb_master_topics.php?eid=" + mid + "&type=master";
            var jqxhr = jQuery.get(loadUrl);
            jqxhr.success(function(data) {
                jQuery("#e_sbtpc_subject").html(data);
            });
        });

        jQuery('#e_oly_master').on('change', function() {
            var mid = jQuery("#e_oly_master").val();
            var loadUrl = "ajax_call/nqb_master_topics.php?eid=" + mid + "&type=master";
            var jqxhr = jQuery.get(loadUrl);
            jqxhr.success(function(data) {
                jQuery("#e_oly_subject").html(data);
            });
        });

        jQuery('#e_sbtpc_subject').on('change', function() {
            var subId = jQuery("#e_sbtpc_subject").val();
            var mid = jQuery("#e_sbtpc_master").val();
            var loadUrl = "ajax_call/nqb_master_topics.php?eid=" + subId + "&type=topic&m=" + mid;
            var jqxhr = jQuery.get(loadUrl);
            jqxhr.success(function(data) {
                jQuery("#e_sbtpc_topic").html(data);
            });
        });

        jQuery('#e_sbtpc_topic').on('change', function() {
            var subId = jQuery("#e_sbtpc_topic").val();
            var mid = jQuery("#e_sbtpc_master").val();
            var loadUrl = "ajax_call/nqb_master_topics.php?eid=" + subId + "&type=subtopic&m=" + mid;
            var jqxhr = jQuery.get(loadUrl);
            jqxhr.success(function(data) {
                jQuery("#e_sub_topic").html(data);
                var len = jQuery("#e_sub_topic option").length;
                //jQuery("#sub2pic").text(len);
                document.getElementById("sub2pic").innerHTML = "(" + len + ")";
                document.getElementById("sub2pic_count").value = len;
            });
        });
    });
    jQuery("#checkAll").change(function() {

        var check = this.value;
        if (check == 0) {
            jQuery(".checkAll1").prop('checked', jQuery(this).prop('checked'));
            jQuery(".checker").find('span').addClass('checked');
            jQuery("#checkAll").val(1);

        } else if (check == 1) {
            jQuery(".checkAll1").prop('checked', jQuery(this).prop('checked'));
            jQuery(".checker").find('span').removeClass('checked');
            jQuery("#checkAll").val(0);
        }
    });
</script>
<?php
} else {
    echo "<script>alert('You dont have access for this page');</script>";
    echo "<script type='text/javascript'>location.href='/work-sp';</script>";
}
include_once('footer.php');
?>