Source Code Grading System
Source Code Grading System
SOURCE CODE
74
<?php
namespace App\Controllers;
if($this->request->getMethod()=='POST'){
76
$rules = [
];
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
}else{
$password=password_hash($_POST['password'],PASSWORD_DEFAULT);
$_POST['password']=$password;
$result=$TeacherModel->insert($_POST);
if($result){
session()->setFlashdata('success', "Teacher successfully added.");
return redirect()->to('admin');
}else{
session()->setFlashdata('error', "teacher failed to add.");
}
}
}
77
return view('admin/add',$data);
}
if($this->request->getMethod()=='POST'){
$rules = [
'id' => ['label'=>"User ID",'rules'=>'required'],
'lastname' => ['label'=>"Last Name",'rules'=>'required'],
'firstname' => ['label'=>"First Name",'rules'=>'required'],
'middlename' => ['label'=>"Middle Name",'rules'=>'permit_empty'],
'username' => ['label'=>"username",'rules'=>'required|
is_unique[[Link],id,{id}]'],
'semester_id' => ['label'=>"username",'rules'=>'required'],
// 'role' => ['label'=>"role",'rules'=>'required'],
'password' => ['label'=>"Password",'rules'=>'permit_empty'],
'confirmpassword' => ['label'=>"Confirm
Password",'rules'=>'matches[password]'],
'status' => ['label'=>"status",'rules'=>'required'],
];
if(!$this->validate($rules)){
// dd($this->validator);
78
$data['validation']=$this->validator;
}else{
$_POST['role']='registrar';
$update_data['lastname']=$_POST['lastname'];
$update_data['firstname']=$_POST['firstname'];
$update_data['middlename']=$_POST['middlename'];
$update_data['semester_id']=$_POST['semester_id'];
$update_data['role']=$_POST['role'];
$update_data['username']=$_POST['username'];
$update_data['status']=$_POST['status'];
if ($_POST['password']!=""){
$password=password_hash($_POST['password'],PASSWORD_DEFAULT);
$update_data['password']=$password;
}
$result=$TeacherModel->update($_POST['id'],$update_data);
if($result){
session()->setFlashdata('success', "User successfully updated.");
return redirect()->to('admin');
}else{
session()->setFlashdata('error', "User failed to update.");
}
}
}
$teacherDetails=$TeacherModel
->where("md5(concat('edit',id))",$id)
79
->first();
if($teacherDetails){
$_POST['id']=$teacherDetails->id;
$_POST['lastname']=$teacherDetails->lastname;
$_POST['firstname']=$teacherDetails->firstname;
$_POST['middlename']=$teacherDetails->middlename;
$_POST['username']=$teacherDetails->username;
$_POST['semester_id']=$teacherDetails->semester_id;
$_POST['role']=$teacherDetails->role;
$_POST['status']=$teacherDetails->status;
return view('admin/edit',$data);
}
session()->setFlashdata('error', "Faculty not found.");
return redirect()->to('admin');
}
if($this->request->getMethod()=='POST'){
80
$rules = [
'id' => ['label'=>"User ID",'rules'=>'required'],
];
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
}else{
$result=$TeacherModel->delete([$_POST['id']]);
if($result){
session()->setFlashdata('success', "Faculty successfully deleted.");
return redirect()->to('admin');
}else{
session()->setFlashdata('error', "Faculty failed to delete.");
}
}
}
$teacherDetails=$TeacherModel
->where("md5(concat('delete',id))",$id)
->first();
// $teacherDetails=$TeacherModels
// ->where('id',$id)
// ->first();
if($teacherDetails){
$_POST['id']=$teacherDetails->id;
$_POST['lastname']=$teacherDetails->lastname;
$_POST['firstname']=$teacherDetails->firstname;
$_POST['middlename']=$teacherDetails->middlename;
81
$_POST['username']=$teacherDetails->username;
return view('admin/delete',$data);
}
session()->setFlashdata('error', "Faculty not found.");
return redirect()->to('admin');
}
if($this->request->getMethod() == 'POST'){
$rules = [
'username' => ['label' => "Admin Name", 'rules' => 'required'],
'password' => ['label' => "Password", 'rules' => 'required'],
];
if(!$this->validate($rules)){
$data['validation'] = $this->validator;
} else {
$role=$_POST['utype'];
// dd($role);
82
if($role=="registrar"){
$result = $TeacherModel
->where('username', $_POST['username'])
->where('role', 'registrar')
->first();
if($result){
if(password_verify($_POST['password'], $result->password)){
// Store multiple data in session
session()->set('isLoggedIn', true);
session()->set('firstname', $result->firstname);
session()->set('username', $result->username); // Store username
session()->set('loginid', $result->id); // Store username
// session()->set('email', $result->email); // Store email
session()->set('role', $result->role); // Store role, if applicable
session()->set('menu', 'dashboard'); //
} else {
session()->setFlashdata('error', "Invalid Credentials.");
}
}else if($role=="teacher"){
// dd("not admin");
// return;
$result = $TeacherModel
->where('username', $_POST['username'])
83
->first();
if($result){
if(password_verify($_POST['password'], $result->password)){
// Store multiple data in session
session()->set('isLoggedIn', true);
session()->set('firstname', $result->firstname);
session()->set('username', $result->username); // Store username
session()->set('loginid', $result->id); // Store username
// session()->set('email', $result->email); // Store email
session()->set('role', $result->role); // Store role, if applicable
session()->set('menu', 'dashboard'); //
} else {
session()->setFlashdata('error', "Invalid Credentials.");
}
}else if($role=="student"){
// dd("not admin");
// return;
$result = $StudentModel
->where('username', $_POST['username'])
->first();
if($result){
84
if(password_verify($_POST['password'], $result->password)){
// Store multiple data in session
session()->set('isLoggedIn', true);
session()->set('firstname', $result->firstname);
session()->set('username', $result->username); // Store username
session()->set('loginid', $result->userid); // Store username
// session()->set('email', $result->email); // Store email
session()->set('role', $result->role); // Store role, if applicable
session()->set('menu', 'enrolled'); //
} else {
session()->setFlashdata('error', "Invalid Credentials.");
}
}
}
return redirect()->to('login');
}
<?php
namespace App\Controllers;
$data['title'] = 'Admin';
$data['title_f'] = 'Admin';
// $data['menu'] = $_SESSION['menu'];
$data['title'] = 'Dashboard';
$data['title_f'] = 'Dashboard';
$data['menu'] = $_SESSION['menu'];
helper('form');
$AdminModel = new \App\Models\AdminModel();
$data=[];
// $data['menu'] = 'Menu';
if($this->request->getMethod()=='POST'){
$rules = [
'lastname' => ['label'=>"Last Name",'rules'=>'required'],
'firstname' => ['label'=>"First Name",'rules'=>'required'],
'middlename' => ['label'=>"Middle Name",'rules'=>'permit_empty'],
'username' => ['label'=>"Admin Name",'rules'=>'required|
is_unique[[Link]]'],
'password' => ['label'=>"Password",'rules'=>'required'],
'confirmpassword' => ['label'=>"Confirm
Password",'rules'=>'matches[password]'],
];
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
}else{
$password=password_hash($_POST['password'],PASSWORD_DEFAULT);
$_POST['password']=$password;
$result=$AdminModel->insert($_POST);
if($result){
session()->setFlashdata('success', "Admin successfully added.");
return redirect()->to('admin');
}else{
session()->setFlashdata('error', "Admin failed to add.");
}
}
}
return view('admin/add',$data);
}
88
// dd($id);
if($this->request->getMethod()=='POST'){
$rules = [
'adminid' => ['label'=>"Admin ID",'rules'=>'required'],
'lastname' => ['label'=>"Last Name",'rules'=>'required'],
'firstname' => ['label'=>"First Name",'rules'=>'required'],
'middlename' => ['label'=>"Middle Name",'rules'=>'permit_empty'],
'username' => ['label'=>"Admin Name",'rules'=>'required|
is_unique[[Link],adminid,{adminid}]'],
'password' => ['label'=>"Password",'rules'=>'permit_empty'],
'confirmpassword' => ['label'=>"Confirm
Password",'rules'=>'matches[password]'],
];
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
}else{
$update_data['lastname']=$_POST['lastname'];
$update_data['firstname']=$_POST['firstname'];
$update_data['middlename']=$_POST['middlename'];
89
$update_data['username']=$_POST['username'];
if ($_POST['password']!=""){
$password=password_hash($_POST['password'],PASSWORD_DEFAULT);
$update_data['password']=$password;
}
$result=$AdminModel->update($_POST['adminid'],$update_data);
if($result){
session()->setFlashdata('success', "Admin successfully updated.");
return redirect()->to('admin');
}else{
session()->setFlashdata('error', "Admin failed to update.");
}
}
}
$AdminDetails=$AdminModel
->where("md5(concat('edit',adminid))",$id)
->first();
if($AdminDetails){
$_POST['adminid']=$AdminDetails->adminid;
$_POST['lastname']=$AdminDetails->lastname;
$_POST['firstname']=$AdminDetails->firstname;
$_POST['middlename']=$AdminDetails->middlename;
$_POST['username']=$AdminDetails->username;
return view('admin/edit',$data);
}
90
if($this->request->getMethod()=='POST'){
$rules = [
'adminid' => ['label'=>"Admin ID",'rules'=>'required'],
];
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
}else{
$result=$AdminModel->delete([$_POST['adminid']]);
if($result){
session()->setFlashdata('success', "Admin successfully deleted.");
return redirect()->to('admin');
}else{
session()->setFlashdata('error', "Admin failed to delete.");
91
}
}
}
$AdminDetails=$AdminModel
->where("md5(concat('delete',adminid))",$id)
->first();
if($AdminDetails){
$_POST['adminid']=$AdminDetails->adminid;
$_POST['lastname']=$AdminDetails->lastname;
$_POST['firstname']=$AdminDetails->firstname;
$_POST['middlename']=$AdminDetails->middlename;
$_POST['username']=$AdminDetails->username;
return view('admin/delete',$data);
}
session()->setFlashdata('error', "Admin not found.");
return redirect()->to('admin');
}
if($this->request->getMethod() == 'POST'){
$rules = [
'username' => ['label' => "Admin Name", 'rules' => 'required'],
'password' => ['label' => "Password", 'rules' => 'required'],
];
if(!$this->validate($rules)){
$data['validation'] = $this->validator;
} else {
$role=$_POST['utype'];
// dd($role);
if($role=="registrar"){
$result = $TeacherModel
->where('username', $_POST['username'])
->first();
if($result){
if(password_verify($_POST['password'], $result->password)){
// Store multiple data in session
session()->set('isLoggedIn', true);
session()->set('firstname', $result->firstname);
session()->set('username', $result->username); // Store username
session()->set('loginid', $result->id); // Store username
// session()->set('email', $result->email); // Store email
session()->set('role', $result->role); // Store role, if applicable
session()->set('menu', 'dashboard'); //
} else {
session()->setFlashdata('error', "Invalid Credentials.");
}
} else {
session()->setFlashdata('error', "Invalid Credentials.");
}
}else if($role=="teacher"){
// dd("not admin");
// return;
$result = $TeacherModel
->where('username', $_POST['username'])
->first();
if($result){
if(password_verify($_POST['password'], $result->password)){
// Store multiple data in session
session()->set('isLoggedIn', true);
session()->set('firstname', $result->firstname);
session()->set('username', $result->username); // Store username
session()->set('loginid', $result->id); // Store username
// session()->set('email', $result->email); // Store email
session()->set('role', $result->role); // Store role, if applicable
session()->set('menu', 'dashboard'); //
} else {
94
}else if($role=="student"){
// dd("not admin");
// return;
$result = $StudentModel
->where('username', $_POST['username'])
->first();
if($result){
if(password_verify($_POST['password'], $result->password)){
// Store multiple data in session
session()->set('isLoggedIn', true);
session()->set('firstname', $result->firstname);
session()->set('username', $result->username); // Store username
session()->set('loginid', $result->id); // Store username
// session()->set('email', $result->email); // Store email
session()->set('role', $result->role); // Store role, if applicable
session()->set('menu', 'dashboard'); //
} else {
session()->setFlashdata('error', "Invalid Credentials.");
}
}
95
}
}
<?php
namespace App\Controllers;
use CodeIgniter\Controller;
use CodeIgniter\HTTP\CLIRequest;
use CodeIgniter\HTTP\IncomingRequest;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;
use Psr\Log\LoggerInterface;
/**
96
* Class BaseController
*
* BaseController provides a convenient place for loading components
* and performing functions that are needed by all your controllers.
* Extend this class in any new controllers:
* class Home extends BaseController
*
* For security be sure to declare any new methods as protected or private.
*/
abstract class BaseController extends Controller
{
/**
* Instance of the main Request object.
*
* @var CLIRequest|IncomingRequest
*/
protected $request;
/**
* An array of helpers to be loaded automatically upon
* class instantiation. These helpers will be available
* to all other controllers that extend BaseController.
*
* @var list<string>
*/
protected $helpers = [];
/**
* Be sure to declare properties for any property fetch you initialized.
* The creation of dynamic property is deprecated in PHP 8.2.
*/
// protected $session;
97
/**
* @return void
*/
public function initController(RequestInterface $request, ResponseInterface
$response, LoggerInterface $logger)
{
// Do Not Edit This Line
parent::initController($request, $response, $logger);
$_SESSION['menu'] = $lastSegment;
<?php
namespace App\Controllers;
use App\Models\DepartmentModel;
98
if ($this->request->getMethod() == 'POST') {
$rules = [
'department' => ['label' => 'Department Name', 'rules' => 'required'],
'descr' => ['label' => 'School Year', 'rules' => 'required'],
'status' => ['label' => 'status', 'rules' => 'required'],
];
if (!$this->validate($rules)) {
$data['validation'] = $this->validator;
} else {
$result = $DepartmentModel->insert($this->request->getPost());
if ($result) {
session()->setFlashdata('success', 'Department added successfully.');
return redirect()->to('department');
} else {
99
if ($this->request->getMethod() == 'POST') {
$rules = [
'id' => ['label' => 'Department ID', 'rules' => 'required'],
'department' => ['label' => 'Department Name', 'rules' => 'required'],
'descr' => ['label' => 'descr', 'rules' => 'required'],
'status' => ['label' => 'status', 'rules' => 'required'],
];
if (!$this->validate($rules)) {
$data['validation'] = $this->validator;
} else {
$update_data['department']=$_POST['department'];
$update_data['descr']=$_POST['descr'];
$update_data['status']=$_POST['status'];
$result=$DepartmentModel->update($_POST['id'],$update_data);
100
if($result){
session()->setFlashdata('success', "Department successfully updated.");
return redirect()->to('department');
}else{
session()->setFlashdata('error', "Department failed to update.");
}
}
}
$DepartmentDetails=$DepartmentModel
->where("md5(concat('edit',id))",$id)
->first();
if($DepartmentDetails){
$_POST['id']=$DepartmentDetails->id;
$_POST['department']=$DepartmentDetails->department;
$_POST['descr']=$DepartmentDetails->descr;
$_POST['status']=$DepartmentDetails->status;
return view('department/edit',$data);
}
session()->setFlashdata('error', 'Department not found.');
return redirect()->to('department');
{
helper('form');
$DepartmentModel = new DepartmentModel();
$data=[];
if($this->request->getMethod()=='POST'){
$rules = [
'id' => ['label'=>"Department ID",'rules'=>'required'],
];
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
}else{
$result=$DepartmentModel->delete([$_POST['id']]);
if($result){
session()->setFlashdata('success', "Department successfully deleted.");
return redirect()->to('department');
}else{
session()->setFlashdata('error', "Department failed to delete.");
}
}
}
102
$DepartmentDetails=$DepartmentModel
->where("md5(concat('delete',id))",$id)
->first();
if($DepartmentDetails){
$_POST['id']=$DepartmentDetails->id;
$_POST['department']=$DepartmentDetails->department;
$_POST['descr']=$DepartmentDetails->descr;
$_POST['status']=$DepartmentDetails->status;
return view('department/delete',$data);
<?php
namespace App\Controllers;
use App\Models\SubjectModel;
$id = session()->get('loginid');
$data['Users'] = $StudentModel->select('student.*,
CONCAT([Link]) AS grade_section,
[Link] as course,
grade_level.name as level,
[Link] as stat,
[Link],
[Link],
[Link],
[Link],
[Link] as stat')
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = student.strand_id', 'left') // Correct join condition for
strand
->join('grade_level', 'grade_level.id = student.grade_level', 'left') // Correct join
condition for grade_level
// ->where('[Link]', $id) // Directly match teacher_id
// $data['students'] = $StudentModel->findAll();
104
// $data['Users']=$StudentModel->findAll();
return view('enroll/index',$data);
}
// dd($id );
$data = [];
$data = [];
$id = session()->get('loginid');
$data['semesters'] = $SemesterModel->findAll();
$data['datas'] = $SubjectModel->select('subject.*,
[Link],
[Link] as enrollment_id,
CONCAT([Link]) AS grade_section,
[Link] as strand,
grade_level.name as level,
[Link] as stat,
[Link],
[Link] as semester_name,
CONCAT(MAX([Link]), " ",
MAX([Link]), " ", MAX([Link])) AS teacher_name')
->join('enrollment', '[Link] = enrollment.subject_id', 'left') // Correct join
condition for grade_level
->join('teacher', '[Link] = subject.teacher_id', 'left') // Join with teacher table
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = subject.strand_id', 'left') // Correct join condition for
strand
->join('grade_level', 'grade_level.id = subject.grade_level', 'left') // Correct join
condition for grade_level
->join('semester', '[Link] = subject.semester_id', 'left') // Correct join
condition for grade_level
->where("[Link]", $id)
->where('[Link] IS NULL') // Exclude soft-deleted subjects
$data['subjects'] = $SubjectModel->select('subject.*,
[Link],
CONCAT([Link]) AS grade_section,
[Link] as strand,
grade_level.name as level,
[Link] as stat,
[Link] as semester_name,
[Link] as semester_sy,
CONCAT(MAX([Link]), " ",
MAX([Link]), " ", MAX([Link])) AS teacher_name')
->join('teacher', '[Link] = subject.teacher_id', 'left') // Join with teacher table
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = subject.strand_id', 'left') // Correct join condition for
strand
->join('grade_level', 'grade_level.id = subject.grade_level', 'left') // Correct join
condition for grade_level
->join('semester', '[Link] = subject.semester_id', 'left') // Correct join
condition for grade_level
->groupBy('[Link]') // Group by subject id
107
$SDetails = $StudentModel->select('student.*,
CONCAT([Link]) AS grade_section,
[Link] AS course,
grade_level.name AS level,
[Link] AS stat,
[Link],
[Link],
[Link],
[Link]')
->join('section', '[Link] = [Link]', 'left')
->join('strand', '[Link] = student.strand_id', 'left')
->join('grade_level', 'grade_level.id = student.grade_level', 'left')
->where("userid", $id)
->groupBy('[Link]')
->first();
if ($SDetails) {
$_POST['id'] = $SDetails->userid;
$_POST['userid'] = $SDetails->userid;
$_POST['name'] = $SDetails->firstname . ' ' . $SDetails->middlename . ' ' .
$SDetails->lastname;
$_POST['descr'] = $SDetails->grade_section;
$_POST['strand'] = $SDetails->course;
$_POST['section'] = $SDetails->grade_section;
$_POST['grade_level'] = $SDetails->level;
$_POST['total_unit'] = $totalUnits;
}
108
$data['user_id'] = $id;
// If the form is submitted
if ($this->request->getMethod() == 'POST') {
$rules = [
'userid' => ['label' => 'User', 'rules' => 'required'],
'subject_id' => ['label' => 'Subject', 'rules' => 'required'],
];
if (!$this->validate($rules)) {
// Validation failed
$data['validation'] = $this->validator;
} else {
// Check if the subject is already in the list for the student
$existingSubject = $EnrollModel->where('userid', $SDetails->userid)
->where('subject_id', $this->request->getPost('subject_id'))
->first();
if ($existingSubject) {
// Subject already exists, show an error message
session()->setFlashdata('error', "You have already joined this subject.");
} else {
// Subject is not in the list, proceed to insert
$result = $EnrollModel->insert($_POST);
if ($result) {
session()->setFlashdata('success', "Subject successfully added.");
return redirect()->to('enroll/add/'.$id);
} else {
session()->setFlashdata('error', "Subject failed to add.");
109
}
}
}
}
$id = session()->get('loginid');
$data['Users'] = $StudentModel->select('student.*,
CONCAT([Link]) AS grade_section,
[Link] AS subj,
[Link] AS course,
grade_level.name AS level,
[Link] AS stat,
[Link],
[Link],
[Link],
[Link],
CONCAT([Link], " ", [Link], " ",
[Link]) AS teacher_name') // Remove MAX for correct grouping
->join('enrollment', '[Link] = [Link]', 'left') // Join with enrollment
table first
110
return view('enroll/enrolled',$data);
}
$data['datas'] = $SubjectModel->select('subject.*,
[Link],
CONCAT([Link]) AS grade_section,
[Link] as strand,
111
grade_level.name as level,
[Link] as track,
[Link] as stat,
CONCAT(MAX([Link]), " ",
MAX([Link]), " ", MAX([Link])) AS teacher_name')
->join('teacher', '[Link] = subject.teacher_id', 'left') // Join with teacher table
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = subject.strand_id', 'left') // Correct join condition for
strand
->join('track', '[Link] = [Link]', 'left') // Correct join condition for track
->join('grade_level', 'grade_level.id = subject.grade_level', 'left') // Correct join
condition for grade_level
->groupBy('[Link]') // Group by subject id
->findAll(); // Retrieve all results
$data['students'] = $StudentModel->findAll();
return view('enroll/index', $data);
}
helper('form');
$subject_id = $this->request->getPost('subject_id');
$user_id = $this->request->getPost('user_id');
dd($subject_id);
112
// dd($id );
$data = [];
$data = [];
// $data['title'] = 'Subject / Edit';
$data['sections'] = $SectionModel->findAll();
113
$data['strands'] = $StrandModel->findAll();
$data['gradelevels'] = $GradeLevelModel->findAll();
$data['teachers'] = $TeacherModel->findAll();
$data['semesters'] = $SemesterModel->findAll();
$data['Users']=$StudentModel->findAll();
$SubjectDetails=$SubjectModel
->where("md5(concat('edit',id))",$id)
->first();
if($SubjectDetails) {
$_POST['id'] = $SubjectDetails->id;
$_POST['name'] = $SubjectDetails->name;
$_POST['descr'] = $SubjectDetails->descr;
$_POST['strand'] = $SubjectDetails->grade_level;
$_POST['section'] = $SubjectDetails->teacher_id;
$_POST['grade_level'] = $SubjectDetails->strand_id;
$_POST['semester_id'] = $SubjectDetails->section;
$_POST['unit'] = $SubjectDetails->unit;
$_POST['semester_id'] = $SubjectDetails->semester_id;
// dd($id );
$data = [];
$data = [];
$data['md_id'] = $id;
$data['strands'] = $StrandModel->findAll();
$data['gradelevels'] = $GradeLevelModel->findAll();
$data['teachers'] = $TeacherModel->findAll();
$data['semesters'] = $SemesterModel->findAll();
$data['datas'] = $SubjectModel->select('subject.*,
[Link],
[Link] as enrollment_id,
CONCAT([Link]) AS grade_section,
[Link] as strand,
grade_level.name as level,
[Link] as stat,
[Link],
[Link] as semester_name,
CONCAT(MAX([Link]), " ",
MAX([Link]), " ", MAX([Link])) AS teacher_name')
->join('enrollment', '[Link] = enrollment.subject_id', 'left') // Correct join
condition for grade_level
->join('teacher', '[Link] = subject.teacher_id', 'left') // Join with teacher table
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = subject.strand_id', 'left') // Correct join condition for
strand
->join('grade_level', 'grade_level.id = subject.grade_level', 'left') // Correct join
condition for grade_level
->join('semester', '[Link] = subject.semester_id', 'left') // Correct join
condition for grade_level
->where("md5(concat('add', [Link]))", $id)
->where('[Link] IS NULL') // Exclude soft-deleted subjects
$data['subjects'] = $SubjectModel->select('subject.*,
[Link],
CONCAT([Link]) AS grade_section,
[Link] as strand,
grade_level.name as level,
[Link] as stat,
[Link] as semester_name,
[Link] as semester_sy,
CONCAT(MAX([Link]), " ",
MAX([Link]), " ", MAX([Link])) AS teacher_name')
->join('teacher', '[Link] = subject.teacher_id', 'left') // Join with teacher table
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = subject.strand_id', 'left') // Correct join condition for
strand
->join('grade_level', 'grade_level.id = subject.grade_level', 'left') // Correct join
condition for grade_level
117
$SDetails = $StudentModel->select('student.*,
CONCAT([Link]) AS grade_section,
[Link] AS course,
grade_level.name AS level,
[Link] AS stat,
[Link],
[Link],
[Link],
[Link]')
->join('section', '[Link] = [Link]', 'left')
->join('strand', '[Link] = student.strand_id', 'left')
->join('grade_level', 'grade_level.id = student.grade_level', 'left')
->where("md5(concat('add', userid))", $id)
->groupBy('[Link]')
->first();
if ($SDetails) {
$_POST['id'] = $SDetails->userid;
$_POST['userid'] = $SDetails->userid;
$_POST['name'] = $SDetails->firstname . ' ' . $SDetails->middlename . ' ' .
$SDetails->lastname;
$_POST['descr'] = $SDetails->grade_section;
$_POST['strand'] = $SDetails->course;
$_POST['grade_section'] = $SDetails->grade_section;
118
$_POST['grade_level'] = $SDetails->level;
$_POST['total_unit'] = $totalUnits;
}
$data['user_id'] = $id;
// If the form is submitted
if ($this->request->getMethod() == 'POST') {
$rules = [
'userid' => ['label' => 'User', 'rules' => 'required'],
'subject_id' => ['label' => 'Subject', 'rules' => 'required'],
];
if (!$this->validate($rules)) {
// Validation failed
$data['validation'] = $this->validator;
} else {
// Check if the subject is already in the list for the student
$existingSubject = $EnrollModel->where('userid', $SDetails->userid)
->where('subject_id', $this->request->getPost('subject_id'))
->first();
if ($existingSubject) {
// Subject already exists, show an error message
session()->setFlashdata('error', "You have already joined this subject.");
return redirect()->to('enroll/add/'.$id);
} else {
// Subject is not in the list, proceed to insert
$result = $EnrollModel->insert($_POST);
if ($result) {
session()->setFlashdata('success', "Subject successfully added.");
119
return redirect()->to('enroll/add/'.$id);
} else {
session()->setFlashdata('error', "Subject failed to add.");
}
}
}
}
// if ($this->request->getMethod() == 'GET') {
if(isset($_GET['remove'])){
$enroll_id=$_GET['remove'];
$SubjectDetails=$EnrollModel
->where("(id)",$enroll_id)
->first();
// dd($SubjectDetails->id);
$result=$EnrollModel->delete($SubjectDetails->id);
if($result){
session()->setFlashdata('success', "Subject successfully removed.");
return redirect()->to('enroll/add/'.$id);
}else{
session()->setFlashdata('error', "Subject failed to delete.");
}
}
// }
}
public function edit($id)
{
helper('form');
$SubjectModel = new \App\Models\SubjectModel();
$SectionModel = new \App\Models\SectionModel();
$GradeLevelModel = new \App\Models\GradeLevelModel();
$StrandModel = new \App\Models\StrandModel();
$TeacherModel = new \App\Models\TeacherModel();
$SemesterModel = new \App\Models\SemesterModel();
$data = [];
$data['title'] = 'Subject / Edit';
$data['sections'] = $SectionModel->findAll();
$data['strands'] = $StrandModel->findAll();
$data['gradelevels'] = $GradeLevelModel->findAll();
$data['teachers'] = $TeacherModel->findAll();
$data['semesters'] = $SemesterModel->findAll();
if ($this->request->getMethod() == 'POST') {
$rules = [
'name' => ['label' => 'Subject Name', 'rules' => 'required'],
'descr' => ['label' => 'School Year', 'rules' => 'required'],
'teacher_id' => ['label' => 'Teacher', 'rules' => 'required'],
'grade_level' => ['label' => 'Grade Level', 'rules' => 'required'],
'strand_id' => ['label' => 'Strand', 'rules' => 'required'],
'section' => ['label' => 'Section', 'rules' => 'required'],
'unit' => ['label' => 'Unit', 'rules' => 'required'],
'track' => ['label' => 'Track', 'rules' => 'required'],
'semester_id' => ['label' => 'Semester', 'rules' => 'required'],
'status' => ['label' => 'status', 'rules' => 'required'],
121
];
if (!$this->validate($rules)) {
$data['validation'] = $this->validator;
} else {
$update_data['name']=$_POST['name'];
$update_data['descr']=$_POST['descr'];
$update_data['teacher_id']=$_POST['teacher_id'];
$update_data['grade_level']=$_POST['grade_level'];
$update_data['strand_id']=$_POST['strand_id'];
$update_data['section']=$_POST['section'];
$update_data['unit']=$_POST['unit'];
$update_data['track']=$_POST['track'];
$update_data['semester_id']=$_POST['semester_id'];
$update_data['status']=$_POST['status'];
$result=$SubjectModel->update($_POST['id'],$update_data);
if($result){
session()->setFlashdata('success', "Subject successfully updated.");
return redirect()->to('subject');
}else{
session()->setFlashdata('error', "Subject failed to update.");
}
}
}
122
$SubjectDetails=$SubjectModel
->where("md5(concat('edit',id))",$id)
->first();
if($SubjectDetails){
$_POST['id']=$SubjectDetails->id;
$_POST['name']=$SubjectDetails->name;
$_POST['descr']=$SubjectDetails->descr;
$_POST['grade_level']=$SubjectDetails->grade_level;
$_POST['teacher_id']=$SubjectDetails->teacher_id;
$_POST['strand_id']=$SubjectDetails->strand_id;
$_POST['section']=$SubjectDetails->section;
$_POST['unit']=$SubjectDetails->unit;
$_POST['track']=$SubjectDetails->track;
$_POST['semester_id']=$SubjectDetails->semester_id;
$_POST['status']=$SubjectDetails->status;
return view('subject/edit',$data);
}
session()->setFlashdata('error', 'subject not found.');
return redirect()->to('subject');
// ->where("md5(concat('delete',id))",$id)
// ->first();
// if($EnrollDetails){
// $enroll_id=$EnrollDetails->id;
// $user_id=$EnrollDetails->userid;
//
//
// $result=$EnrollDetails->delete([$enroll_id]);
//
// if($result){
// session()->setFlashdata('success', "Subject successfully deleted.");
// return redirect()->to('enroll/add/'.$md_id);
// }else{
// session()->setFlashdata('error', "Subject failed to delete.");
//
// }
// }
//
// session()->setFlashdata('error', "Subject not found.");
// return redirect()->to('enroll/add/'.$md_id);
// }
// dd($id );
$data = [];
$data = [];
$data['md_id'] = $id;
$data['subjects'] = $SubjectModel->select('subject.*,
[Link],
CONCAT([Link]) AS grade_section,
[Link] as strand,
grade_level.name as level,
[Link] as stat,
[Link] as semester_name,
[Link] as semester_sy,
CONCAT(MAX([Link]), " ",
MAX([Link]), " ", MAX([Link])) AS teacher_name')
->join('teacher', '[Link] = subject.teacher_id', 'left') // Join with teacher table
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = subject.strand_id', 'left') // Correct join condition for
strand
->join('grade_level', 'grade_level.id = subject.grade_level', 'left') // Correct join
condition for grade_level
->join('semester', '[Link] = subject.semester_id', 'left') // Correct join
condition for grade_level
->groupBy('[Link]') // Group by subject id
->findAll(); // Retrieve all results
126
$SDetails = $StudentModel->select('student.*,
CONCAT([Link]) AS grade_section,
[Link] AS course,
grade_level.name AS level,
[Link] AS stat,
[Link],
[Link],
[Link],
[Link]')
->join('section', '[Link] = [Link]', 'left')
->join('strand', '[Link] = student.strand_id', 'left')
->join('grade_level', 'grade_level.id = student.grade_level', 'left')
->where("md5(concat('add', userid))", $id)
->groupBy('[Link]')
->first();
if ($SDetails) {
$_POST['id'] = $SDetails->userid;
$_POST['userid'] = $SDetails->userid;
$_POST['name'] = $SDetails->firstname . ' ' . $SDetails->middlename . ' ' .
$SDetails->lastname;
$_POST['descr'] = $SDetails->grade_section;
$_POST['strand'] = $SDetails->course;
$_POST['section'] = $SDetails->grade_section;
$_POST['grade_level'] = $SDetails->level;
}
$data['user_id'] = $id;
// If the form is submitted
127
if ($this->request->getMethod() == 'POST') {
// if( $_POST['act']=="delete_enroll"){
//// dd($_POST['delete_enrollid']);
// $EnrollModel = new \App\Models\EnrollModel(); // Use the correct model for
the 'enrollment' table
//
//
//
// $EnrollDetails = $EnrollModel
// ->where('id', $this->request->getPost('delete_enrollid'))
// ->first();
//
// if($EnrollDetails) {
// $k = $EnrollDetails->id;
// }
//
//
//// Check if 'delete_enrollid' is provided in POST
// if (!empty($_POST['delete_enrollid'])) {
// $deleteId = $_POST['delete_enrollid'];
//
// // Attempt to delete the record
// $result = $EnrollDetails->delete($deleteId);
//
// if ($result) {
// session()->setFlashdata('success', "Subject successfully deleted.");
// } else {
// session()->setFlashdata('error', "Subject failed to delete.");
// }
// } else {
// session()->setFlashdata('error', "Invalid ID provided for deletion.");
128
// }
//
//// Redirect to the appropriate page
// return redirect()->to('enroll/add/' . ($id ?? 'default_id')); // Ensure $id is
defined or use a default value
//
//
// }
$rules = [
'userid' => ['label' => 'User', 'rules' => 'required'],
'subject_id' => ['label' => 'Subject', 'rules' => 'required'],
];
if (!$this->validate($rules)) {
// Validation failed
$data['validation'] = $this->validator;
} else {
// Check if the subject is already in the list for the student
$existingSubject = $EnrollModel->where('userid', $SDetails->userid)
->where('subject_id', $this->request->getPost('subject_id'))
->first();
if ($existingSubject) {
// Subject already exists, show an error message
session()->setFlashdata('error', "You have already joined this subject.");
} else {
// Subject is not in the list, proceed to insert
$result = $EnrollModel->insert($_POST);
if ($result) {
129
<?php
namespace App\Controllers;
use App\Models\SubjectModel;
$id = session()->get('loginid');
$data['datas'] = $SubjectModel->select('subject.*,
[Link],
CONCAT([Link]) AS grade_section,
[Link] as strand,
grade_level.name as level,
[Link] as stat,
CONCAT(MAX([Link]), " ",
MAX([Link]), " ", MAX([Link])) AS teacher_name')
->join('teacher', '[Link] = subject.teacher_id', 'left') // Join with teacher table
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = subject.strand_id', 'left') // Correct join condition for
strand
->join('grade_level', 'grade_level.id = subject.grade_level', 'left') // Correct join
condition for grade_level
->where('subject.teacher_id', $id) // Directly match teacher_id
->groupBy('[Link]') // Group by subject id
->findAll(); // Retrieve all results
$data['students'] = $StudentModel->findAll();
return view('grade/index', $data);
}
public function mygrade()
131
{
$data['title'] = 'Subject';
$SubjectModel = new \App\Models\SubjectModel();
$SectionModel = new \App\Models\SectionModel();
$GradeLevelModel = new \App\Models\GradeLevelModel();
$StrandModel = new \App\Models\StrandModel();
$TeacherModel = new \App\Models\TeacherModel();
$StudentModel = new \App\Models\StudentModel();
$id = session()->get('loginid');
$data['datas'] = $SubjectModel->select('subject.*,
[Link],
CONCAT([Link]) AS grade_section,
[Link] as strand,
grade_level.name as level,
[Link] as stat,
CONCAT(MAX([Link]), " ",
MAX([Link]), " ", MAX([Link])) AS teacher_name')
->join('teacher', '[Link] = subject.teacher_id', 'left') // Join with teacher table
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = subject.strand_id', 'left') // Correct join condition for
strand
->join('grade_level', 'grade_level.id = subject.grade_level', 'left') // Correct join
condition for grade_level
->join('enrollment', 'enrollment.subject_id = [Link]', 'left') // Correct join
condition for grade_level
->where('[Link]', $id) // Directly match teacher_id
->groupBy('[Link]') // Group by subject id
->findAll(); // Retrieve all results
132
$data['students'] = $StudentModel->findAll();
return view('grade/mygrade', $data);
}
$data = [];
$data['title'] = 'Student/ Grades ';
$data['title_f'] = 'Grades';
$data['menu'] = 'Grades';
$data['md_id'] = $id;
$myid = session()->get('loginid');
$data['role'] = $TeacherDetails->role;
[Link] AS stat,
[Link],
enrollment.subject_id,
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
grades.grade_id,
[Link],
[Link]')
->join('section', '[Link] = [Link]', 'left')
->join('strand', '[Link] = student.strand_id', 'left')
->join('grade_level', 'grade_level.id = student.grade_level', 'left')
->join('enrollment', '[Link] = [Link]', 'left')
->join('grades', 'grades.subject_id = enrollment.subject_id AND [Link] =
[Link]', 'left')
->join('subject', '[Link] = enrollment.subject_id', 'left')
->where("md5(concat('add', enrollment.subject_id))", $id)
->groupBy('[Link], grades.grade_id')
->findAll();
[Link],
CONCAT(MAX([Link]), " ", MAX([Link]), " ",
MAX([Link])) AS teacher_name')
->join('teacher', '[Link] = subject.teacher_id', 'left')
->join('section', '[Link] = [Link]', 'left')
->join('strand', '[Link] = subject.strand_id', 'left')
->join('semester', '[Link] = subject.semester_id', 'left')
->join('grade_level', 'grade_level.id = subject.grade_level', 'left')
->where("md5(concat('add', [Link]))", $id)
->first();
if ($gradeDetails) {
// Update existing grade
$update_data = [
'grade_id' => $gradeDetails->grade_id,
'subject_id' => $gradeDetails->subject_id,
'userid' => $userid,
'midterm' => $midterm,
135
if ($result) {
session()->setFlashdata('success', "Student Grade successfully updated.");
return redirect()->to('grade/add/' . $id);
} else {
session()->setFlashdata('error', "Student Grade failed to update.");
}
} else {
// Insert new grade
$gradeDetails2 = $SubjectModel->where("md5(concat('add', id))", $id)->first();
$add_data = [
'grade_id' => "",
'userid' => $userid,
'subject_id' => $gradeDetails2->id,
'midterm' => $midterm,
'final' => $final,
'average' => $final, // Assuming average is based on final for now
'grade' => $grade,
];
$result = $GradeModel->insert($add_data);
if ($result) {
session()->setFlashdata('success', "Student Grade successfully added.");
return redirect()->to('grade/add/' . $id);
136
} else {
session()->setFlashdata('error', "Student Grade failed to add.");
}
}
} else {
// Initialize empty fields for the form
$add_data['midterm'] = "";
$add_data['final'] = "";
}
// dd($id );
$data = [];
// $data = [];
$data['md_id'] = $id;
// $data['Users'] = $StudentModel->findAll();
$data['Users'] = $StudentModel->select('student.*,
CONCAT([Link]) AS grade_section,
CONCAT([Link], " - ", grade_level.name) AS coursename,
[Link] AS course,
grade_level.name AS level,
[Link] AS stat,
[Link],
enrollment.subject_id,
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
grades.grade_id,
[Link],
138
[Link]')
->join('section', '[Link] = [Link]', 'left')
->join('strand', '[Link] = student.strand_id', 'left')
->join('grade_level', 'grade_level.id = student.grade_level', 'left')
->join('enrollment', '[Link] = [Link]', 'left')
->join('grades', 'grades.subject_id = enrollment.subject_id AND [Link] =
[Link]', 'left')
->join('subject', '[Link] = enrollment.subject_id', 'left')
->where("md5(concat('add',enrollment.subject_id))",$id)
->groupBy('[Link],grades.grade_id')
->findAll();
// dd($data['Users'] );
$data['subject'] = $SubjectModel->select('subject.*,
CONCAT([Link], " - ", [Link]) AS semester_name,
[Link],
[Link],
CONCAT([Link]) AS grade_section,
[Link] as strand,
grade_level.name as level,
[Link] as stat,
[Link],
CONCAT(MAX([Link]), " ",
MAX([Link]), " ", MAX([Link])) AS teacher_name')
->join('teacher', '[Link] = subject.teacher_id', 'left') // Join with teacher table
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = subject.strand_id', 'left') // Correct join condition for
strand
->join('semester', '[Link] = subject.semester_id', 'left') // Correct join
condition for strand
139
if(isset($_GET['premid'])){
// dd($_GET['premid']);
$userid=$_GET['userid'];
// $subject_id=$_GET['subject_id'];
$premid=$_GET['premid'];
$midterm=$_GET['midterm'];
$prefinal=$_GET['prefinal'];
$final=$_GET['final'];
$average=$_GET['average'];
$grade=$_GET['grade'];
// dd($premid);
$gradeDetails = $GradeModel
->where("md5(concat('add', subject_id))", $id)
->where("userid", $_GET['userid'])
->first();
$gradeDetails = $GradeModel
->where("md5(concat('add', subject_id))", $id)
->where("userid", $userid)
->first();
// dd($average);
if ($gradeDetails) {
// dd($gradeDetails->grade_id);
// dd("meron");
140
$update_data['grade_id']=$gradeDetails->grade_id;
$update_data['subject_id']=$gradeDetails->subject_id;
$update_data['userid']=$userid;
$update_data['premid']=$premid;
$update_data['midterm']=$midterm;
$update_data['prefinal']=$prefinal;
$update_data['final']=$final;
$update_data['average']=$average;
$update_data['grade']=$grade;
// dd($update_data['grade_id']);
$result=$GradeModel->update($update_data['grade_id'],$update_data);
if($result){
session()->setFlashdata('success', "Student Grade successfully updated.");
return redirect()->to('grade/add/'.$id);
}else{
session()->setFlashdata('error', "Student Grade failed to update.");
}else{
// dd($_GET['userid']);
// dd("wala");
$user=$_GET['userid'];
// $gradeDetails = $GradeModel
//// ->where("md5(concat('add', subject_id))", $id)
// ->where("md5(concat('add', userid))", $user)
// ->first();
//
141
$gradeDetails2 = $SubjectModel
->where("md5(concat('add', id))", $id)
->first();
// dd($average);
$add_data['grade_id']="";
$add_data['userid']=$userid;
$add_data['subject_id']=$gradeDetails2->id;
$add_data['userid']=$userid;
$add_data['premid']=$premid;
$add_data['midterm']=$midterm;
$add_data['prefinal']=$prefinal;
$add_data['final']=$final;
$add_data['average']=$final;
$add_data['grade']=$grade;
// dd($userid);
$result=$GradeModel->insert($add_data);
if($result){
session()->setFlashdata('success', "Student Grade successfully updated.");
return redirect()->to('grade/add/'.$id);
}else{
session()->setFlashdata('error', "Student Grade failed to update.");
}
}
142
}else{
$add_data['premid']="";
$add_data['midterm']="";
$add_data['prefinal']="";
$add_data['final']="";
// dd($add_data);
}
// dd($id );
$data = [];
$myid = session()->get('loginid');
$data['md_id'] = $id;
// $data['Users'] = $StudentModel->findAll();
$data['Users'] = $StudentModel->select('student.*,
CONCAT([Link]) AS grade_section,
CONCAT([Link], " - ", grade_level.name) AS coursename,
[Link] AS course,
grade_level.name AS level,
[Link] AS stat,
[Link],
enrollment.subject_id,
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
grades.grade_id,
[Link],
[Link]')
->join('section', '[Link] = [Link]', 'left')
->join('strand', '[Link] = student.strand_id', 'left')
->join('grade_level', 'grade_level.id = student.grade_level', 'left')
->join('enrollment', '[Link] = [Link]', 'left')
144
->where("md5(concat('add',enrollment.subject_id))",$id)
->where("[Link]",$myid)
->groupBy('[Link],grades.grade_id')
->findAll();
// dd($data['Users'] );
$data['subject'] = $SubjectModel->select('subject.*,
CONCAT([Link], " - ", [Link]) AS semester_name,
[Link],
[Link],
CONCAT([Link]) AS grade_section,
[Link] as strand,
grade_level.name as level,
[Link] as stat,
[Link],
CONCAT(MAX([Link]), " ",
MAX([Link]), " ", MAX([Link])) AS teacher_name')
->join('teacher', '[Link] = subject.teacher_id', 'left') // Join with teacher table
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = subject.strand_id', 'left') // Correct join condition for
strand
->join('semester', '[Link] = subject.semester_id', 'left') // Correct join
condition for strand
->join('grade_level', 'grade_level.id = subject.grade_level', 'left') // Correct join
condition for grade_level
->where("md5(concat('add',[Link]))",$id)
->first();
145
if(isset($_GET['premid'])){
// dd($_GET['premid']);
$userid=$_GET['userid'];
$subject_id=$_GET['subject_id'];
$premid=$_GET['premid'];
$midterm=$_GET['midterm'];
$prefinal=$_GET['prefinal'];
$final=$_GET['final'];
$gradeDetails = $GradeModel
->where("md5(concat('add', subject_id))", $id)
->where("userid", $_GET['userid'])
->first();
$gradeDetails = $GradeModel
->where("md5(concat('add', subject_id))", $id)
->where("userid", $userid)
->first();
if ($gradeDetails) {
// dd($gradeDetails->grade_id);
// dd("meron");
$update_data['grade_id']=$gradeDetails->grade_id;
$update_data['subject_id']=$gradeDetails->subject_id;
$update_data['userid']=$userid;
$update_data['premid']=$premid;
$update_data['midterm']=$midterm;
$update_data['prefinal']=$prefinal;
$update_data['final']=$final;
146
// dd($update_data['grade_id']);
$result=$GradeModel->update($update_data['grade_id'],$update_data);
if($result){
session()->setFlashdata('success', "Student Grade successfully updated.");
return redirect()->to('grade/addmy/'.$id);
}else{
session()->setFlashdata('error', "Student Grade failed to update.");
}else{
// dd($_GET['userid']);
// dd("wala");
$user=$_GET['userid'];
// $gradeDetails = $GradeModel
//// ->where("md5(concat('add', subject_id))", $id)
// ->where("md5(concat('add', userid))", $user)
// ->first();
//
// dd($gradeDetails);
$add_data['grade_id']="";
$add_data['userid']=$userid;
$add_data['subject_id']=$subject_id;
$add_data['userid']=$userid;
$add_data['premid']=$premid;
$add_data['midterm']=$midterm;
$add_data['prefinal']=$prefinal;
$add_data['final']=$final;
147
// dd($userid);
$result=$GradeModel->insert($add_data);
if($result){
session()->setFlashdata('success', "Student Grade successfully updated.");
return redirect()->to('grade/addmy/'.$id);
}else{
session()->setFlashdata('error', "Student Grade failed to update.");
}
}
}else{
$add_data['premid']="";
$add_data['midterm']="";
$add_data['prefinal']="";
$add_data['final']="";
// dd($add_data);
}
// dd($id );
$data = [];
$myid = session()->get('loginid');
$data['md_id'] = $id;
// $data['Users'] = $StudentModel->findAll();
$data['Users'] = $StudentModel->select('student.*,
CONCAT([Link]) AS grade_section,
CONCAT([Link], " - ",
grade_level.name) AS coursename,
[Link] AS course,
grade_level.name AS level,
[Link] AS stat,
149
[Link],
enrollment.subject_id,
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
grades.grade_id,
[Link],
[Link]')
->join('section', '[Link] = [Link]', 'left')
->join('strand', '[Link] = student.strand_id', 'left')
->join('grade_level', 'grade_level.id = student.grade_level', 'left')
->join('enrollment', '[Link] = [Link]', 'left')
->join('grades', 'grades.subject_id = enrollment.subject_id AND [Link] =
[Link]', 'left')
->join('subject', '[Link] = enrollment.subject_id', 'left')
->where("md5(concat('add',enrollment.subject_id))",$id)
// ->where("[Link]",$myid)
->groupBy('[Link],grades.grade_id')
->findAll();
// dd($data['Users'] );
$data['subject'] = $SubjectModel->select('subject.*,
CONCAT([Link], " - ", [Link]) AS semester_name,
150
[Link],
[Link],
CONCAT([Link]) AS grade_section,
[Link] as strand,
grade_level.name as level,
[Link] as stat,
[Link],
CONCAT(MAX([Link]), " ",
MAX([Link]), " ", MAX([Link])) AS teacher_name')
->join('teacher', '[Link] = subject.teacher_id', 'left') // Join with teacher table
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = subject.strand_id', 'left') // Correct join condition for
strand
->join('semester', '[Link] = subject.semester_id', 'left') // Correct join
condition for strand
->join('grade_level', 'grade_level.id = subject.grade_level', 'left') // Correct join
condition for grade_level
->where("md5(concat('add',[Link]))",$id)
->first();
}
<?php
namespace App\Controllers;
use App\Models\GradeLevelModel;
151
if ($this->request->getMethod() == 'POST') {
$rules = [
'name' => ['label' => 'Grade Level Name', 'rules' => 'required'],
'descr' => ['label' => 'Description', 'rules' => 'required'],
];
if (!$this->validate($rules)) {
$data['validation'] = $this->validator;
} else {
$result = $GradeLevelModel->insert($this->request->getPost());
if ($result) {
session()->setFlashdata('success', 'Grade Level added successfully.');
return redirect()->to('grade_level');
} else {
152
if ($this->request->getMethod() == 'POST') {
$rules = [
'name' => ['label' => 'Grade Level Name', 'rules' => 'required'],
'descr' => ['label' => 'School Year', 'rules' => 'required'],
if (!$this->validate($rules)) {
$data['validation'] = $this->validator;
} else {
$update_data['name']=$_POST['name'];
$update_data['descr']=$_POST['descr'];
$update_data['status']=$_POST['status'];
$result=$GradeLevelModel->update($_POST['id'],$update_data);
153
if($result){
session()->setFlashdata('success', "Grade Level successfully updated.");
return redirect()->to('grade_level');
}else{
session()->setFlashdata('error', "Grade Level failed to update.");
}
}
}
$grade_levelDetails=$GradeLevelModel
->where("md5(concat('edit',id))",$id)
->first();
if($grade_levelDetails){
$_POST['id']=$grade_levelDetails->id;
$_POST['name']=$grade_levelDetails->name;
$_POST['descr']=$grade_levelDetails->descr;
$_POST['status']=$grade_levelDetails->status;
return view('grade_level/edit',$data);
}
session()->setFlashdata('error', 'Grade Level not found.');
return redirect()->to('grade_level');
}
154
if($this->request->getMethod()=='POST'){
$rules = [
'id' => ['label'=>"Grade Level ID",'rules'=>'required'],
];
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
}else{
$result=$GradeLevelModel->delete([$_POST['id']]);
if($result){
session()->setFlashdata('success', "Grade Level successfully deleted.");
return redirect()->to('grade_level');
}else{
session()->setFlashdata('error', "Grade Level failed to delete.");
}
}
}
155
$grade_levelDetails=$GradeLevelModel
->where("md5(concat('delete',id))",$id)
->first();
if($grade_levelDetails){
$_POST['id']=$grade_levelDetails->id;
$_POST['name']=$grade_levelDetails->name;
$_POST['descr']=$grade_levelDetails->descr;
return view('grade_level/delete',$data);
<?php
namespace App\Controllers;
use App\Models\SubjectModel;
{
$data['title'] = 'Subject';
$SubjectModel = new \App\Models\SubjectModel();
$SectionModel = new \App\Models\SectionModel();
$GradeLevelModel = new \App\Models\GradeLevelModel();
$StrandModel = new \App\Models\StrandModel();
$TeacherModel = new \App\Models\TeacherModel();
$StudentModel = new \App\Models\StudentModel();
$id = session()->get('loginid');
$data['datas'] = $SubjectModel->select('subject.*,
[Link],
CONCAT([Link]) AS grade_section,
[Link] as strand,
grade_level.name as level,
[Link] as stat,
CONCAT(MAX([Link]), " ",
MAX([Link]), " ", MAX([Link])) AS teacher_name')
->join('teacher', '[Link] = subject.teacher_id', 'left') // Join with teacher table
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = subject.strand_id', 'left') // Correct join condition for
strand
->join('grade_level', 'grade_level.id = subject.grade_level', 'left') // Correct join
condition for grade_level
// ->where('subject.teacher_id', $id) // Directly match teacher_id
->groupBy('[Link]') // Group by subject id
->findAll(); // Retrieve all results
$data['students'] = $StudentModel->findAll();
157
$id = session()->get('loginid');
$data['datas'] = $SubjectModel->select('subject.*,
[Link],
CONCAT([Link]) AS grade_section,
[Link] as strand,
grade_level.name as level,
[Link] as stat,
CONCAT(MAX([Link]), " ",
MAX([Link]), " ", MAX([Link])) AS teacher_name')
->join('teacher', '[Link] = subject.teacher_id', 'left') // Join with teacher table
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = subject.strand_id', 'left') // Correct join condition for
strand
->join('grade_level', 'grade_level.id = subject.grade_level', 'left') // Correct join
condition for grade_level
->join('enrollment', 'enrollment.subject_id = [Link]', 'left') // Correct join
condition for grade_level
->where('[Link]', $id) // Directly match teacher_id
->groupBy('[Link]') // Group by subject id
->findAll(); // Retrieve all results
158
$data['students'] = $StudentModel->findAll();
return view('grade/mygrade', $data);
}
// dd($id );
$data = [];
$data = [];
$data['md_id'] = $id;
// $data['Users'] = $StudentModel->findAll();
159
$data['Users'] = $StudentModel->select('student.*,
CONCAT([Link]) AS grade_section,
[Link] AS course,
grade_level.name AS level,
[Link] AS stat,
[Link],
enrollment.subject_id,
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
grades.grade_id,
[Link],
[Link]')
->join('section', '[Link] = [Link]', 'left')
->join('strand', '[Link] = student.strand_id', 'left')
->join('grade_level', 'grade_level.id = student.grade_level', 'left')
->join('enrollment', '[Link] = [Link]', 'left')
->join('grades', 'grades.subject_id = enrollment.subject_id AND [Link] =
[Link]', 'left')
->join('subject', '[Link] = enrollment.subject_id', 'left')
->where("md5(concat('add',enrollment.subject_id))",$id)
->groupBy('[Link],grades.grade_id')
->findAll();
// dd($data['Users'] );
160
$data['subject'] = $SubjectModel->select('subject.*,
CONCAT([Link], " - ", [Link]) AS semester_name,
[Link],
[Link],
CONCAT([Link]) AS grade_section,
[Link] as strand,
grade_level.name as level,
[Link] as stat,
[Link],
CONCAT(MAX([Link]), " ",
MAX([Link]), " ", MAX([Link])) AS teacher_name')
->join('teacher', '[Link] = subject.teacher_id', 'left') // Join with teacher table
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = subject.strand_id', 'left') // Correct join condition for
strand
->join('semester', '[Link] = subject.semester_id', 'left') // Correct join
condition for strand
->join('grade_level', 'grade_level.id = subject.grade_level', 'left') // Correct join
condition for grade_level
->where("md5(concat('add',[Link]))",$id)
->first();
if(isset($_GET['premid'])){
// dd($_GET['premid']);
$userid=$_GET['userid'];
// $subject_id=$_GET['subject_id'];
$premid=$_GET['premid'];
$midterm=$_GET['midterm'];
$prefinal=$_GET['prefinal'];
$final=$_GET['final'];
161
$average=$_GET['average'];
$grade=$_GET['grade'];
// dd($premid);
$gradeDetails = $GradeModel
->where("md5(concat('add', subject_id))", $id)
->where("userid", $_GET['userid'])
->first();
$gradeDetails = $GradeModel
->where("md5(concat('add', subject_id))", $id)
->where("userid", $userid)
->first();
// dd($average);
if ($gradeDetails) {
// dd($gradeDetails->grade_id);
// dd("meron");
$update_data['grade_id']=$gradeDetails->grade_id;
$update_data['subject_id']=$gradeDetails->subject_id;
$update_data['userid']=$userid;
$update_data['premid']=$premid;
$update_data['midterm']=$midterm;
$update_data['prefinal']=$prefinal;
$update_data['final']=$final;
$update_data['average']=$average;
$update_data['grade']=$grade;
// dd($update_data['grade_id']);
$result=$GradeModel->update($update_data['grade_id'],$update_data);
162
if($result){
session()->setFlashdata('success', "Student Grade successfully updated.");
return redirect()->to('grade/add/'.$id);
}else{
session()->setFlashdata('error', "Student Grade failed to update.");
}else{
// dd($_GET['userid']);
// dd("wala");
$user=$_GET['userid'];
// $gradeDetails = $GradeModel
//// ->where("md5(concat('add', subject_id))", $id)
// ->where("md5(concat('add', userid))", $user)
// ->first();
//
$gradeDetails2 = $SubjectModel
->where("md5(concat('add', id))", $id)
->first();
// dd($average);
$add_data['grade_id']="";
$add_data['userid']=$userid;
$add_data['subject_id']=$gradeDetails2->id;
$add_data['userid']=$userid;
$add_data['premid']=$premid;
$add_data['midterm']=$midterm;
163
$add_data['prefinal']=$prefinal;
$add_data['final']=$final;
$add_data['average']=$final;
$add_data['grade']=$grade;
// dd($userid);
$result=$GradeModel->insert($add_data);
if($result){
session()->setFlashdata('success', "Student Grade successfully updated.");
return redirect()->to('grade/add/'.$id);
}else{
session()->setFlashdata('error', "Student Grade failed to update.");
}
}
}else{
$add_data['premid']="";
$add_data['midterm']="";
$add_data['prefinal']="";
$add_data['final']="";
// dd($add_data);
}
{
helper('form');
// dd($id );
$data = [];
$myid = session()->get('loginid');
$data = [];
$data['md_id'] = $id;
// $data['Users'] = $StudentModel->findAll();
$data['Users'] = $StudentModel->select('student.*,
CONCAT([Link]) AS grade_section,
[Link] AS course,
grade_level.name AS level,
[Link] AS stat,
165
[Link],
enrollment.subject_id,
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
[Link],
grades.grade_id,
[Link],
[Link]')
->join('section', '[Link] = [Link]', 'left')
->join('strand', '[Link] = student.strand_id', 'left')
->join('grade_level', 'grade_level.id = student.grade_level', 'left')
->join('enrollment', '[Link] = [Link]', 'left')
->join('grades', 'grades.subject_id = enrollment.subject_id AND [Link] =
[Link]', 'left')
->join('subject', '[Link] = enrollment.subject_id', 'left')
->where("md5(concat('add',enrollment.subject_id))",$id)
->where("[Link]",$myid)
->groupBy('[Link],grades.grade_id')
->findAll();
// dd($data['Users'] );
$data['subject'] = $SubjectModel->select('subject.*,
CONCAT([Link], " - ", [Link]) AS semester_name,
[Link],
166
[Link],
CONCAT([Link]) AS grade_section,
[Link] as strand,
grade_level.name as level,
[Link] as stat,
[Link],
CONCAT(MAX([Link]), " ",
MAX([Link]), " ", MAX([Link])) AS teacher_name')
->join('teacher', '[Link] = subject.teacher_id', 'left') // Join with teacher table
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = subject.strand_id', 'left') // Correct join condition for
strand
->join('semester', '[Link] = subject.semester_id', 'left') // Correct join
condition for strand
->join('grade_level', 'grade_level.id = subject.grade_level', 'left') // Correct join
condition for grade_level
->where("md5(concat('add',[Link]))",$id)
->first();
if(isset($_GET['premid'])){
// dd($_GET['premid']);
$userid=$_GET['userid'];
$subject_id=$_GET['subject_id'];
$premid=$_GET['premid'];
$midterm=$_GET['midterm'];
$prefinal=$_GET['prefinal'];
$final=$_GET['final'];
$gradeDetails = $GradeModel
->where("md5(concat('add', subject_id))", $id)
->where("userid", $_GET['userid'])
->first();
167
$gradeDetails = $GradeModel
->where("md5(concat('add', subject_id))", $id)
->where("userid", $userid)
->first();
if ($gradeDetails) {
// dd($gradeDetails->grade_id);
// dd("meron");
$update_data['grade_id']=$gradeDetails->grade_id;
$update_data['subject_id']=$gradeDetails->subject_id;
$update_data['userid']=$userid;
$update_data['premid']=$premid;
$update_data['midterm']=$midterm;
$update_data['prefinal']=$prefinal;
$update_data['final']=$final;
// dd($update_data['grade_id']);
$result=$GradeModel->update($update_data['grade_id'],$update_data);
if($result){
session()->setFlashdata('success', "Student Grade successfully updated.");
return redirect()->to('grade/addmy/'.$id);
}else{
session()->setFlashdata('error', "Student Grade failed to update.");
}else{
// dd($_GET['userid']);
168
// dd("wala");
$user=$_GET['userid'];
// $gradeDetails = $GradeModel
//// ->where("md5(concat('add', subject_id))", $id)
// ->where("md5(concat('add', userid))", $user)
// ->first();
//
// dd($gradeDetails);
$add_data['grade_id']="";
$add_data['userid']=$userid;
$add_data['subject_id']=$subject_id;
$add_data['userid']=$userid;
$add_data['premid']=$premid;
$add_data['midterm']=$midterm;
$add_data['prefinal']=$prefinal;
$add_data['final']=$final;
// dd($userid);
$result=$GradeModel->insert($add_data);
if($result){
session()->setFlashdata('success', "Student Grade successfully updated.");
return redirect()->to('grade/addmy/'.$id);
}else{
session()->setFlashdata('error', "Student Grade failed to update.");
}
}
169
}else{
$add_data['premid']="";
$add_data['midterm']="";
$add_data['prefinal']="";
$add_data['final']="";
// dd($add_data);
}
}
<?php
namespace App\Controllers;
<?php
namespace App\Controllers;
use App\Models\SectionModel;
if ($this->request->getMethod() == 'POST') {
$rules = [
'name' => ['label' => 'Schedule', 'rules' => 'required'],
171
if (!$this->validate($rules)) {
$data['validation'] = $this->validator;
} else {
$result = $SectionModel->insert($this->request->getPost());
if ($result) {
session()->setFlashdata('success', 'Schedule added successfully.');
return redirect()->to('section');
} else {
session()->setFlashdata('error', 'Failed to add section.');
}
}
}
return view('section/add', $data);
}
if ($this->request->getMethod() == 'POST') {
$rules = [
'name' => ['label' => 'Schedule', 'rules' => 'required'],
'descr' => ['label' => 'Description', 'rules' => 'required'],
if (!$this->validate($rules)) {
$data['validation'] = $this->validator;
} else {
$update_data['name']=$_POST['name'];
$update_data['descr']=$_POST['descr'];
$update_data['status']=$_POST['status'];
$result=$SectionModel->update($_POST['id'],$update_data);
if($result){
session()->setFlashdata('success', "Schedule successfully updated.");
return redirect()->to('section');
}else{
session()->setFlashdata('error', "Schedule failed to update.");
}
}
}
$sectionDetails=$SectionModel
->where("md5(concat('edit',id))",$id)
->first();
if($sectionDetails){
$_POST['id']=$sectionDetails->id;
$_POST['name']=$sectionDetails->name;
$_POST['descr']=$sectionDetails->descr;
173
$_POST['status']=$sectionDetails->status;
return view('section/edit',$data);
}
session()->setFlashdata('error', 'Schedule not found.');
return redirect()->to('section');
if($this->request->getMethod()=='POST'){
$rules = [
'id' => ['label'=>"Schedule ID",'rules'=>'required'],
];
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
}else{
174
$result=$SectionModel->delete([$_POST['id']]);
if($result){
session()->setFlashdata('success', "Schedule successfully deleted.");
return redirect()->to('section');
}else{
session()->setFlashdata('error', "Schedule failed to delete.");
}
}
}
$sectionDetails=$SectionModel
->where("md5(concat('delete',id))",$id)
->first();
if($sectionDetails){
$_POST['id']=$sectionDetails->id;
$_POST['name']=$sectionDetails->name;
$_POST['descr']=$sectionDetails->descr;
return view('section/delete',$data);
<?php
175
namespace App\Controllers;
use App\Models\SemesterModel;
if ($this->request->getMethod() == 'POST') {
$rules = [
'name' => ['label' => 'Semester Name', 'rules' => 'required'],
'sy' => ['label' => 'School Year', 'rules' => 'required'],
'region' => ['label' => 'Region', 'rules' => 'required'],
'division' => ['label' => 'Division', 'rules' => 'required'],
'school_name' => ['label' => 'School Name', 'rules' => 'required'],
'school_id' => ['label' => 'School ID', 'rules' => 'required'],
];
if (!$this->validate($rules)) {
176
$data['validation'] = $this->validator;
} else {
$result = $SemesterModel->insert($this->request->getPost());
if ($result) {
session()->setFlashdata('success', 'Semester added successfully.');
return redirect()->to('semester');
} else {
session()->setFlashdata('error', 'Failed to add semester.');
}
}
}
return view('semester/add', $data);
}
if ($this->request->getMethod() == 'POST') {
$rules = [
'id' => ['label' => 'Semester ID', 'rules' => 'required'],
'name' => ['label' => 'Semester Name', 'rules' => 'required'],
'sy' => ['label' => 'School Year', 'rules' => 'required'],
'region' => ['label' => 'Region', 'rules' => 'required'],
'division' => ['label' => 'Division', 'rules' => 'required'],
'school_name' => ['label' => 'School Name', 'rules' => 'required'],
'school_id' => ['label' => 'School ID', 'rules' => 'required'],
'status' => ['label' => 'status', 'rules' => 'required'],
];
177
if (!$this->validate($rules)) {
$data['validation'] = $this->validator;
} else {
$update_data['name']=$_POST['name'];
$update_data['sy']=$_POST['sy'];
$update_data['region']=$_POST['region'];
$update_data['division']=$_POST['division'];
$update_data['school_name']=$_POST['school_name'];
$update_data['school_id']=$_POST['school_id'];
$update_data['status']=$_POST['status'];
$result=$SemesterModel->update($_POST['id'],$update_data);
if($result){
session()->setFlashdata('success', "Semester successfully updated.");
return redirect()->to('semester');
}else{
session()->setFlashdata('error', "Semester failed to update.");
}
}
}
$SemesterDetails=$SemesterModel
->where("md5(concat('edit',id))",$id)
->first();
if($SemesterDetails){
178
$_POST['id']=$SemesterDetails->id;
$_POST['name']=$SemesterDetails->name;
$_POST['sy']=$SemesterDetails->sy;
$_POST['region']=$SemesterDetails->region;
$_POST['division']=$SemesterDetails->division;
$_POST['school_name']=$SemesterDetails->school_name;
$_POST['school_id']=$SemesterDetails->school_id;
$_POST['status']=$SemesterDetails->status;
return view('semester/edit',$data);
}
session()->setFlashdata('error', 'Semester not found.');
return redirect()->to('semester');
if($this->request->getMethod()=='POST'){
$rules = [
'id' => ['label'=>"Semester ID",'rules'=>'required'],
];
179
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
}else{
$result=$SemesterModel->delete([$_POST['id']]);
if($result){
session()->setFlashdata('success', "Semester successfully deleted.");
return redirect()->to('semester');
}else{
session()->setFlashdata('error', "Semester failed to delete.");
}
}
}
$SemesterDetails=$SemesterModel
->where("md5(concat('delete',id))",$id)
->first();
if($SemesterDetails){
$_POST['id']=$SemesterDetails->id;
$_POST['name']=$SemesterDetails->name;
$_POST['sy']=$SemesterDetails->sy;
$_POST['region']=$SemesterDetails->region;
$_POST['division']=$SemesterDetails->division;
$_POST['school_name']=$SemesterDetails->school_name;
$_POST['school_id']=$SemesterDetails->school_id;
$_POST['status']=$SemesterDetails->status;
return view('semester/delete',$data);
180
<?php
namespace App\Controllers;
use App\Models\StrandModel;
if ($this->request->getMethod() == 'POST') {
181
$rules = [
'name' => ['label' => 'Strand Name', 'rules' => 'required'],
'descr' => ['label' => 'Description', 'rules' => 'required'],
];
if (!$this->validate($rules)) {
$data['validation'] = $this->validator;
} else {
$result = $StrandModel->insert($this->request->getPost());
if ($result) {
session()->setFlashdata('success', 'Strand added successfully.');
return redirect()->to('strand');
} else {
session()->setFlashdata('error', 'Failed to add strand.');
}
}
}
return view('strand/add', $data);
}
if ($this->request->getMethod() == 'POST') {
$rules = [
'name' => ['label' => 'Strand Name', 'rules' => 'required'],
'descr' => ['label' => 'School Year', 'rules' => 'required'],
182
if (!$this->validate($rules)) {
$data['validation'] = $this->validator;
} else {
$update_data['name']=$_POST['name'];
$update_data['descr']=$_POST['descr'];
$update_data['status']=$_POST['status'];
$result=$StrandModel->update($_POST['id'],$update_data);
if($result){
session()->setFlashdata('success', "Strand successfully updated.");
return redirect()->to('strand');
}else{
session()->setFlashdata('error', "Strand failed to update.");
}
}
}
$StrandDetails=$StrandModel
->where("md5(concat('edit',id))",$id)
->first();
if($StrandDetails){
$_POST['id']=$StrandDetails->id;
183
$_POST['name']=$StrandDetails->name;
$_POST['descr']=$StrandDetails->descr;
$_POST['status']=$StrandDetails->status;
return view('strand/edit',$data);
}
session()->setFlashdata('error', 'Strand not found.');
return redirect()->to('strand');
if($this->request->getMethod()=='POST'){
$rules = [
'id' => ['label'=>"strand ID",'rules'=>'required'],
];
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
184
}else{
$result=$StrandModel->delete([$_POST['id']]);
if($result){
session()->setFlashdata('success', "Strand successfully deleted.");
return redirect()->to('strand');
}else{
session()->setFlashdata('error', "Strand failed to delete.");
}
}
}
$strandDetails=$StrandModel
->where("md5(concat('delete',id))",$id)
->first();
if($strandDetails){
$_POST['id']=$strandDetails->id;
$_POST['name']=$strandDetails->name;
$_POST['descr']=$strandDetails->descr;
return view('strand/delete',$data);
}
185
<?php
namespace App\Controllers;
$searchQuery = $this->request->getGet('q');
if (!empty($searchQuery)) {
// Apply search filters to the underlying columns
$query = $query->groupStart() // Start grouping the conditions
->like('grade_level.name', $searchQuery) // Match against the grade level name
->orLike('[Link]', $searchQuery) // Match against the section name
->orLike('[Link]', $searchQuery) // Match against the strand name
->orLike('[Link]', $searchQuery) // Match against last name
->orLike('[Link]', $searchQuery) // Match against middle name
->orLike('[Link]', $searchQuery) // Match against first name
->groupEnd(); // End grouping the conditions
}
// Paginate results
$data['Users'] = $query->paginate(10); // 10 items per page
$data['pager'] = $StudentModel->pager; // Get the pager for pagination
$data['searchQuery'] = $searchQuery;
if($this->request->getMethod()=='POST'){
187
$rules = [
'username' => ['label'=>"username",'rules'=>'required'],
'password' => ['label'=>"Password",'rules'=>'required'],
];
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
}else{
$result=$StudentModel
->where('username',$_POST['username'])
->first();
if($result){
if(password_verify($_POST['password'],$result->password)){
session()->set('isLoggedIn', true);
session()->set('firstname', $result->firstname);
return redirect()->to('user');
}else{
session()->setFlashdata('error', "Invalid Credentials.");
}
}else{
session()->setFlashdata('error', "Invalid Credentials.");
}
}
}
return view('student/login',$data);
}
188
$data=[];
$data['sections'] = $SectionModel->findAll();
$data['strands'] = $StrandModel->findAll();
$data['gradelevels'] = $GradeLevelModel->findAll();
189
if($this->request->getMethod()=='POST'){
$rules = [
'gender' => ['label'=>"Gender",'rules'=>'required'],
'birthdate' => ['label'=>"Birthdate",'rules'=>'required'],
'strand_id' => ['label'=>"Strand",'rules'=>'required'],
'grade_level' => ['label'=>"Grade Level",'rules'=>'required'],
'section' => ['label'=>"Section",'rules'=>'required'],
'status' => ['label'=>"Status",'rules'=>'required'],
'role' => ['label'=>"Role",'rules'=>'required'],
'lastname' => ['label'=>"Last Name",'rules'=>'required'],
'firstname' => ['label'=>"First Name",'rules'=>'required'],
'middlename' => ['label'=>"Middle Name",'rules'=>'permit_empty'],
'username' => ['label'=>"username",'rules'=>'required|
is_unique[[Link],userid,{userid}]'],
'password' => ['label'=>"Password",'rules'=>'permit_empty'],
'confirmpassword' => ['label'=>"Confirm
Password",'rules'=>'matches[password]'],
];
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
}else{
// dd($_POST['strand']);
$password=password_hash($_POST['password'],PASSWORD_DEFAULT);
$_POST['password']=$password;
$result=$StudentModel->insert($_POST);
if($result){
190
}
}
}
return view('student/add',$data);
}
$data=[];
if($this->request->getMethod()=='POST'){
$rules = [
191
if(!$this->validate($rules)){
$data['validation']=$this->validator;
}else{
$update_data['lastname']=$_POST['lastname'];
$update_data['firstname']=$_POST['firstname'];
$update_data['middlename']=$_POST['middlename'];
$update_data['username']=$_POST['username'];
$update_data['gender']=$_POST['gender'];
$update_data['birthdate']=$_POST['birthdate'];
$update_data['strand_id']=$_POST['strand'];
$update_data['grade_level']=$_POST['grade_level'];
$update_data['section']=$_POST['section'];
$update_data['status']=$_POST['status'];
$update_data['role']=$_POST['role'];
192
if ($_POST['password']!=""){
$password=password_hash($_POST['password'],PASSWORD_DEFAULT);
$update_data['password']=$password;
}
$result=$StudentModel->update($_POST['userid'],$update_data);
if($result){
session()->setFlashdata('success', "User successfully updated.");
return redirect()->to('student');
}else{
session()->setFlashdata('error', "User failed to update.");
}
}
}
$UserDetails=$StudentModel
->where("md5(concat('edit',userid))",$id)
->first();
if($UserDetails){
$_POST['userid']=$UserDetails->userid;
$_POST['lastname']=$UserDetails->lastname;
$_POST['firstname']=$UserDetails->firstname;
$_POST['middlename']=$UserDetails->middlename;
$_POST['username']=$UserDetails->username;
$_POST['gender']=$UserDetails->gender;
$_POST['birthdate']=$UserDetails->birthdate;
$_POST['strand']=$UserDetails->strand_id;
193
$_POST['grade_level']=$UserDetails->grade_level;
$_POST['section']=$UserDetails->section;
$_POST['status']=$UserDetails->status;
return view('student/edit',$data);
}
session()->setFlashdata('error', "User not found.");
return redirect()->to('student');
}
$data=[];
if($this->request->getMethod()=='POST'){
$rules = [
'userid' => ['label'=>"User ID",'rules'=>'required'],
194
];
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
}else{
$result=$StudentModel->delete([$_POST['userid']]);
if($result){
session()->setFlashdata('success', "User successfully deleted.");
return redirect()->to('student');
}else{
session()->setFlashdata('error', "User failed to delete.");
}
}
}
$UserDetails=$StudentModel
->where("md5(concat('delete',userid))",$id)
->first();
// $UserDetails=$StudentModels
// ->where('userid',$id)
// ->first();
if($UserDetails){
$_POST['userid']=$UserDetails->userid;
$_POST['lastname']=$UserDetails->lastname;
$_POST['firstname']=$UserDetails->firstname;
$_POST['middlename']=$UserDetails->middlename;
$_POST['username']=$UserDetails->username;
$_POST['gender']=$UserDetails->gender;
195
$_POST['birthdate']=$UserDetails->birthdate;
$_POST['strand']=$UserDetails->strand_id;
$_POST['grade_level']=$UserDetails->grade_level;
$_POST['section']=$UserDetails->section;
$_POST['status']=$UserDetails->status;
return view('student/delete',$data);
}
session()->setFlashdata('error', "User not found.");
return redirect()->to('student');
}
<?php
namespace App\Controllers;
use App\Models\SubjectModel;
$myid = session()->get('loginid');
$data['roles'] = $TeacherDetails->role;
$data['role'] = $TeacherDetails->role;
$data['datas'] = $SubjectModel->select('subject.*,
[Link],
CONCAT(grade_level.name, " - ", [Link]) AS
grade_section,
[Link] as strand,
grade_level.name as level,
[Link] as stat,
CONCAT(MAX([Link]), " ",
MAX([Link]), " ", MAX([Link])) AS teacher_name')
->join('teacher', '[Link] = subject.teacher_id', 'left') // Join with teacher table
->join('section', '[Link] = [Link]', 'left') // Correct join condition for
section
->join('strand', '[Link] = subject.strand_id', 'left') // Correct join condition for
strand
->join('grade_level', 'grade_level.id = subject.grade_level', 'left') // Correct join
condition for grade_level
->groupBy('[Link]') // Group by subject id
->findAll(); // Retrieve all results
199
$data['students'] = $StudentModel->findAll();
return view('subject/enroll', $data);
}
$data = [];
$data['title'] = 'Subject / Add';
$data['sections'] = $SectionModel->findAll();
$data['strands'] = $StrandModel->findAll();
$data['gradelevels'] = $GradeLevelModel->findAll();
$data['teachers'] = $TeacherModel->findAll();
$data['semesters'] = $SemesterModel->findAll();
if ($this->request->getMethod() == 'POST') {
$rules = [
'name' => ['label' => 'Subject Name', 'rules' => 'required'],
'descr' => ['label' => 'School Year', 'rules' => 'required'],
'teacher_id' => ['label' => 'Teacher', 'rules' => 'required'],
'grade_level' => ['label' => 'Grade Level', 'rules' => 'required'],
200
if (!$this->validate($rules)) {
// dd( $this->validator);
$data['validation'] = $this->validator;
} else {
$result = $SubjectModel->insert($_POST);
if ($result) {
session()->setFlashdata('success', 'Subject added successfully.');
return redirect()->to('subject');
} else {
session()->setFlashdata('error', 'Failed to add subject.');
}
}
}
return view('subject/add', $data);
}
$data = [];
$data['title'] = 'Subject / Edit';
$data['sections'] = $SectionModel->findAll();
$data['strands'] = $StrandModel->findAll();
$data['gradelevels'] = $GradeLevelModel->findAll();
$data['teachers'] = $TeacherModel->findAll();
$data['semesters'] = $SemesterModel->findAll();
$myid = session()->get('loginid');
$data['role'] = $TeacherDetails->role;
$data['teacherowner_fullname'] = $TeacherDetails->firstname.' '.$TeacherDetails-
>middlename.' '.$TeacherDetails->lastname;
$data['teacherowner_id'] = $TeacherDetails->id;
// dd( $data['role'] );
if ($this->request->getMethod() == 'POST') {
$rules = [
'name' => ['label' => 'Subject Name', 'rules' => 'required'],
'descr' => ['label' => 'School Year', 'rules' => 'required'],
'teacher_id' => ['label' => 'Teacher', 'rules' => 'required'],
'grade_level' => ['label' => 'Grade Level', 'rules' => 'required'],
'strand_id' => ['label' => 'Strand', 'rules' => 'required'],
'section' => ['label' => 'Section', 'rules' => 'required'],
'unit' => ['label' => 'Unit', 'rules' => 'required'],
'semester_id' => ['label' => 'Semester', 'rules' => 'required'],
'status' => ['label' => 'status', 'rules' => 'required'],
];
202
if (!$this->validate($rules)) {
$data['validation'] = $this->validator;
} else {
$update_data['name']=$_POST['name'];
$update_data['descr']=$_POST['descr'];
$update_data['teacher_id']=$_POST['teacher_id'];
$update_data['grade_level']=$_POST['grade_level'];
$update_data['strand_id']=$_POST['strand_id'];
$update_data['section']=$_POST['section'];
$update_data['unit']=$_POST['unit'];
$update_data['semester_id']=$_POST['semester_id'];
$update_data['status']=$_POST['status'];
$result=$SubjectModel->update($_POST['id'],$update_data);
if($result){
session()->setFlashdata('success', "Subject successfully updated.");
return redirect()->to('subject');
}else{
session()->setFlashdata('error', "Subject failed to update.");
}
}
}
$SubjectDetails=$SubjectModel
->where("md5(concat('edit',id))",$id)
->first();
203
if($SubjectDetails){
$_POST['id']=$SubjectDetails->id;
$_POST['name']=$SubjectDetails->name;
$_POST['descr']=$SubjectDetails->descr;
$_POST['grade_level']=$SubjectDetails->grade_level;
$_POST['teacher_id']=$SubjectDetails->teacher_id;
$_POST['strand_id']=$SubjectDetails->strand_id;
$_POST['section']=$SubjectDetails->section;
$_POST['unit']=$SubjectDetails->unit;
$_POST['semester_id']=$SubjectDetails->semester_id;
$_POST['status']=$SubjectDetails->status;
return view('subject/edit',$data);
}
<?php
namespace App\Controllers;
->orderBy('lastname', 'ASC');
if (!empty($searchQuery)) {
// Apply search filters to the teacher's underlying columns
$query = $query->groupStart() // Start grouping the conditions
->like('lastname', $searchQuery) // Match against the last name
->orLike('firstname', $searchQuery) // Match against the first name
->orLike('middlename', $searchQuery) // Match against the middle name
->orLike('username', $searchQuery) // Match against username (if applicable)
->groupEnd(); // End grouping the conditions
}
// Paginate results
$data['Users'] = $query->paginate(10); // 10 items per page
$data['pager'] = $TeacherModel->pager; // Get the pager for pagination
$data['searchQuery'] = $searchQuery;
if($this->request->getMethod()=='POST'){
$rules = [
'username' => ['label'=>"username",'rules'=>'required'],
'password' => ['label'=>"Password",'rules'=>'required'],
];
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
}else{
$result=$TeacherModel
->where('username',$_POST['username'])
->first();
if($result){
if(password_verify($_POST['password'],$result->password)){
session()->set('isLoggedIn', true);
session()->set('firstname', $result->firstname);
return redirect()->to('user');
}else{
session()->setFlashdata('error', "Invalid Credentials.");
}
}else{
session()->setFlashdata('error', "Invalid Credentials.");
}
}
}
return view('teacher/login',$data);
206
if($this->request->getMethod()=='POST'){
$rules = [
];
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
}else{
$password=password_hash($_POST['password'],PASSWORD_DEFAULT);
$_POST['password']=$password;
$result=$TeacherModel->insert($_POST);
if($result){
session()->setFlashdata('success', "Teacher successfully added.");
return redirect()->to('teacher');
}else{
session()->setFlashdata('error', "teacher failed to add.");
}
}
}
return view('teacher/add',$data);
}
helper('form');
$TeacherModel = new \App\Models\TeacherModel();
$data=[];
if($this->request->getMethod()=='POST'){
$rules = [
'id' => ['label'=>"User ID",'rules'=>'required'],
'lastname' => ['label'=>"Last Name",'rules'=>'required'],
'firstname' => ['label'=>"First Name",'rules'=>'required'],
'middlename' => ['label'=>"Middle Name",'rules'=>'permit_empty'],
'username' => ['label'=>"username",'rules'=>'required|
is_unique[[Link],id,{id}]'],
'semester_id' => ['label'=>"username",'rules'=>'required'],
'role' => ['label'=>"role",'rules'=>'required'],
'password' => ['label'=>"Password",'rules'=>'permit_empty'],
'confirmpassword' => ['label'=>"Confirm
Password",'rules'=>'matches[password]'],
'status' => ['label'=>"status",'rules'=>'required'],
];
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
}else{
$update_data['lastname']=$_POST['lastname'];
$update_data['firstname']=$_POST['firstname'];
$update_data['middlename']=$_POST['middlename'];
209
$update_data['semester_id']=$_POST['semester_id'];
$update_data['role']=$_POST['role'];
$update_data['username']=$_POST['username'];
$update_data['status']=$_POST['status'];
if ($_POST['password']!=""){
$password=password_hash($_POST['password'],PASSWORD_DEFAULT);
$update_data['password']=$password;
}
$result=$TeacherModel->update($_POST['id'],$update_data);
if($result){
session()->setFlashdata('success', "User successfully updated.");
return redirect()->to('teacher');
}else{
session()->setFlashdata('error', "User failed to update.");
}
}
}
<?php
namespace App\Controllers;
use App\Models\TrackModel;
{
210
if ($this->request->getMethod() == 'POST') {
$rules = [
'name' => ['label' => 'track Name', 'rules' => 'required'],
'descr' => ['label' => 'Description', 'rules' => 'required'],
];
if (!$this->validate($rules)) {
$data['validation'] = $this->validator;
} else {
$result = $TrackModel->insert($this->request->getPost());
if ($result) {
session()->setFlashdata('success', 'track added successfully.');
return redirect()->to('track');
} else {
session()->setFlashdata('error', 'Failed to add track.');
}
}
211
}
return view('track/add', $data);
}
if ($this->request->getMethod() == 'POST') {
$rules = [
'name' => ['label' => 'track Name', 'rules' => 'required'],
'descr' => ['label' => 'School Year', 'rules' => 'required'],
if (!$this->validate($rules)) {
$data['validation'] = $this->validator;
} else {
$update_data['name']=$_POST['name'];
$update_data['descr']=$_POST['descr'];
$update_data['status']=$_POST['status'];
$result=$TrackModel->update($_POST['id'],$update_data);
212
if($result){
session()->setFlashdata('success', "track successfully updated.");
return redirect()->to('track');
}else{
session()->setFlashdata('error', "track failed to update.");
}
}
}
$trackDetails=$TrackModel
->where("md5(concat('edit',id))",$id)
->first();
if($trackDetails){
$_POST['id']=$trackDetails->id;
$_POST['name']=$trackDetails->name;
$_POST['descr']=$trackDetails->descr;
$_POST['status']=$trackDetails->status;
return view('track/edit',$data);
}
session()->setFlashdata('error', 'track not found.');
return redirect()->to('track');
if($this->request->getMethod()=='POST'){
$rules = [
'id' => ['label'=>"track ID",'rules'=>'required'],
];
if(!$this->validate($rules)){
// dd($this->validator);
$data['validation']=$this->validator;
}else{
$result=$TrackModel->delete([$_POST['id']]);
if($result){
session()->setFlashdata('success', "track successfully deleted.");
return redirect()->to('track');
}else{
session()->setFlashdata('error', "track failed to delete.");
}
}
}
$trackDetails=$TrackModel
->where("md5(concat('delete',id))",$id)
214
->first();
if($trackDetails){
$_POST['id']=$trackDetails->id;
$_POST['name']=$trackDetails->name;
$_POST['descr']=$trackDetails->descr;
return view('track/delete',$data);