관리-도구
편집 파일: manage_assignment.php
<?php global $mysqli; global $dbpref; $assignment_ob=$this->load('assignment_control'); $install_url = get_option("install_url"); $send_url = $install_url."/index.php?page=cfcourse_all_course"; if( isset( $_GET['course_id'] ) ) { if( is_numeric( $_GET['assignment_id'] ) ) { $assign_id = $_GET['assignment_id']; } } if( isset( $assign_id ) ) { $assign_id=$mysqli->real_escape_string($assign_id); $course_id=$mysqli->real_escape_string($_GET['course_id']); $table =$dbpref."assignment"; $table2= $dbpref."content_options"; $returnOptions = $mysqli->query("SELECT * FROM `".$table."` WHERE `assign_id`=".$assign_id ); $returnOp = $mysqli->query("SELECT * FROM `".$table2."` WHERE `id`=".$assign_id ); $data = $returnOptions->fetch_assoc( ); $a_data = $returnOp->fetch_assoc( ); $cfcourse_assign_title = htmlspecialchars( stripslashes( $data['bi_title'] ) ); $cfcourse_assign_desc = htmlspecialchars( stripslashes( $data['bi_desc'])); $cfcourse_assign_duration= $data['bi_duration']; $cfcourse_assign_ins_vid = $data['inst_video_url']; $cfcourse_inst_res_url = $data['inst_resourses_url']; $cfcourse_assign_instruct = $data['inst_instructions']; $cfcourse_sol_vid_url = $data['solu_video_url']; $cfcourse_sol_res_url = $data['solu_down_resource']; $like_status = $a_data['like_status']; $comment_status = $a_data['comment_status']; $dres = $a_data['delay_result']; $comment_approve = $a_data['comment_approve']; $admin_check = $a_data['admin_check']; $dres_days = $a_data['delay_result_days']; $fupload = $a_data['file_upload']; $show_cert = $a_data['show_cert']; $r_c = json_decode($a_data['result_comments'],true); $restrict_extension = $a_data['restrict_file_extension']; $restrict_extension_types=trim($a_data['file_extensions']); $restrict_extension_types=str_replace('\r\n'," ",$restrict_extension_types); $restrict_extension_types=str_replace(' ',"",$restrict_extension_types); $restrict_extension_types=strtolower((str_replace(".","",$restrict_extension_types))); $filesize = $a_data['filesize']; $fid = $assign_id; $href= $install_url."?page=cfcourse_manage_course&cfcourse_id=".$course_id; } else { header("Location:".$send_url.""); } ?> <div class="container-fluid" id="cf-course-manage"> <div class="row page-titles mb-4"> <div class="col-md-5 align-self-center"> <h4 class="text-themecolor" id="commoncontainerid"><?= t('Assignment Settings'); ?></h4> </div> <div class="col-md-7 align-self-center text-right"> <div class="d-flex justify-content-end align-items-center"><?= t('Create, Edit, Manage Assignment'); ?></div> </div> </div> <div class="container-fluid"> <div class="row"> <div class="col-md-12 text-right"> <a class="btn btn-primary d-inline-block p-2 mb-2" href="<?php echo get_option('install_url'); ?>/index.php?page=cfcourse_popup_course&cfcourse_id=<?=$course_id; ?>"> <i class="fas fa-pencil-alt" ></i> <?= t('Edit Course') ?></a> </div> </div> </div> <div class="bg-white"> <div class="px-3 py-2"> </div> <div class="p-3"> <div class="row"> <div class="col-md-2"> <div href="javascript:void(0)" class="cf-course-virtical-tabs py-4"> <a href="javascript:void(0)" class="cf-course-verticle cf-course-vert-tabs-a-1 cf-course-as-basic-tabs cf-course-as-tabs-active" ><i class="fas fa-info-circle"></i> <?= t('Basic info'); ?></a> <a href="javascript:void(0)" class="cf-course-verticle cf-course-vert-tabs-a-2 cf-course-as-ques-tabs" ><i class='fas fa-question-circle'></i> <?= t('Questions'); ?></a> <a href="javascript:void(0)" class="cf-course-verticle cf-course-vert-tabs-a-3 cf-course-as-inst-tabs" ><i class="fas fa-sticky-note"></i> <?= t('Instructions'); ?></a> <a href="javascript:void(0)" class="cf-course-verticle cf-course-vert-tabs-a-4 cf-course-as-sol-tabs" ><i class="fas fa-clone"></i> <?= t('Solutions'); ?></a> <a href="javascript:void(0)" class="cf-course-verticle cf-course-vert-tabs-a-5 cf-course-as-set-tabs" ><i class="fa fa-cog" aria-hidden="true"></i> <?= t('Settings'); ?></a> </div> <div class="px-3"> <a class="btn btn-primary btn-sm" href="<?= $href; ?>"><?= t('Go Back'); ?></a> </div> </div> <div class="col-md-10 cf-course-assignment-half"> <div class="cf-course-basic-info cf-course-vert-1 cf-course-vertical-active cf-course-verticle-cont" id="cf-course-vert-1"> <form class="cfcourse_Add_Assignment" autocomplete="off"> <input type="hidden" name="cfcourse_assign_id" value="<?=$fid; ?>"> <input type="hidden" name="cfcourse_part" value="basic"> <div class=" p-3"> <div class="mb-3 py-1"> <label for="cfcourse_assign_title" class="text-primary cf-course-label-5"><?= t('Enter Assignment Title (Required)'); ?>* </label> <input type="text" name="cfcourse_assign_title" required id="cfcourse_assign_title" value="<?php echo ((isset($cfcourse_assign_title))? $cfcourse_assign_title:'') ?>" class="form-control" placeholder="<?= t('Enter Title'); ?>"> </div> <div class="mb-3 py-1"> <label for="cfcourse_assign_desc" class="text-primary cf-course-label-5"><?= t('Description'); ?> </label> <textarea name="cfcourse_assign_desc" id="cfcourse_assign_desc" class="form-control" placeholder="<?= t('Enter Description'); ?>"><?php echo ((isset($cfcourse_assign_desc))? $cfcourse_assign_desc:'') ?></textarea> </div> <div class="mb-3 py-1"> <label for="cfcourse_assign_duration" class="text-primary cf-course-label-5"><?= t('Duration (In Minutes)'); ?>* <span class="text-info" data-bs-toggle="tooltip" data-placement="top" title="<?= t('Enter -1 for an unlimited duration'); ?>"><i class="fas fa-question-circle"></i></span> </label> <input type="number" name="cfcourse_assign_duration" required="" id="cfcourse_assign_duration" value="<?php echo ((isset($cfcourse_assign_duration))? $cfcourse_assign_duration:'') ?>" class="form-control" placeholder="<?= t('Enter Assignment Duration'); ?>"> </div> <div class="mb-3 py-1"> <label for="end_cirtificate" class="text-primary cf-course-label-5"><?= t('Allow downloading the certificate of completion'); ?>*</label> <select name="end_cirtificate" id="end_cirtificate" class="form-control"> <option value="0" <?php if($show_cert==0){echo "selected";} ?>><?= t('No'); ?></option> <option value="1" <?php if($show_cert==1){echo "selected";} ?>><?= t('Yes'); ?></option> </select> </div> <button type="submit" class="btn theme-button cfcourse_assign_save"><?= t('Save Changes'); ?></button> </div> </form> </div> <div class="cf-course-as-ques cf-course-vert-2 cf-course-verticle-cont" id="cf-course-vert-2"> <div class="cf-course-chbtn p-0 m-0 mb-5 "> <div class="cf-course-asq-cont pb-3"> <div class="cf-course-ass-que-cont mb-2" id="cf-course-ass-que-cont"> <div class="mb-3 py-1 " id="cf-course-all-question"> <?php $assign_id=$fid; if(isset($assign_id)){ echo $assignment_ob->show_all_question($assign_id,false);}//end isset assign id .. ?> </div> </div> <div class="text-center mb-5"> <button class="btn border btn-primary btn-lg p-2 px-3 cf-course-add-as-question" data-type="assign" data-assign-id="<?=$assign_id; ?>"><?= t('Add Question'); ?></button> </div> </div> </div> </div> <div class="cf-course-as-inst cf-course-vert-3 cf-course-verticle-cont" id="cf-course-vert-3"> <form class="cfcourse_Add_Assignment" autocomplete="off"> <input type="hidden" name="cfcourse_assign_id" value="<?=$fid; ?>"> <input type="hidden" name="cfcourse_part" value="instruction"> <div class="p-3"> <div class="mb-3 py-1"> <label for="cfcourse_assign_instruct" class="text-primary cf-course-label-5"><?= t('Enter Assignment Instructions'); ?> </label> <textarea name="cfcourse_assign_instruct" id="cfcourse_assign_instruct" class="form-control"> <?php echo ((isset($cfcourse_assign_instruct))? $cfcourse_assign_instruct:''); ?></textarea> </div> <div class="mb-3 py-1"> <label for="cfcourse_assign_ins_vid" class="text-primary cf-course-label-5"><?= t('Enter Videos Of Instructions'); ?></label> <div class="input-group"> <input type="url" name="cfcourse_assign_ins_vid" id="cfcourse_assign_ins_vid" value="<?php echo ((isset($cfcourse_assign_ins_vid))? $cfcourse_assign_ins_vid:'') ?>" class="form-control" placeholder="<?= t('Enter Instructions Video URL Or Upload From Media'); ?>"> <div class="input-group-append"> <button type="button" onclick="letsOpenMedia('#cfcourse_assign_ins_vid', false)" class="btn btn-primary"><i class="fas fa-upload"></i> <?= t('Media'); ?></button> </div> </div> </div> <div class="mb-3 py-1"> <label for="cfcourse_inst_res_url" class="text-primary cf-course-label-5"><?= t('Enter Resources Of Instructions'); ?> </label> <div class="input-group"> <input type="url" name="cfcourse_inst_res_url" id="cfcourse_inst_res_url" value="<?php echo ((isset($cfcourse_inst_res_url))? $cfcourse_inst_res_url:'') ?>" class="form-control" placeholder="<?= t('Enter Instructions Related Resource URL Or Upload From Media'); ?>"> <div class="input-group-append"> <button type="button" onclick="letsOpenMedia('#cfcourse_inst_res_url', false)" class="btn btn-primary"><i class="fas fa-upload"></i> <?= t('Media'); ?></button> </div> </div> </div> <div class="py-2"> <button type="submit" class="btn theme-button cfcourse_assign_save"><?= t('Save Changes'); ?></button> </div> </div> </form> </div> <div class="cf-course-as-set cf-course-vert-5 cf-course-verticle-cont" id="cf-course-vert-5"> <form class="cfcourse_Add_Assignment" autocomplete="off"> <input type="hidden" name="cfcourse_assign_id" value="<?=$fid; ?>"> <input type="hidden" name="cfcourse_part" value="settings"> <div class="p-3"> <div class=" mb-3"> <div class="p-2 border cf-coruse-man-user"> <div class="row"> <div class="col-sm-12"> <div class="d-flex justify-content-start"> <p class="cf-course--disbale"> <input type="checkbox" id="switchac_<?= $fid; ?>" name="cf-show-comment" <?=( ($comment_status==1) ? "checked":"" ) ?> switch="none" /> <label for="switchac_<?= $fid; ?>" data-on-label="<?= t('ON');?>" data-off-label="<?= t('OFF');?>"></label> </p> <p class="pt-1 ps-2 text-primary" style="font-weight:500; font-size:16px !important"><?= t('Disable Comments'); ?></p> </div> </div> <div class="col-sm-12"> <div class="d-flex justify-content-start"> <p class="cf-course--disbale"> <input type="checkbox" id="switchal_<?= $fid; ?>" name="cf-show-like" <?=( ($like_status==1) ? "checked":"" ); ?> switch="none" /> <label for="switchal_<?= $fid; ?>" data-on-label="<?= t('ON');?>" data-off-label="<?= t('OFF');?>"></label> </p> <p class="pt-1 ps-2 text-primary" style="font-weight:500; font-size:16px !important"><?= t('Disable Likes');?></p> </div> </div> <div class="col-sm-12"> <div class="d-flex justify-content-start"> <p class="cf-course--disbale"> <input type="checkbox" id="switchaac_<?= $fid; ?>" name="cf-comment-approve" <?=( ($comment_approve==1) ? "checked":"" ); ?> switch="none" /> <label for="switchaac_<?= $fid; ?>" data-on-label="<?= t('ON');?>" data-off-label="<?= t('OFF');?>"></label> </p> <p class="pt-1 ps-2 text-primary" style="font-weight:500; font-size:16px !important"><?= t('Show Comments After Approval');?></p> </div> </div> <div class="col-sm-12"> <div class="cf-course--a-delay_on"> <div class="row"> <div class="col-md-12"> <div class="justify-content-start d-flex"> <p class="cf-course--disbale pt-1"> <input type="checkbox" class="cf-course-a-delay_result" id="switchad_<?= $fid; ?>" <?= (($dres==1) ? "checked":"" ); ?> name="a_delay_result" switch="none" /> <label for="switchad_<?= $fid; ?>" data-on-label="<?= t('ON');?>" data-off-label="<?= t('OFF');?>"></label> </p> <p class="pt-1 ps-2 text-primary" style="font-weight:500; font-size:16px !important"><?= t('Do You Want To Delay The Assignment Result?');?></p> </div> </div> <div class="col-md-12"> <div class="pb-1 ps-3 cf-course--a-delay_days cf-course--delay_days" style="display:<?=(($dres==1) ? "block":"none") ?>"> <div class="input-group "> <input type="number" min="0" max="365" placeholder="<?= t('Enter Delay Result Days') ?>" class="form-control" value="<?= (($dres_days==0) ? "":$dres_days ); ?>" name="a_result_days" /> <div class="input-group-append"> <span class="input-group-text"><?= t('Days'); ?></span> </div> </div> </div> </div> </div> </div> </div> <div class="col-sm-12"> <div class="cf-course--a-delay_on "> <div class="row"> <div class="col-md-12"> <div class="d-flex justify-content-start"> <p class="cf-course--disbale pt-1"> <input type="checkbox" class="cf-course-a-file-upload" id="switchaf_<?= $fid; ?>" <?= (($fupload==1) ? "checked":"" ); ?> name="a_file_upload" switch="none" /> <label for="switchaf_<?= $fid; ?>" data-on-label="<?= t('ON');?>" data-off-label="<?= t('OFF');?>"></label> </p> <p class="pt-1 ps-2 text-primary" style="font-weight:500; font-size:16px !important"><?= t('Allow File Upload') ?></p> </div> </div> <div class="col-md-12 "> <div class="pb-1 ps-3 text-primary cf-course--a-delay_days cf-course--delay_days cf-course-a-file-upload_input" style="display:<?=( ( $fupload == 1 ) ? "block":"none" ); ?>"> <label style="font-weight:500;font-size: 14px;"><?= t('Enter File Size') ?></label> <div class="input-group "> <input type="number" min="0" placeholder="<?= t('Enter File Size') ?>" class="form-control" value="<?=( ($filesize==0) ? "":$filesize ); ?>" name="a_file_size" /> <div class="input-group-append"> <span class="input-group-text"><?= t('MB'); ?></span> </div> </div> </div> </div> </div> </div> </div> <div class="col-sm-12"> <div class="cf-course--a-delay_on"> <div class="row"> <div class="col-md-12"> <div class="d-flex justify-content-start"> <p class="cf-course--disbale pt-1"> <input type="checkbox" class="cf-course-a-restrict-extension" id="switchar_<?= $fid; ?>" <?=( ( $restrict_extension==1) ? "checked":"" ); ?> name="a_check_extension" switch="none" /> <label for="switchar_<?= $fid; ?>" data-on-label="<?= t('ON');?>" data-off-label="<?= t('OFF');?>"></label> </p> <p class="pt-1 ps-2 text-primary" style="font-weight:500; font-size:16px !important"><?= t('Restrict File Extension'); ?></p> </div> </div> <div class="col-md-12"> <div class="pb-1 ps-3 cf-course--a-file-extension cf-course--delay_days " style="display:<?= ( ( $restrict_extension == 1 ) ? "block":"none" ); ?>"> <div class="mb-3 text-primary"> <label style="font-weight:500;font-size: 14px;"><?= t('Enter Allowed File Extensions(line by line)'); ?></label> <textarea class="form-control" id="files_extensions<?= $fid; ?>" name="files_extensions" rows="5"><?= (!empty($restrict_extension_types) ? $restrict_extension_types:""); ?></textarea> </div> </div> </div> </div> </div> </div> <div class="col-sm-12"> <div id="accordion-<?=$assign_id?>"> <div class="card"> <div class="card-header"> <a class="card-link" data-bs-toggle="collapse" href="#collapseOne"> <?= t('Result Comments') ?> </a> </div> <div id="collapseOne" class="collapse show" data-parent="#accordion-<?=$assign_id?>"> <div class="card-body"> <div class="py-1 cf-course-res-com-con"> <?php if( !empty($r_c) && count($r_c)>0 ) { $count = count($r_c); foreach($r_c as $r_com) { ?> <div class="input-group mb-3 cf-custom-res-comment"> <div class="input-group-prepend"> <span class="input-group-text"> <input type="number" name="start_percetange[]" value="<?= $r_com['start']; ?>" > % <?= t('to'); ?> <input type="number" name="end_percetange[]" value="<?= $r_com['end']; ?>" > % </span> </div> <input type="text" class="form-control" placeholder="<?=t('Enter comment'); ?>" name="cfcourse_r_com[]" value="<?= $r_com['text']; ?>" > <div class="input-group-append"> <button type="button" class="btn btn-outline-danger cf-course-remove-res-com" type="button"><i class="fas cf-course-remove-res-com fa-trash-alt"></i> </button> </div> </div> <?php } }else{ ?> <div class="input-group mb-3 cf-custom-res-comment"> <div class="input-group-prepend"> <span class="input-group-text"> <input type="number" name="start_percetange[]" value="0" > % <?= t('to'); ?> <input type="number" name="end_percetange[]" value="39" > % </span> </div> <input type="text" class="form-control" placeholder="<?=t('Enter comment'); ?>" name="cfcourse_r_com[]" value="You must study harder!" > <div class="input-group-append"> <button type="button" class="btn btn-outline-danger cf-course-remove-res-com" type="button"><i class="fas cf-course-remove-res-com fa-trash-alt"></i> </button> </div> </div> <div class="input-group mb-3 cf-custom-res-comment"> <div class="input-group-prepend"> <span class="input-group-text"> <input type="number" name="start_percetange[]" value="40" > % <?= t('to'); ?> <input type="number" name="end_percetange[]" value="59" > % </span> </div> <input type="text" class="form-control" placeholder="<?=t('Enter comment'); ?>" name="cfcourse_r_com[]" value="Good Job, Try to do better next time!"> <div class="input-group-append"> <button type="button" class="btn btn-outline-danger cf-course-remove-res-com" type="button"><i class="fas cf-course-remove-res-com fa-trash-alt"></i> </button> </div> </div> <div class="input-group mb-3 cf-custom-res-comment"> <div class="input-group-prepend"> <span class="input-group-text"><input type="number" name="start_percetange[]" value="60" > % <?= t('to'); ?> <input type="number" name="end_percetange[]" value="79" > % </span> </div> <input type="text" class="form-control" placeholder="<?=t('Enter comment'); ?>" name="cfcourse_r_com[]" value="Great Job! You are a Fast Learner"> <div class="input-group-append"> <button type="button" class="btn btn-outline-danger cf-course-remove-res-com" type="button"><i class="fas cf-course-remove-res-com fa-trash-alt"></i> </button> </div> </div> <div class="input-group mb-3 cf-custom-res-comment"> <div class="input-group-prepend"> <span class="input-group-text"><input type="number" name="start_percetange[]" value="80" > % <?= t('to'); ?> <input type="number" name="end_percetange[]" value="100" > % </span> </div> <input type="text" class="form-control" placeholder="<?=t('Enter comment'); ?>" name="cfcourse_r_com[]" value="Brilliant, You are awesome in learning!"> <div class="input-group-append"> <button type="button" class="btn btn-outline-danger cf-course-remove-res-com" type="button"><i class="fas cf-course-remove-res-com fa-trash-alt"></i> </button> </div> </div> <?php } ?> </div> <div class="cf-course-clear-both"> <button type="button" class="float-right btn btn-sm btn-success cf-course-add-result-comments"><?= t('Add more') ;?> + </button> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="py-2 pt-4"> <button type="submit" class="btn theme-button cfcourse_assign_save"><?= t('Save Changes') ?></button> </div> </div> </form> </div> <div class="cf-course-as-sol cf-course-vert-4 cf-course-verticle-cont" id="cf-course-vert-4"> <form class="cfcourse_Add_Assignment" autocomplete="off"> <input type="hidden" name="cfcourse_assign_id" value="<?=$fid; ?>"> <input type="hidden" name="cfcourse_part" value="solution"> <div class="border p-3"> <div class="mb-3 py-1"> <label for="cfcourse_sol_vid_url" class="text-primary cf-course-label-5"><?= t('Enter Solution Video UR') ?>L </label> <div class="input-group"> <input type="url" name="cfcourse_sol_vid_url" id="cfcourse_sol_vid_url" value="<?php echo ((isset($cfcourse_sol_vid_url))? $cfcourse_sol_vid_url:'') ?>" class="form-control" placeholder="<?= t('Enter Solution Related Video URL Or Upload From Media'); ?>"> <div class="input-group-append"> <button type="button" onclick="letsOpenMedia('#cfcourse_sol_vid_url', false)" class="btn btn-primary"><i class="fas fa-upload"></i> <?= t('Media'); ?></button> </div> </div> </div> <div class="mb-3 py-1"> <label for="cfcourse_sol_res_url" class="text-primary cf-course-label-5"><?= t('Enter Solution Resource URL') ?> </label> <div class="input-group"> <input type="url" name="cfcourse_sol_res_url" id="cfcourse_sol_res_url" value="<?php echo ((isset($cfcourse_sol_res_url))? $cfcourse_sol_res_url:'') ?>" class="form-control" placeholder="<?= t('Enter Solution Related Resource URL Or Upload From Media'); ?>"> <div class="input-group-append"> <button type="button" onclick="letsOpenMedia('#cfcourse_sol_res_url', false)" class="btn btn-primary"><i class="fas fa-upload"></i> <?= t('Media'); ?></button> </div> </div> <div class="py-2 pt-4"> <button type="submit" class="btn theme-button cfcourse_assign_save"><?= t('Save Changes') ?></button> </div> </div> </form> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div id="mycf_course_drip_delete_assign" class="cf_course_drip_model" style="border-radius:5px"> <!-- cf_course_drip_model content --> <div class="cf_course_model_w_anim"> <div class="alert alert-info pb-1 mb-0 "> <span class="cf-course-close-drip cf-course-close-drip-btn">×</span> <h5 id="cf-course-delete-he "><?= t('Please Confirm'); ?></h5> </div> <div class="cf_course_drip_model-body py-3 cf_course_drip_model-del-body"> <?= t('Do you really want to delete this question?'); ?> </div> <input type="hidden" id="cf-course-delete-question" value=""> <div class="modal-footer"> <button type="button" class="btn btn-primary btn-sm cf-course-close-drip-btn"><?= t('Cancel'); ?></button> <button type="button" class="btn btn-danger btn-sm cf-course-remove-qes"><?= t('Delete'); ?></button> </div> </div> </div> <!-- delete modal start --> <div id="cf-course-snackbar-admin"><?= t('Question Deleted'); ?>.</div> <!-- snakbar end --> <!-- Modal --> <!-- The cf_course_drip_model --> <div id="mycf_course_drip_model" class="cf_course_drip_model" style="border-radius:5px"> <!-- cf_course_drip_model content --> <div class="cf_course_drip_model-content b--cf--dr-md c--cf--dr-md d--cf--dr-md e--cf--dr-md"> <div class="alert alert-danger"> <span class="cf-course-close-drip cf-course-close-drip-btn">×</span> <h2><?= t('Information'); ?></h2> </div> <div class="cf_course_drip_model-body"> </div> <div class="modal-footer"> <button type="button" class="btn btn-primary cf-course-close-drip-btn "><?= t('Close'); ?></button> </div> </div> </div> <!--Model end --> </div> <input type="hidden" id="cfcourse_ajax" value="<?php echo get_option('install_url')."/index.php?page=ajax"; ?>" /> <script> function letsOpenMedia(selector, html) { try { //here calling open media openMedia(function(content){ try { document.querySelectorAll(selector)[0].value= content; }catch(err){console.log(err);} }, html); }catch(err){console.log(err)} } </script> </div> <?php cf_media(); ?>