726 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			726 lines
		
	
	
		
			26 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| include 'NoDirectPhpAcess.php';
 | |
| ?>
 | |
| 
 | |
| 
 | |
| <?php
 | |
| $page='Courses+';
 | |
| include 'Header.php';
 | |
| ?>
 | |
| 
 | |
| <div class="container">
 | |
| 
 | |
|     <?php
 | |
|     $student_id = $_SESSION["user_student_id"];
 | |
|     $group_id = $_SESSION["user_group_id"];
 | |
|     $c_date = date("Y-m-d H:i");
 | |
| 
 | |
| 
 | |
|     if(!empty($_GET["url"]))
 | |
|     {
 | |
| 	$course_url = mysqli_real_escape_string($con, $_GET["url"]);
 | |
| 	$result = mysqli_query($con,"SELECT `Course_ID`, `Course_Name`, `Academic_Year`, `Faculty`,"
 | |
| 				  . " `Lecturer_User_ID`, `TA_User_ID`, `Course_Code`, `URL`, `Verify_New_Members`  "
 | |
| 				  . " , users_table.Full_Name  FROM `courses_table` INNER JOIN users_table"
 | |
| 				  . " ON users_table.User_ID=courses_table.Lecturer_User_ID where URL='$course_url' ");
 | |
| 
 | |
| 	if(mysqli_num_rows($result)==0) {
 | |
| 
 | |
|             echo "No course matching the given course URL: ".$course_url;
 | |
| 
 | |
| 	} else {
 | |
|             while($row = mysqli_fetch_assoc($result)) {
 | |
| 		$name = $row['Course_Name'];
 | |
| 		$code = $row['Course_Code'];
 | |
| 		$faculty = $row['Faculty'];
 | |
| 		$lecturer = $row['Full_Name'];
 | |
| 		$academic = $row['Academic_Year'];
 | |
| 		$url = $row['URL'];
 | |
| 		$course_id = $row['Course_ID'];
 | |
| 		// also get teaching assistant names(if any)
 | |
| 		$ta_result = mysqli_query($con, "SELECT Full_Name FROM users_table where User_ID in (select TA from course_ta where Course_ID='$course_id');");
 | |
| 		if (mysqli_num_rows($ta_result) == 0) {
 | |
|                     echo    "  <div class='alert' style='margin-left:20px;border-bottom:2px solid #1D91EF;'> <a href='~\..\Courses.php?course=$url'>
 | |
|   Courses </a> > ($code) $name > Assignments <br> <span style='font-size:8pt'>Faculty: $faculty   Year: $academic   Lecturer: $lecturer  </span></div> ";
 | |
| 		} else {
 | |
|                     $ta_name = "";
 | |
|                     while ($row = mysqli_fetch_assoc($ta_result)) {
 | |
| 			$ta_name = $ta_name.$row['Full_Name']." ";
 | |
|                     }
 | |
|                     $ta_name = trim ($ta_name);
 | |
|                     echo    "  <div class='alert' style='margin-left:20px;border-bottom:2px solid #1D91EF;'> <a href='~\..\Courses.php?course=$url'>
 | |
|   Courses > $name ($code) > Lab Reports <br> <span style='font-size:8pt'>Faculty: $faculty  | Year: $academic | Lecturer: $lecturer | Teaching Assistant: $ta_name </span>
 | |
|        </a></div> ";
 | |
| 		}
 | |
|             }
 | |
| 	}
 | |
|     }
 | |
|     ?>
 | |
| 
 | |
| 
 | |
|     <?php
 | |
|     if( $_SESSION['user_type'] == "Student")
 | |
|     {
 | |
|     ?>
 | |
| 
 | |
| 	<div class="row">
 | |
| 
 | |
| 	    <div class="col-9">
 | |
| 
 | |
| 		<?php
 | |
| 
 | |
| 		if (isset($_SESSION['info_general'])) {
 | |
| 		    echo '<hr><div class="alert alert-info" role="alert" style="float:left;">' . $_SESSION['info_general'] . '</div>';
 | |
| 		    $_SESSION['info_general']=null;
 | |
| 		}
 | |
| 
 | |
| 		if (isset($_SESSION['info_courses'])) {
 | |
| 		    echo '<hr><div class="alert alert-info" role="alert" style="float:left;">' . $_SESSION['info_courses'] . '</div>';
 | |
| 		    $_SESSION['info_courses']=null;
 | |
| 		}
 | |
| 		?>
 | |
| 
 | |
| 		<!-- Nav tabs -->
 | |
| 
 | |
| 		<ul class="nav nav-tabs" id="myTab">
 | |
| 		    <li class="nav-item">
 | |
| 			<a class="nav-link active" href="#menu1">New</a>
 | |
| 		    </li>
 | |
| 		    <li class="nav-item">
 | |
| 			<a class="nav-link" href="#menu2">Missed</a>
 | |
| 		    </li>
 | |
| 		    <li class="nav-item">
 | |
| 			<a class="nav-link" href="#menu3">Submitted</a>
 | |
| 		    </li>
 | |
| 		    <li class="nav-item">
 | |
| 			<a class="nav-link" href="#menu4">Marked</a>
 | |
| 		    </li>
 | |
| 		</ul>
 | |
| 
 | |
| 		<div class="tab-content">
 | |
| 
 | |
| 		    <div id="menu1" class="tab-pane active">
 | |
| 
 | |
| 			<?php
 | |
| 
 | |
| 			// Get groups of this students
 | |
| 			$sql="SELECT course_group_members_table.Course_Group_id FROM course_group_members_table INNER JOIN course_groups_table ON course_group_members_table.Course_Group_id = course_groups_table.Course_Group_id WHERE course_group_members_table.Student_ID=$student_id and course_groups_table.Course_id=$course_id";
 | |
| 
 | |
| 			$resultx1 = mysqli_query($con, $sql);
 | |
| 			while($row = mysqli_fetch_assoc($resultx1))
 | |
| 			{
 | |
| 			    $_SESSION['group_id'] = $row['Course_Group_id'];
 | |
| 			}
 | |
| 
 | |
| 			$group_id = $_SESSION['group_id'];
 | |
| 
 | |
| 			if($group_id == "")
 | |
| 			{
 | |
| 			    $group_id = 0; // no group.  If the student has a group, the group number should be greater than 0.
 | |
| 			}
 | |
| 
 | |
| 			// Show the assignment iff the following conditions are met: (1)
 | |
| 			// Before the deadline (2) Before the students' extended deadline (if any)
 | |
| 			// (3) none of the student's group members have already submitted
 | |
| 			// the assignment.
 | |
| 
 | |
| 			$sql_stmt = "SELECT Type, Lab_Report_ID, Marks, `Course_ID`, `Posted_Date`, `Deadline`, `Instructions`, lab_reports_table.Title, `Attachment_link_1`, `Attachment_link_2`, `Attachment_link_3`, `Attachment_link_4`".
 | |
| 				    " FROM `lab_reports_table`".
 | |
| 				    " WHERE Course_ID=$course_id".
 | |
| 				    " AND (Deadline > '$c_date' OR Lab_Report_ID IN (SELECT `Lab_Report_ID` FROM `extended_deadlines_table` WHERE Student_ID=$student_id AND Extended_Deadline_Date > '$c_date' AND Lab_Report_ID IN (SELECT Lab_Report_ID FROM lab_reports_table WHERE Course_ID=$course_id)))".
 | |
| 				    " AND Lab_Report_ID NOT IN (SELECT Lab_Report_ID FROM lab_report_submissions WHERE Course_Group_id IN (SELECT Course_Group_id FROM course_group_members_table WHERE Student_ID=$student_id))".
 | |
| 				    " ORDER BY Lab_Report_ID DESC";
 | |
| 
 | |
| 			$result1 = mysqli_query($con, $sql_stmt);
 | |
| 
 | |
| 			if(mysqli_num_rows($result1)==0)
 | |
| 			{
 | |
| 			    echo "<div class='alert alert-info'>No active assignments now.</div>";
 | |
| 			} else {
 | |
| 
 | |
| 			    while($row = mysqli_fetch_assoc($result1)) {
 | |
| 				$title=$row['Title'];
 | |
| 				$type=$row['Type'];
 | |
| 				$Marks=$row['Marks'];
 | |
| 				$ins=$row['Instructions'];
 | |
| 				$posted=$row['Posted_Date'];
 | |
| 				$deadline=$row['Deadline'];
 | |
| 				$att1=$row['Attachment_link_1'];
 | |
| 				$att2=$row['Attachment_link_2'];
 | |
| 				$att3=$row['Attachment_link_3'];
 | |
| 				$att4=$row['Attachment_link_4'];
 | |
| 				$labid=$row['Lab_Report_ID'];
 | |
| 				$days_remaining = date_diff(date_create($deadline), date_create())->format('%a days, %h hours, %i minutes');
 | |
| 				$full_link = "<a href='~\..\Lab_Report_Assignments\\$att1'>$att1</a>";
 | |
| 
 | |
| 				if($att2!=""){
 | |
| 				    $full_link= $full_link."| <a href='~\..\Lab_Report_Assignments\\$att2'>$att2</a>";
 | |
| 				}
 | |
| 				if($att3!=""){
 | |
| 				    $full_link= $full_link."| <a href='~\..\Lab_Report_Assignments\\$att3'>$att3</a>";
 | |
| 				}
 | |
| 
 | |
| 				if($att4!=""){
 | |
| 				    $full_link= $full_link."| <a href='~\..\Lab_Report_Assignments\\$att4'>$att4</a>";
 | |
| 				}
 | |
| 				echo "<div class='card mt-md-2' style='word-wrap: break-word;'><div class='card-body'>
 | |
|   <h5 class='card-title'>$title</h5> <h6 class='card-subtitle''>($Marks Marks, $type)</h6> <br> <p class='card-text'> $ins </p>
 | |
|   <p> <small>Attachments</small>: $full_link </p>
 | |
|   <p class='card-text'> <small> Posted: $posted     Deadline: $deadline </small> </p>
 | |
|   <div class='alert alert-warning'>Time left: $days_remaining</div>
 | |
|   <p><a href='~\..\SubmitLab.php?id=$labid&url=$url' class='btn btn-primary'>Submit</a></p>
 | |
|                                       </div></div>";
 | |
| 
 | |
| 			}}
 | |
| 			echo "";
 | |
| 			?>
 | |
| 
 | |
| 		    </div>
 | |
| 
 | |
| 
 | |
| 
 | |
| 		    <div id="menu2" class="tab-pane">
 | |
| 
 | |
| 			<?php
 | |
| 			$group_id = $_SESSION['group_id'];
 | |
| 
 | |
| 			if ($group_id == "") { // Individual assignment does not require the student to have a group id.  Therefore, the group is an empty string. To make the following SQL statement work properly, initialize the group id to -1.
 | |
| 			    $group_id = -1;
 | |
| 			}
 | |
| 
 | |
| 			$result  = mysqli_query($con,"SELECT Lab_Report_ID, Marks, `Course_ID`, `Posted_Date`, `Deadline`, `Instructions`, lab_reports_table.Title, `Attachment_link_1`, `Attachment_link_2`, `Attachment_link_3`, `Attachment_link_4` FROM `lab_reports_table` WHERE Lab_Report_ID not in (select Lab_Report_ID from lab_report_submissions where (Student_id=$student_id or Course_Group_id=$group_id)) and Course_ID=$course_id and Deadline < '$c_date' ORDER by Lab_Report_ID DESC");
 | |
| 
 | |
| 			if(mysqli_num_rows($result) == 0)
 | |
| 			{
 | |
| 			    echo '<div class="alert alert-info">You missed no lab reports.</div>';
 | |
| 
 | |
| 			} else {
 | |
| 			    while($row = mysqli_fetch_assoc($result)) {
 | |
| 				$title = $row['Title'];
 | |
| 				$marks = $row['Marks'];
 | |
| 				$ins = $row['Instructions'];
 | |
| 				$posted = $row['Posted_Date'];
 | |
| 				$deadline = $row['Deadline'];
 | |
| 				$att1 = $row['Attachment_link_1'];
 | |
| 				$att2 = $row['Attachment_link_2'];
 | |
| 				$att3 = $row['Attachment_link_3'];
 | |
| 				$att4 = $row['Attachment_link_4'];
 | |
| 				$id = $row['Lab_Report_ID'];
 | |
| 
 | |
| 				$full_link = "None";
 | |
| 
 | |
| 				if ($att1 != "") {
 | |
| 				    $full_link = "<a href='~\..\Lab_Report_Assignments\\$att1'>$att1</a>";
 | |
| 				}
 | |
| 
 | |
| 				if($att2 != "") {
 | |
| 				    $full_link = $full_link."| <a href='~\..\Lab_Report_Assignments\\$att2'>$att2</a>";
 | |
| 				}
 | |
| 
 | |
| 				if($att3 != "") {
 | |
| 				    $full_link = $full_link."| <a href='~\..\Lab_Report_Assignments\\$att3'>$att3</a>";
 | |
| 				}
 | |
| 
 | |
| 				if($att4 != "") {
 | |
| 				    $full_link = $full_link."| <a href='~\..\Lab_Report_Assignments\\$att4'>$att4</a>";
 | |
| 				}
 | |
| 
 | |
| 
 | |
| 				echo "<div class='card mt-md-2' style='word-wrap: break-word;'> <div class='card-body'> <span class='btn btn-sm btn-outline-danger'>MISSED</span> <h5 class='card-title'>$title</h5> <h6 class='card-subtitle'>($marks Marks)</h6> <br/> <p class='card-text'> $ins</p>
 | |
|    <br> <p class='card-text'> <small> Posted: $posted     Deadline: $deadline           <br> Attachments: $full_link </small></p>
 | |
| </div></div><br>";
 | |
| 
 | |
| 			    }
 | |
| 			}
 | |
| 			?>
 | |
| 
 | |
| 		    </div>
 | |
| 
 | |
| 
 | |
| 
 | |
| 		    <div id="menu3" class="tab-pane">
 | |
| 			<?php
 | |
| 
 | |
| 
 | |
| 			$group_id = $_SESSION['group_id'];
 | |
| 			if($group_id==""){$group_id=-1;}  // This fixes "Submitted report not shown" http://118.25.96.118/bugzilla/show_bug.cgi?id=176
 | |
| 
 | |
| 
 | |
| 			$sql_stmt = "SELECT Lab_Report_ID, Marks, `Course_ID`, `Posted_Date`, `Deadline`, `Instructions`, lab_reports_table.Title, `Attachment_link_1`, `Attachment_link_2`, `Attachment_link_3`, `Attachment_link_4`
 | |
|          FROM `lab_reports_table`
 | |
|          WHERE Lab_Report_ID in (select Lab_Report_ID from lab_report_submissions"
 | |
| 				  . " where Status='Pending' and (Student_id=$student_id or Course_Group_id=$group_id)  and Course_ID=$course_id) ORDER by Lab_Report_ID DESC";
 | |
| 
 | |
| 			$resultx  = mysqli_query($con, $sql_stmt);
 | |
| 
 | |
| 
 | |
| 			if(mysqli_num_rows($resultx)==0)
 | |
| 			{
 | |
| 			    echo '<div class="alert alert-info">You have no unmarked submissions. Check the Marked tab for your marked submissions (if any).</div>';
 | |
| 
 | |
| 			} else {
 | |
| 			    while($row = mysqli_fetch_assoc($resultx)) {
 | |
| 				$lab_repo_id=$row['Lab_Report_ID'];
 | |
| 				$title=$row['Title'];
 | |
| 				$marks=$row['Marks'];
 | |
| 				$ins=$row['Instructions'];
 | |
| 				$posted=$row['Posted_Date'];
 | |
| 				$deadline=$row['Deadline'];
 | |
| 				$att1=$row['Attachment_link_1'];
 | |
| 				$att2=$row['Attachment_link_2'];
 | |
| 				$att3=$row['Attachment_link_3'];
 | |
| 				$att4=$row['Attachment_link_4'];
 | |
| 				$id = $row['Lab_Report_ID'];
 | |
| 				if( $c_date < $deadline)
 | |
| 				{
 | |
| 				    $submittedx="<a href='~\..\SubmitLab.php?id=$id&url=$url' class='btn btn-sm btn-light'>Re-submit</a>";
 | |
| 				}
 | |
| 
 | |
| 				$full_link = "<a href='~\..\Lab_Report_Assignments\\$att1'>$att1</a>";
 | |
| 
 | |
| 				if($att2!=""){
 | |
| 				    $full_link= $full_link."| <a href='~\..\Lab_Report_Assignments\\$att2'>$att2</a>";
 | |
| 				}
 | |
| 				if($att3!=""){
 | |
| 				    $full_link= $full_link."| <a href='~\..\Lab_Report_Assignments\\$att3'>$att3</a>";
 | |
| 				}
 | |
| 
 | |
| 				if($att4!=""){
 | |
| 				    $full_link= $full_link."| <a href='~\..\Lab_Report_Assignments\\$att4'>$att4</a>";
 | |
| 				}
 | |
| 
 | |
| 				echo "<div class='btn btn-default break-word' style='dislay:block; word-wrap: break-word; border: 1px solid #F0F0F0;border-left: 4px solid #03407B;'>
 | |
|   $title ($marks Marks) <i class='fa fa-check-circle'></i> Submitted <br> <span style='font-size:8pt'> $ins</span>
 | |
|    <br> <span style='font-size:9pt'>Posted: $posted   Deadline: $deadline</span>         $submittedx  
 | |
| <br> <span style='font-size:9pt'>Submitted files: ";
 | |
| 
 | |
| 				$Sub_result = mysqli_query($con,"SELECT `Submission_ID`, `Submission_Date`, lab_report_submissions.Lab_Report_ID,
 | |
| lab_report_submissions.Student_id sub_std, lab_report_submissions.Course_Group_id, `Attachment1`,
 | |
| `Notes`, `Attachment2`, `Attachment3`, `Attachment4`, `Marks`, lab_report_submissions.Status,
 | |
| `Title`,users_table.Full_Name,course_group_members_table.Student_ID
 | |
| FROM `lab_report_submissions`
 | |
| Left JOIN users_table  on users_table.Student_ID=lab_report_submissions.Student_id
 | |
| left JOIN course_group_members_table on course_group_members_table.Course_Group_id=lab_report_submissions.Course_Group_id
 | |
| where Lab_Report_ID=$lab_repo_id and (lab_report_submissions.Student_id='$student_id')");
 | |
| 
 | |
| 				if(mysqli_num_rows($Sub_result) == 0)
 | |
| 				{
 | |
| 				    echo "No Attachments found.";
 | |
| 
 | |
| 				} else {
 | |
| 				    while($row = mysqli_fetch_assoc($Sub_result)) {
 | |
| 					$at1=$row['Attachment1'];
 | |
| 					$at2=$row['Attachment2'];
 | |
| 					$at3=$row['Attachment3'];
 | |
| 					$at4=$row['Attachment4'];
 | |
| 
 | |
| 					$base_at1 = basename($at1);
 | |
| 					$base_at2 = basename($at2);
 | |
| 					$base_at3 = basename($at3);
 | |
| 					$base_at4 = basename($at4);
 | |
| 
 | |
| 					$full_link = "<a href='~\..\Download.php?file=$at1&attachment=1'>$base_at1</a>";  // prevent students from directly accessing their classmates' submissions
 | |
| 
 | |
| 					if($at2!=""){
 | |
| 					    $full_link= $full_link." | <a href='~\..\Download.php?file=$at2&attachment=2'>$base_at2</a>";
 | |
| 					}
 | |
| 					if($at3!=""){
 | |
| 					    $full_link= $full_link." | <a href='~\..\Download.php?file=$at3&attachment=3'>$base_at3</a>";
 | |
| 					}
 | |
| 
 | |
| 					if($at4!=""){
 | |
| 					    $full_link= $full_link." | <a href='~\..\Download.php?file=$at4&attachment=4'>$base_at4</a>";
 | |
| 					}
 | |
| 
 | |
| 					echo $full_link;
 | |
| 
 | |
| 				    }
 | |
| 				}
 | |
| 
 | |
| 				echo "</span></div>";
 | |
| 
 | |
| 			}}
 | |
| 			echo "";
 | |
| 			?>
 | |
| 
 | |
| 		    </div>
 | |
| 
 | |
| 
 | |
| 		    <?php
 | |
| 		    $sqli=mysqli_query($con, "SELECT * from course_groups_table WHERE Course_Group_id=$group_id and Course_id=$course_id");
 | |
| 		    while($row = mysqli_fetch_assoc($sqli)) { $Group_Leader=$row['Group_Leader'];
 | |
| 			$Group_Member=$row['Group_Member'];
 | |
| 			$Group_Member2=$row['Group_Member2'];
 | |
| 			$Group_Member3=$row['Group_Member3'];
 | |
| 			$Group_Member4=$row['Group_Member4'];
 | |
| 		    }
 | |
| 		    ?>
 | |
| 
 | |
| 
 | |
| 		    <div id="menu4" class="tab-pane">
 | |
| 			<?php
 | |
| 
 | |
| 			$resultx  = mysqli_query($con,"SELECT `Submission_ID`, `Submission_Date`, lab_reports_table.`Lab_Report_ID`, `Student_id`, "
 | |
| 						    . "`Course_Group_id`, `Notes`, lab_report_submissions.`Marks`,
 | |
|         lab_report_submissions.Remarking_Reason,
 | |
|         `Status`, lab_reports_table.Title Lab_Title,lab_reports_table.Marks Original_marks FROM `lab_report_submissions` "
 | |
| 						 . "INNER JOIN lab_reports_table on lab_reports_table.Lab_Report_ID=lab_report_submissions.Lab_Report_ID "
 | |
| 						    . "WHERE (lab_report_submissions.Student_id='$student_id'
 | |
|         or (lab_report_submissions.Student_id='$Group_Leader' and lab_report_submissions.Course_Group_id='$group_id')
 | |
|         or (lab_report_submissions.Student_id='$Group_Member' and lab_report_submissions.Course_Group_id='$group_id')
 | |
|         or (lab_report_submissions.Student_id='$Group_Member2' and lab_report_submissions.Course_Group_id='$group_id')
 | |
|         or (lab_report_submissions.Student_id='$Group_Member3' and lab_report_submissions.Course_Group_id='$group_id')
 | |
|         or (lab_report_submissions.Student_id='$Group_Member4' and lab_report_submissions.Course_Group_id='$group_id')
 | |
|         )and"
 | |
| 						    . ""
 | |
| 						    . ""
 | |
| 						    . ""
 | |
| 						    . " lab_reports_table.Lab_Report_ID  in (select Lab_Report_ID from lab_report_submissions"
 | |
| 						    . " where  (Status='Marked' or Status='Remarking') and (Student_id=$student_id or Course_Group_id=$group_id)  and Course_ID=$course_id) ORDER by Submission_ID DESC");
 | |
| 
 | |
| 			if(mysqli_num_rows($resultx)==0) {
 | |
| 			    echo '<div class="alert alert-info">You have no marked submissions.</div>';
 | |
| 			} else {
 | |
| 			    while($row = mysqli_fetch_assoc($resultx)) {
 | |
| 				$title=$row['Lab_Title'];
 | |
| 				$marks=$row['Marks'];
 | |
| 				$Originalmarks=$row['Original_marks'];
 | |
| 				$ins=$row['Instructions'];
 | |
| 				$posted=$row['Posted_Date'];
 | |
| 				$deadline=$row['Deadline'];
 | |
| 				$att1=$row['Attachment_link_1'];
 | |
| 				$att2=$row['Attachment_link_2'];
 | |
| 				$att3=$row['Attachment_link_3'];
 | |
| 				$att4=$row['Attachment_link_4'];
 | |
| 				$id=$row['Lab_Report_ID'];
 | |
| 				$Submission_ID=$row['Submission_ID'];
 | |
| 				$notes=$row['Notes'];
 | |
| 				$status= $row['Status'];
 | |
| 				$remarking_reason=$row['Remarking_Reason'];
 | |
| 
 | |
| 				if($status=='Marked') {
 | |
| 				    $rm_data="\Script.php?remarking=yes&id=$Submission_ID&url=$url&status=Remarking";
 | |
| 				    $remarking="<button  onclick='remarking(\"$rm_data\")' class='btn btn-sm btn-light'>Request remarking</button>";
 | |
| 				}
 | |
| 
 | |
| 				if($status=='Remarking') {
 | |
| 				    $remarking="<span  style='color:orange'><i class='fa fa-info-circle'></i> Remarking request sent </span> <br> Reasons for remarking: <i>$remarking_reason </i> <br>";
 | |
| 				}
 | |
| 
 | |
| 
 | |
| 				echo "<div class='card mt-md-2' style='word-wrap:break-word;'> <div class='card-body'>
 | |
|   <h5 class='card-title'>$title</h5>  <h5 class='card-subtitle'>($marks marks out of $Originalmarks)</h6><br> <p class='card-text'>Lecturer feedback $notes    $remarking</p> <small>Submitted files: ";
 | |
| 				$Sub_result = mysqli_query($con,"SELECT `Submission_ID`, `Submission_Date`, lab_report_submissions.Lab_Report_ID,
 | |
|   lab_report_submissions.Student_id sub_std, lab_report_submissions.Course_Group_id, `Attachment1`,
 | |
|   `Notes`, `Attachment2`, `Attachment3`, `Attachment4`, `Marks`, lab_report_submissions.Status,
 | |
|   `Title`,users_table.Full_Name,course_group_members_table.Student_ID
 | |
|   FROM `lab_report_submissions`
 | |
|   Left JOIN users_table  on users_table.Student_ID=lab_report_submissions.Student_id
 | |
|   left JOIN course_group_members_table on course_group_members_table.Course_Group_id=lab_report_submissions.Course_Group_id
 | |
|   where Lab_Report_ID=$id and lab_report_submissions.Student_id='$student_id'");
 | |
| 
 | |
| 				if(mysqli_num_rows($Sub_result)==0) {
 | |
| 				    echo "No Attachments found.";
 | |
| 				} else {
 | |
| 				    while($row = mysqli_fetch_assoc($Sub_result)) {
 | |
| 					$at1=$row['Attachment1'];
 | |
| 					$at2=$row['Attachment2'];
 | |
| 					$at3=$row['Attachment3'];
 | |
| 					$at4=$row['Attachment4'];
 | |
| 
 | |
| 					$full_link="<a href='~\..\Lab_Report_Submisions\\$at1'>$at1</a>";
 | |
| 
 | |
| 					if($at2!="") {
 | |
| 					    $full_link= $full_link."| <a href='~\..\Lab_Report_Submisions\\$at2'>$at2</a>";
 | |
| 					}
 | |
| 					if($at3!="") {
 | |
| 					    $full_link= $full_link."| <a href='~\..\Lab_Report_Submisions\\$at3'>$at3</a>";
 | |
| 					}
 | |
| 
 | |
| 					if($at4!="") {
 | |
| 					    $full_link= $full_link."| <a href='~\..\Lab_Report_Submisions\\$at4'>$at4</a>";
 | |
| 					}
 | |
| 
 | |
| 					echo $full_link;
 | |
| 
 | |
| 				    }
 | |
| 				}
 | |
| 
 | |
| 				echo "</small></div></div>"; // This statement's position must be correct.  Otherwise, the "My groups" part won't be placed correctly.
 | |
| 			    }
 | |
| 			}
 | |
| 			?>
 | |
| 
 | |
| 		    </div> <!-- Closing menu4 -->
 | |
| 		</div>  <!-- Closing tab-content -->
 | |
| 	    </div>  <!-- Closing col-9 -->
 | |
| 
 | |
| 	    <div class="col-3">
 | |
| 
 | |
| 		<h1 class="display-6">My groups</h1>
 | |
| 
 | |
| 		<?php
 | |
| 		$resultx1 = mysqli_query($con,"SELECT `Course_Group_id`  FROM `course_groups_table` WHERE  Course_id=$course_id");
 | |
| 		while($row = mysqli_fetch_assoc($resultx1)) {$count_groups=$row['Course_Group_id'];}
 | |
| 		echo " <button onclick='createGroup()' class='btn btn-primary'>Create group</button>";
 | |
| 		?>
 | |
| 
 | |
| 		<hr>
 | |
| 
 | |
| 		<?php
 | |
| 
 | |
| 		$result = mysqli_query($con,"  SELECT `ID`, course_group_members_table.Course_Group_id, `Student_ID`,
 | |
|          `Status`,course_groups_table.Group_Name,course_groups_table.Course_id
 | |
| FROM `course_group_members_table`  INNER JOIN course_groups_table on
 | |
| course_groups_table.Course_Group_id=course_group_members_table.Course_Group_id WHERE Student_id=$student_id and course_groups_table.Course_id=$course_id");
 | |
| 
 | |
| 		if(mysqli_num_rows($result)==0)
 | |
| 		{
 | |
| 		    echo "You have no group in this course.";
 | |
| 		} else {
 | |
| 		    while($row = mysqli_fetch_assoc($result)) {
 | |
| 			$name=$row['Group_Name'];
 | |
| 			$id=$row['Course_Group_id'];
 | |
| 			$status=$row['Status'];
 | |
| 
 | |
| 
 | |
| 			$extra=" -  <a href='#' class='' onclick='invite($id)'> Invite Others</a></small>";
 | |
| 
 | |
| 			if($status=="Invited")
 | |
| 			{
 | |
| 			    $extra2="   <a href='#' class='' onclick='accept($id,1)'>Accept</a></small>";
 | |
| 			    $extra3="   <a href='#' class='' onclick='accept($id,0)'>Decline</a></small>";
 | |
| 
 | |
| 			}
 | |
| 
 | |
| 			# Add "delete group" button and allow only group creator to delete it
 | |
| 			$extra4 = "<button onclick='deleteGroup($id)' class='btn btn-sm btn-danger'>Delete group</button>";
 | |
| 
 | |
| 			echo "<ul class='list-group'>";
 | |
| 
 | |
| 			echo "<li class='list-group-item'><b>$name</b> ($status)  $extra  $extra2  $extra3" .
 | |
| 			     (($status == "Created")? "$extra4": "")
 | |
| 			    ."</li>";
 | |
| 
 | |
| 			$rs2=mysqli_query($con,"SELECT `ID`, `Course_Group_id`, course_group_members_table.Student_ID,
 | |
|                             course_group_members_table.`Status`,users_table.Full_Name FROM `course_group_members_table`
 | |
| INNER JOIN users_table on users_table.Student_ID=course_group_members_table.Student_ID
 | |
| where course_group_members_table.Course_Group_id=$id");
 | |
| 
 | |
| 			#Check whether the current user in session is the creator of the group
 | |
| 			$rs3 = mysqli_query($con, "SELECT `Status` from course_group_members_table where Student_ID = $student_id");
 | |
| 			$flag = mysqli_fetch_assoc($rs3)['Status'] == "Created";
 | |
| 
 | |
| 			while($row = mysqli_fetch_assoc($rs2)) {
 | |
| 			    $name=$row['Full_Name'];
 | |
| 			    $id=$row['Course_Group_id'];
 | |
| 			    $status=$row['Status'];
 | |
| 			    $Student_ID=$row['Student_ID'];
 | |
| 
 | |
| 			    #Show group members + remove button next to each member except the creator of the group
 | |
| 			    if($flag){
 | |
| 				echo "<li class='list-group-item'>$name - $Student_ID ($status) ".(($status != "Created")?"<button onclick='removeMember($Student_ID, $id)'
 | |
|                 class='btn btn-sm btn-warning'>Kick out</button>":"")."</li>";
 | |
| 			    } else{
 | |
| 				echo "<li class='list-group-item'><small> $name - $Student_ID ($status)</small>";
 | |
| 			    }
 | |
| 
 | |
| 			}
 | |
| 			echo "<ul>";
 | |
| 		    }
 | |
| 		}
 | |
| 		?>
 | |
| 	    </div>
 | |
| 
 | |
| 	</div>
 | |
| 
 | |
|     <?php
 | |
|     }
 | |
|     ?>
 | |
| 
 | |
| </div>
 | |
| 
 | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/themes/base/jquery-ui.min.css" integrity="sha512-ELV+xyi8IhEApPS/pSj66+Jiw+sOT1Mqkzlh8ExXihe4zfqbWkxPRi8wptXIO9g73FSlhmquFlUOuMSoXz5IRw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
 | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.0/jquery.min.js" integrity="sha512-3gJwYpMe3QewGELv8k/BX9vcqhryRdzRMxVfq6ngyWXwo03GFEzjsUm8Q7RZcHPHksttq7/GFoxjCVUjkjvPdw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>	    
 | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js" integrity="sha512-57oZ/vW8ANMjR/KQ6Be9v/+/h6bq9/l3f0Oc7vn6qMqyhvPd1cvKBRWWpzu0QoneImqr2SkmO4MSqU+RpHom3Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
 | |
| 
 | |
| 
 | |
| <script>
 | |
| 
 | |
|  function createGroup() {
 | |
|      try
 | |
|      {
 | |
|          $('<form id="frm" method="get" action="Script.php"><input type="hidden" name="creategroup" value="true">\n\
 | |
|  <input type="hidden" name="student_id" value="<?php echo $student_id; ?>" > Group name  <input type="text" name="name">\n\
 | |
| <input type="hidden" name="url" value="<?php echo $url; ?>">  <input type="hidden" name="id" value="<?php echo $course_id; ?>">    </form>').dialog({
 | |
|      modal: true,
 | |
|      title:'Create a group',
 | |
|      close: function () {
 | |
|          var closeBtn = $('.ui-dialog-titlebar-close');
 | |
|          closeBtn.html('');
 | |
|      },     
 | |
|      buttons: {
 | |
|          'Create': function () {
 | |
| 	     $('#frm').submit();
 | |
| 	     $(this).dialog('close');
 | |
|          },
 | |
|          'Cancel': function () {
 | |
| 	     $(this).dialog('close');
 | |
|          }
 | |
| 
 | |
|      }
 | |
|  });
 | |
| 
 | |
|      } catch(e){ alert(e); }
 | |
|  }
 | |
| 
 | |
| 
 | |
| 
 | |
|  function invite(id) {
 | |
| 
 | |
|      try
 | |
|      {
 | |
|          $('<form id="frm" method="get" action="Script.php"><input type="hidden" name="groupinvite" value="true">\n\
 | |
|  <input type="hidden" name="groupid" value="'+id+'" > Enter Student ID to invite  <input type="text" name="student_id">\n\
 | |
| <input type="hidden" name="url" value="<?php echo $url; ?>">  <input type="hidden" name="courseid" value="<?php echo $course_id; ?>">    </form>').dialog({
 | |
|      modal: true,
 | |
|      title:'Invite students to group',
 | |
|      close: function () {
 | |
|          var closeBtn = $('.ui-dialog-titlebar-close');
 | |
|          closeBtn.html('');
 | |
|      },          
 | |
|      buttons: {
 | |
|          'Invite': function () {
 | |
| 	     $('#frm').submit();
 | |
| 
 | |
| 	     $(this).dialog('close');
 | |
|          },
 | |
|          'Cancel': function () {
 | |
| 
 | |
| 	     $(this).dialog('close');
 | |
|          }
 | |
| 
 | |
|      }
 | |
|  });
 | |
|      } catch(e){ alert(e); }
 | |
|  }
 | |
| 
 | |
| 
 | |
| 
 | |
|  function accept(id,val) {
 | |
| 
 | |
|      try
 | |
|      {
 | |
|          $('<form id="frm" method="get" action="Script.php"><input type="hidden" name="acceptinvite" value="true">\n\
 | |
|  <input type="hidden" name="groupid" value="'+id+'" > \n\  <input type="hidden" name="action" value="'+val+'" > \n\
 | |
| \n\
 | |
|  <input type="hidden" name="student_id" value="<?php echo $student_id; ?>" > \n\
 | |
| <input type="hidden" name="url" value="<?php echo $url; ?>">  <input type="hidden" name="courseid" value="<?php echo $course_id; ?>">    </form>').dialog({
 | |
|      modal: true,
 | |
|      title:'Respond to group invitation',
 | |
|      close: function () {
 | |
|          var closeBtn = $('.ui-dialog-titlebar-close');
 | |
|          closeBtn.html('');
 | |
|      },          
 | |
|      buttons: {
 | |
|          'Confirm': function () {
 | |
| 	     $('#frm').submit();
 | |
| 
 | |
| 	     $(this).dialog('close');
 | |
|          },
 | |
|          'Cancel': function () {
 | |
| 
 | |
| 	     $(this).dialog('close');
 | |
|          }
 | |
| 
 | |
|      }
 | |
|  });
 | |
|      } catch(e){ alert(e); }
 | |
|  }
 | |
| 
 | |
| 
 | |
| 
 | |
|  function remarking(data)
 | |
|  {
 | |
|      const details = prompt("Please enter your remarking reasons","");
 | |
| 
 | |
|      window.location.href = data+"&details="+details;
 | |
|  }
 | |
| 
 | |
| 
 | |
| 
 | |
|  function removeMember(student_id, group_id) {
 | |
| 
 | |
|      try
 | |
|      {
 | |
|          $('<form id="frm" method="get" action="Script.php"><input type="hidden" name="removemember" value="true">\n\
 | |
|  <input type="hidden" name="student_id" value="'+student_id+'" > \n\
 | |
|  <input type="hidden" name="group_id" value="'+group_id+'">\n\
 | |
| <input type="hidden" name="url" value="<?php echo $url; ?>"></form>').dialog({
 | |
|      modal: true,
 | |
|      title:'Kick out '+student_id+'?',
 | |
|      close: function () {
 | |
|          var closeBtn = $('.ui-dialog-titlebar-close');
 | |
|          closeBtn.html('');
 | |
|      },          
 | |
|      buttons: {
 | |
|          'Yes': function () {
 | |
| 	     $('#frm').submit();
 | |
| 	     $(this).dialog('close');
 | |
|          },
 | |
|          'No': function () {
 | |
| 	     $(this).dialog('close');
 | |
|          }
 | |
| 
 | |
|      }
 | |
|  });
 | |
|      } catch(e){ alert(e); }
 | |
|  }
 | |
| 
 | |
| 
 | |
| 
 | |
|  function deleteGroup(id) {
 | |
| 
 | |
|      try
 | |
|      {
 | |
|          $('<form id="frm" method="get" action="Script.php"><input type="hidden" name="deletegroup" value="true">\n\
 | |
|  <input type="hidden" name="group_id" value="'+id+'" > \n\
 | |
| <input type="hidden" name="url" value="<?php echo $url; ?>"></form>').dialog({
 | |
|      modal: true,
 | |
|      title:'Delete this group?',
 | |
|      close: function () {
 | |
|          var closeBtn = $('.ui-dialog-titlebar-close');
 | |
|          closeBtn.html('');
 | |
|      },          
 | |
|      buttons: {
 | |
|          'Yes': function () {
 | |
| 	     $('#frm').submit();
 | |
| 	     $(this).dialog('close');
 | |
|          },
 | |
|          'No': function () {
 | |
| 	     $(this).dialog('close');
 | |
|          }
 | |
| 
 | |
|      }
 | |
|  });
 | |
|      } catch(e){ alert(e); }
 | |
|  }
 | |
| 
 | |
| 
 | |
|  /* For tabs to work */
 | |
|  const triggerTabList = document.querySelectorAll('#myTab a')
 | |
|  triggerTabList.forEach(triggerEl => {
 | |
|      const tabTrigger = new bootstrap.Tab(triggerEl)
 | |
|      triggerEl.addEventListener('click', event => {
 | |
| 	 event.preventDefault()
 | |
| 	 tabTrigger.show()
 | |
|      })
 | |
|  })
 | |
| 
 | |
| 
 | |
| </script>
 | |
| 
 | |
| 
 | |
| </body>
 | |
| </html>
 |