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_proofread_exam_wise_oly.php
<?php
include_once('nqb_master_section_oly.php');
// error_reporting(0);
// error_reporting(E_ALL);
// ini_set('display_errors','On');

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

$adminId = $editor_id;
echo $curDate = date('Y-m-d H:i:s');

$SP_EXAM_QUESTION_LINKAGE = 'shineoly_2022.wp_shine_sp_exam_question_linkage';
$SP_MASTER_CATEGORY = 'csp_sp_master_category';
$SP_MASTER_STRUCTURE = 'csp_sp_master_structure';
$SP_MEDIUM = 'csp_sp_medium';
$SP_QUESTION = 'contentserver_202130.csp_sp_question';
$SP_QUESTION_MEDIUM_WISE = 'contentserver_202130.csp_sp_question_medium_wise';
$SP_EDITORS = 'csp_editors';
$SP_MASTER_PROOF_READ_ACCESS = 'csp_proofread_access';
$SP_TEAM_ACCESS = 'csp_team_user_access';

$getAssignee = $conn->query("SELECT editor_id, contact_name from $SP_EDITORS where team_id='3' and editor_status='1' order by contact_name asc");

/**live config */
include_once '../cron/config.php';
$allExam = $live->query("SELECT e.exam_category_id, e.category_name,e.app_status from shineoly_2022.wp_shine_tt_exam_categories 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");

$allMedium = $conn->query("SELECT medium_id, medium_name from $SP_MEDIUM order by medium_id");

/**submit form */
if (isset($_POST["submit"])) {
    $master = $_POST["examm"];
    $subject = $_POST["subject"];
    $topic = $_POST["topic"];
    $assignee = $_POST["assignee"];
    $medium = $_POST["medium"];
    $target_medium = $_POST["target_medium"];
    $qtyp_proof = $_POST["qtyp_proof"];
    $qtyp_nproof = @$_POST["qtyp_nproof"];
    $ttype = $_POST["ttype"];
    $limit_ques = $_POST['limit_ques'];
    if ($limit_ques == '') {
        $limit = '10';
    } else {
        $limit = $limit_ques;
    }
    if ($qtyp_proof != '' && $qtyp_nproof != '') {
        $showQuesType = $qtyp_proof . "," . $qtyp_nproof;
    } else if ($qtyp_proof != '' && $qtyp_nproof == '') {
        $showQuesType = $qtyp_proof;
    } else if ($qtyp_proof == '' && $qtyp_nproof != '') {
        $showQuesType = $qtyp_nproof;
    } else {
        $showQuesType = $qtyp_proof;
    }

    if ($ttype == '1') {
        $level_status = 1;
        # check secondary questions for translate or proofread
        $nullQuery = "and sqm.question_id IS NULL";
    } else {
        $level_status = 0;
        # check secondary questions for translate or proofread
        $nullQuery = "";
    }
    
    /**live query */
    include_once '../cron/config.php';
    $questionIds = $live->query("SELECT sq.question_id FROM $SP_EXAM_QUESTION_LINKAGE as e LEFT JOIN $SP_QUESTION as sq on sq.question_id=e.question_id Left join $SP_QUESTION_MEDIUM_WISE as sqm on sqm.question_id=sq.question_id and sqm.medium_id='$target_medium' where e.topic_id='$topic' and sq.medium_id='$medium' and sq.status IN($showQuesType) $nullQuery limit $limit");

    $ques_ids = array();
    foreach ($questionIds as $q_arr) {
        $ques_ids[] = $q_arr['question_id'];
    }

    $makeCommaQues =  implode(",", $ques_ids);

    if($makeCommaQues != '') {

    // $checkAccess = $conn->query("SELECT count(id) as total from $SP_MASTER_PROOF_READ_ACCESS where assign_to='$assignee' and status IN('0', '1')");
    // $cA = $checkAccess->fetch_assoc();
    $checkProofReader = $conn->query("SELECT count(id) as total from $SP_TEAM_ACCESS where editor_id='$assignee' and work_id='8'");
    $cpf = $checkProofReader->fetch_assoc();
    if ($cpf['total'] == 0) {
        $conn->query("INSERT into $SP_TEAM_ACCESS set editor_id='$assignee', team_id='3', work_id='8', status='1', added_date='$curDate'");
    }
    //23912
    // if ($cA['total'] < 21) {
        $insertQuery = "INSERT into $SP_MASTER_PROOF_READ_ACCESS set master_type='oly',master_id='$master', subject_id='$subject', topic_id='$topic', sub_topic_id='0', medium_id='$medium', target_medium='$target_medium', assign_type='exam', ques_type='$showQuesType', assign_to='$assignee', level_status='$level_status', status='1', assign_by='$adminId', assign_date='$curDate', questions='$makeCommaQues', limit_ques='$limit_ques'";
        if ($conn->query($insertQuery)) {
            $msg = '<font style="color:green;">Success: Assigned successfully</font>';
        } else {
            $msg = '<font style="color:red;">Error: Topic already assigned</font>';
        }
    // } else {
    //     $msg = '<font style="color:red;">Error: You can not assign more then 20 topic to a single user</font>';
    // }
    } else {
        $msg = '<font style="color:red;">Error: not have questions</font>';
    }
}


?>

<style>
    .form-group select {
        height: 34px;
    }

    .modal-backdrop {
        z-index: 999 !important;
    }

    .radio_ans {
        top: -2px;
        left: 11px;
        height: 15px !important;
        width: 25px !important;
        background-color: #eee !important;
        border-radius: 50%;
        position: relative !important;
        opacity: 1 !important;
    }

    select.form-control {
        width: 15em !important;
    }

    table.dataTable {
        font-size: 13px;
    }

    .delWork {
        color: red;
        font-size: 15px;
        cursor: pointer;
        margin-left: 4px;
    }

    .tddd {
        cursor: pointer;
    }
</style>
<link href="assets/plugins/select2/css/select2.min.css" rel="stylesheet">
<script src="assets/plugins/select2/js/select2.min.js"></script>
<script type="text/javascript">
	var jq = jQuery.noConflict();
	jq(document).ready(function() {
		jq('.editors-dropdown').select2();
	});
</script>
<script src="assets/plugins/jquery/jquery-2.1.3.min.js"></script>
<script src="assets/plugins/jquery-ui/jquery-ui.min.js"></script>
<script type="text/javascript">
    function validateFrm() {
        var masterL = document.getElementById("examm").length;
        var subjectL = document.getElementById("subject").length;
        var topicL = document.getElementById("topic").length;
        var masterN = document.assForm.examm.value;
        var subjectN = document.assForm.subject.value;
        var topicN = document.assForm.topic.value;
        var medium = document.assForm.medium.value;
        var assignee = document.assForm.assignee.value;

        if (masterN == 'E' && masterL > 1) {
            alert("Select Exam");
            document.assForm.examm.focus();
            return false;
        }
        if (subjectN == 'S' && subjectL > 1) {
            alert("Select Subject");
            document.assForm.subject.focus();
            return false;
        }
        if (topicN == 'T' && topicL > 1) {
            alert("Select Topic");
            document.assForm.topic.focus();
            return false;
        }
        if (medium == 'MD') {
            alert("Select Medium");
            document.assForm.medium.focus();
            return false;
        }
        if (assignee == 'AS') {
            alert("Select Assignee");
            document.assForm.assignee.focus();
            return false;
        }
        return true;
    }
</script>
<div class="row">
    <div class="col-md-6">
        <div class="panel panel-info">
            <div class="panel-heading clearfix">
                <h4 class="panel-title">Assign Topic To Proof Read
                <a href="new_<?php echo $fileName; ?>" target="_blank" rel="noopener noreferrer" style="margin: -8px 0px 0px 0px;" class="btn btn-danger btn-rounded">New Form for assign</a>
                </h4>
            </div>
            <form class="form-inline" name="assForm" method="post" onsubmit="return validateFrm();">
                <?php if (isset($msg)){ echo $msg; } ?>
                <table class="table table-hover">
                    <!-- <tr>
                        <td colspan="2">You can assign maximun 20 topic to a single user.</td>
                    </tr> -->
                    <tr>
                        <th>Select Exam</th>
                        <td>
                            <select name="examm" class="form-control" id="examm">
                                <option value="E">-Exam-</option>
                                <?php foreach ($allExam as $exm) { ?>
                                    <option value="<?php echo $exm['exam_category_id']; ?>"><?php echo $exm['category_name']; ?></option>
                                <?php } ?>
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <th>Select Subject</th>
                        <td>
                            <select name="subject" class="form-control" id="subject">
                                <option value="S">-Subject-</option>
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <th>Select Topic</th>
                        <td>
                            <select name="topic" class="form-control" id="topic">
                                <option value="T">-Topic-</option>
                            </select>
                        </td>
                    </tr>

                    <tr>
                        <th>Source Medium</th>
                        <td>
                            <select name="medium" class="form-control" id="medium">
                                <option value="MD">-Source Medium-</option>
                                <?php foreach ($allMedium as $md) { ?>
                                    <option value="<?php echo $md['medium_id']; ?>"><?php echo $md['medium_name']; ?></option>
                                <?php } ?>
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <th>Target Medium</th>
                        <td>
                            <select name="target_medium" class="form-control" id="target_medium">
                                <option value="MD">-Target Medium-</option>
                                <?php foreach ($allMedium as $md) { ?>
                                    <option value="<?php echo $md['medium_id']; ?>"><?php echo $md['medium_name']; ?></option>
                                <?php } ?>
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <td colspan="2" id="medium_text"></td>
                    </tr>
                    <tr>
                        <th>Show Ques Type</th>
                        <td>
                            <input type="checkbox" name="qtyp_proof" value="3,4">Proof Read
                            <input type="checkbox" name="qtyp_nproof" value="1,2">Non Proof Read
                        </td>
                    </tr>
                    <tr>
                        <th>Type</th>
                        <td>
                            <input type="radio" name="ttype" value="0">Proof Reader
                            <input type="radio" name="ttype" value="1">Translator
                        </td>
                    </tr>
                    <tr>
                        <th>Limit</th>
                        <td><input type="number" name="limit_ques" class="form-control"></td>
                    </tr>
                    <tr>
                        <th>Select Assignee</th>
                        <td>
                            <select name="assignee" class="form-control editors-dropdown" id="assignee">
                                <option value="AS">-Assignee-</option>
                                <?php foreach ($getAssignee as $ass) { ?>
                                    <option value="<?php echo $ass['editor_id']; ?>"><?php echo $ass['contact_name']; ?></option>
                                <?php } ?>
                            </select>
                        </td>
                    </tr>
                    <tr>
                        <td colspan="2">
                            <button type="submit" class="btn btn-info" name="submit">Submit</button>
                        </td>
                    </tr>
                </table>
            </form>
        </div>
    </div>
    <div class="page-footer">
    <p class="no-s">Graposs Connect &#169;</p>
</div>
</div>
<script type="text/javascript">
    jQuery.noConflict();
    jQuery(document).ready(function() {

        jQuery('#examm').on('change', function() {
            var exam_id = jQuery("#examm").val();
            var loadUrl = "ajax_call/nqb_cscoly_topics.php?exam_id=" + exam_id + "&type=S";
            var jqxhr = jQuery.get(loadUrl);
            jqxhr.success(function(data) {
                jQuery("#subject").html(data);
                jQuery("#medium_text").html('');
            });
        });
        jQuery('#subject').on('change', function() {
            var sub_id = jQuery("#subject").val();
            var loadUrl = "ajax_call/nqb_cscoly_topics.php?sub_id=" + sub_id + "&type=T";
            var jqxhr = jQuery.get(loadUrl);
            jqxhr.success(function(data) {
                jQuery("#topic").html(data);
                jQuery("#medium_text").html('');
            });
        });
        jQuery('#topic').on('change', function() {
            jQuery('#medium').prop('selectedIndex', 0);
            jQuery('#target_medium').prop('selectedIndex', 0);
            jQuery("#medium_text").html('');

        });
        jQuery('#medium').on('change', function() {
            var med_id = jQuery("#medium").val();
            var t_med_id = jQuery("#target_medium").val();
            if (med_id == t_med_id) {
                alert("source and target medium can not be same");
                jQuery("#target_medium").val('MD');
                jQuery("#medium").val('MD');
                jQuery("#medium_text").html('');
                return false;
            }
            jQuery("#medium_text").html('');
        });
        jQuery('#target_medium').on('change', function() {
            var med_id = jQuery("#medium").val();
            var t_med_id = jQuery("#target_medium").val();
            if (med_id == t_med_id) {
                alert("source and target medium can not be same");
                jQuery("#target_medium").val('MD');
                jQuery("#medium_text").html('');
                return false;
            } else {
                var exm_id = jQuery("#examm").val();
                var tpc_id = jQuery("#topic").val();
                if (tpc_id == 'T') {
                    alert("Please select topics.");
                } else {
                    var loadUrl = "ajax_call/nqb_oly_exam_wise_trns_prf_ques.php?med_id=" + med_id + "&t_med_id=" + t_med_id + "&exm_id=" + exm_id + "&tpc_id=" + tpc_id;
                    var jqxhr = jQuery.get(loadUrl);
                    jqxhr.success(function(data) {
                        jQuery("#medium_text").html(data);
                    });
                }
            }
        });
    });
</script>
<?php
} else {
    echo "<script type='text/javascript'>alert('You dont have access to assign');</script>";
    echo "<script type='text/javascript'>location.href='/work-sp';</script>";
}
include_once('footer.php');
?>