roles[0]; if( $current_user_role=='administrator' || $current_user_role=='teacher' ) { wpsp_topbar(); wpsp_sidebar(); wpsp_body_start(); $settings_data = []; $class_id = $subject_id = $exam_id=0; $proversion = wpsp_check_pro_version(); $proclass = !$proversion['status'] && isset( $proversion['class'] )? $proversion['class'] : ''; $protitle = !$proversion['status'] && isset( $proversion['message'] )? $proversion['message'] : ''; $prodisable = !$proversion['status'] ? 'disabled="disabled"' : ''; if( isset( $_POST['MarkAction'] ) ){ $class_id = (isset($_POST['ClassID'])) ? intval($_POST['ClassID']) : ''; $subject_id = (isset($_POST['SubjectID'])? intval($_POST['SubjectID']) : ''); $exam_id = (isset($_POST['ExamID'])? intval($_POST['ExamID']) : ''); } $ctname = $wpdb->prefix.'wpsp_class'; $sbname = $wpdb->prefix.'wpsp_subject'; $classQuery = "select `cid`,`c_name` from `$ctname`"; $clt = $wpdb->get_results( $classQuery ); $msg = 'Please Add Class Before Adding Marks'; if( $current_user_role=='teacher' ) { $cuserId = intval($current_user->ID); $classQuery = $wpdb->prepare("SELECT DISTINCT c.cid,c.c_name FROM $ctname c INNER JOIN $sbname s ON s.class_id= c.cid WHERE s.sub_teach_id = %d",$cuserId); $clt = $wpdb->get_results( $classQuery ); $msg = 'Please ask Principal to assign class and subject'; } $wpsp_settings_table = $wpdb->prefix."wpsp_settings"; $wpsp_settings_edit = $wpdb->get_results("SELECT * FROM $wpsp_settings_table" ); foreach( $wpsp_settings_edit as $sdat ) { $settings_data[$sdat->option_name] = $sdat->option_value; } ?>

'.esc_html($msg).'
'; } else { ?>
prefix.'wpsp_exam'; if( $exam_id!= '' ) { $exam_id = esc_sql($exam_id); $subjectID = $wpdb->get_var($wpdb->prepare("SELECT subject_id FROM $examtable WHERE eid = %d",$exam_id)); $subjectlist = explode( ",", $subjectID ); } ?>
>
wpsp-tooltip="" >
> >
wpsp-tooltip="" >
prefix."wpsp_mark_fields"; $extra_fields = $wpdb->get_results($wpdb->prepare("SELECT * FROM $extra_tbl WHERE subject_id = %d",$subject_id)); if( wpsp_IsMarkEntered( $class_id,$subject_id,$exam_id ) ) { $wpsp_marks = wpsp_GetMarks($class_id,$subject_id,$exam_id); $mark_entered = 1; $wpsp_exmarks = wpsp_GetExMarks($subject_id,$exam_id); foreach($wpsp_exmarks as $exmark){ $extra_marks[$exmark->student_id][$exmark->field_id]=$exmark->mark; } } ?>


prefix."wpsp_student"; $sno = 1; $stl = []; $studentlists = $wpdb->get_results("select class_id, sid from $stable"); echo "
"; foreach ($studentlists as $stu) { if(is_numeric($stu->class_id) ){ if($stu->class_id == $class_id){ $stl[] = $stu->sid; } }else{ $class_id_array = unserialize( $stu->class_id ); if(is_array($class_id_array)){ if(in_array($class_id, $class_id_array)){ $stl[] = $stu->sid; } } } } if (empty($stl)) { echo ""; }else { foreach ($stl as $id ) { $getslist = $wpdb->get_results($wpdb->prepare("SELECT * FROM $stable WHERE sid = %d order by CAST('s_rollno' as SIGNED)",$id)); foreach ($getslist as $student ) { $usid = intval($student->wp_usr_id); $stroll = $student->s_rollno; $stfullname = $student->s_fname.' '.$student->s_mname.' '.$student->s_lname; $marktable = $wpdb->prefix."wpsp_mark"; $getmark = $wpdb->get_row($wpdb->prepare("SELECT * FROM $marktable WHERE class_id = %d AND student_id = %d AND subject_id = %d AND exam_id = %d",$class_id,$usid,$subject_id,$exam_id)); $getmarkid = isset( $getmark->mid ) ? $getmark->mid : ''; if( empty($getmark) ) { $mark_data = array( 'subject_id'=>$subject_id,'class_id'=>$class_id,'student_id'=>$usid,'exam_id'=>$exam_id ); $m_ins = $wpdb->insert($marktable,$mark_data); if( $wpdb->insert_id ) $getmarkid = $wpdb->insert_id; } ?> "; } }else{ $stable = $wpdb->prefix."wpsp_student"; $sno = 1; $stl = []; $studentlists = $wpdb->get_results("select class_id, sid from $stable"); echo "
"; foreach ($studentlists as $stu) { if(is_numeric($stu->class_id) ){ if($stu->class_id == $class_id){ $stl[] = $stu->sid; } }else{ $class_id_array = unserialize( $stu->class_id ); if(is_array($class_id_array)){ if(in_array($class_id, $class_id_array)){ $stl[] = $stu->sid; } } } } if (empty($stl)) { echo ""; }else { foreach ($stl as $id ) { $id = esc_sql($id); $getslist = $wpdb->get_results($wpdb->prepare("SELECT * FROM $stable WHERE sid = %d order by CAST('s_rollno' as SIGNED)",$id)); foreach( $getslist as $slist ) { ?> "; }else { } } ?>
field_text);?>
".esc_html( 'No Students to retrive', 'wpschoolpress')."
id="v_marks" value="mark)? esc_attr($getmark->mark) : '')); ?>" name="marks[][]">
".esc_html( 'No Students to retrive3', 'wpschoolpress')."
s_rollno);?> s_fname.' '.$slist->s_mname.' '.$slist->s_lname);?> min="0" value="" name="marks[wp_usr_id);?>][]">
".esc_html( 'No Students to retrive', 'wpschoolpress')."
ID ); $student_table = $wpdb->prefix . "wpsp_student"; $class_table = $wpdb->prefix . "wpsp_class"; $exam_table_name = $wpdb->prefix . 'wpsp_exam'; /* * Read URL params: sid = student wp_usr_id (base64), cid = class id (base64) * These are set by the sidebar links for each child+course. */ /* * The sidebar passes sid = student plugin row `sid` (base64), * and cid = class id (base64). */ $url_sid = isset( $_GET['sid'] ) ? intval( base64_decode( sanitize_text_field( $_GET['sid'] ) ) ) : 0; $url_class_id = isset( $_GET['cid'] ) ? intval( base64_decode( sanitize_text_field( $_GET['cid'] ) ) ) : 0; /* * SINGLE VIEW: a specific student + class was clicked in the sidebar. */ if ( $url_sid > 0 && $url_class_id > 0 ) : /* * Match on `sid` (plugin student row ID) and verify parent ownership. * Also fetch wp_usr_id — that is what the marks table stores. */ $student_row = $wpdb->get_row( $wpdb->prepare( "SELECT sid, wp_usr_id, CONCAT_WS(' ', s_fname, s_mname, s_lname) AS full_name FROM $student_table WHERE sid = %d AND parent_wp_usr_id = %d", $url_sid, $parent_id ) ); /* wp_usr_id is what the AJAX marks handler expects */ $url_student_id = $student_row ? intval( $student_row->wp_usr_id ) : 0; $class_row = $wpdb->get_row( $wpdb->prepare( "SELECT c_name FROM $class_table WHERE cid = %d", $url_class_id ) ); $exams = $wpdb->get_results( $wpdb->prepare( "SELECT eid, e_name FROM $exam_table_name WHERE classid = %d", $url_class_id ) ); $result_div_id = 'marks-result-' . $url_student_id . '-' . $url_class_id; ?>

get_results( $wpdb->prepare( "SELECT st.wp_usr_id, st.class_id, st.sid, CONCAT_WS(' ', st.s_fname, st.s_mname, st.s_lname) AS full_name, cl.c_name FROM $student_table st LEFT JOIN $class_table cl ON cl.cid = st.class_id WHERE st.parent_wp_usr_id = %d", $parent_id ) ); ?>

ID ); $ciid = sanitize_text_field( stripslashes( $_GET['cid'] ) ); $class_id = intval( base64_decode( $ciid ) ); ?>