File "add_assessor.php"
Full Path: /home/humancap/cl.humancap.com.my/assessment/cl-admin/add_assessor.php
File size: 13.29 KB
MIME-type: text/x-php
Charset: utf-8
<?php
require_once "../include/config.php";
// Start a session to manage user authentication
session_start();
// Check if the user is not authenticated (no session variable)
if (!isset($_SESSION["authenticated"]) || $_SESSION["authenticated"] !== true) {
// Redirect to the login page
header("Location: index.php");
exit;
}
// Create a database connection
$conn = new mysqli($host, $username, $password, $database);
// Check the connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//check for session
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Retrieve JSON data from the form submission
$position = $_POST["position"];
$assessmentType = $_POST["assessmentType"];
echo "Position = " . $position . " ";
echo "assessmentType = " . $assessmentType . " ";
if ($assessmentType === "self"){
$candidateEmail = $_POST["candEmail"];
$candidateName = $_POST["candName"];
$assName = $candidateName;
$assEmail = $candidateEmail;
$assSelfOrExt = 1;
echo "candidateEmail = " . $candidateEmail . " ";
echo "candidateName = " . $candidateName . " ";
} else {
$candidateName = $_POST["candName2"];
$assessorName = $_POST["assessorName"];
$assessorEmail = $_POST["assessorEmail"];
$assName = $assessorName;
$assEmail = $assessorEmail;
$assSelfOrExt = 2;
echo "assessorName = " . $assessorName . " ";
echo "assessorEmail = " . $assessorEmail . " ";
echo "candidateName = " . $candidateName . " ";
}
$status = 0;
$sql = "INSERT INTO assessment_by_assessor (for_candidate_name, assessment_id, name, email, self_or_ext, status) VALUES (?, ?, ?, ?, ?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ssssii", $candidateName, $position, $assName, $assEmail, $assSelfOrExt, $status);
if ($stmt->execute()) {
$stmt->close();
$conn->close();
header("Location: assessors.php");
exit; // Make sure to exit the script after redirection
} else {
echo "Error: " . $stmt->error;
$stmt->close();
$conn->close();
}
} else {
// GET PROJECT DATA
$sql = "SELECT name, nama, username FROM project where id = ".$_SESSION["project_id"];
$project_data = $conn->query($sql);
$row = $project_data->fetch_assoc();
$projectname = $row["name"];
$projectnama = $row["nama"];
$projectusername = $row["username"];
// GET POSITIONS DATA
$sql2 = "SELECT id, name FROM assessment where project_id = ".$_SESSION["project_id"];
$position_data = $conn->query($sql2);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<title>Add Assessor</title>
<meta content="" name="description">
<meta content="" name="keywords">
<!-- Favicons -->
<link href="assets/img/favicon.png" rel="icon">
<link href="assets/img/apple-touch-icon.png" rel="apple-touch-icon">
<!-- Google Fonts -->
<link href="https://fonts.gstatic.com" rel="preconnect">
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i|Nunito:300,300i,400,400i,600,600i,700,700i|Poppins:300,300i,400,400i,500,500i,600,600i,700,700i" rel="stylesheet">
<!-- Vendor CSS Files -->
<link href="assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="assets/vendor/bootstrap-icons/bootstrap-icons.css" rel="stylesheet">
<link href="assets/vendor/boxicons/css/boxicons.min.css" rel="stylesheet">
<link href="assets/vendor/quill/quill.snow.css" rel="stylesheet">
<link href="assets/vendor/quill/quill.bubble.css" rel="stylesheet">
<link href="assets/vendor/remixicon/remixicon.css" rel="stylesheet">
<link href="assets/vendor/simple-datatables/style.css" rel="stylesheet">
<!-- Template Main CSS File -->
<link href="assets/css/style.css" rel="stylesheet">
</head>
<body>
<!-- ======= Header ======= -->
<header id="header" class="header fixed-top d-flex align-items-center">
<div class="d-flex align-items-center justify-content-between">
<a href="index.html" class="logo d-flex align-items-center">
<img src="assets/img/logo.png" alt="">
<span class="d-none d-lg-block">Competency Assessment</span>
</a>
<i class="bi bi-list toggle-sidebar-btn"></i>
</div><!-- End Logo -->
<!--
<div class="search-bar">
<form class="search-form d-flex align-items-center" method="POST" action="">
<input type="text" name="query" placeholder="Search" title="Enter search keyword">
<button type="submit" title="Search"><i class="bi bi-search"></i></button>
</form>
</div>
-->
<nav class="header-nav ms-auto">
<ul class="d-flex align-items-center">
<li class="nav-item d-block d-lg-none">
<a class="nav-link nav-icon search-bar-toggle " href="#">
<i class="bi bi-search"></i>
</a>
</li><!-- End Search Icon-->
<li class="nav-item dropdown pe-3">
<a class="nav-link nav-profile d-flex align-items-center pe-0" href="#" data-bs-toggle="dropdown">
<img src="assets/img/avatar.jpg" alt="Profile" class="rounded-circle">
<span class="d-none d-md-block dropdown-toggle ps-2"><?php echo ucfirst($projectusername); ?></span>
</a><!-- End Profile Image Icon -->
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-arrow profile">
<li class="dropdown-header">
<h6>Competency Assessment</h6>
<span>Administrator</span>
</li>
<li>
<hr class="dropdown-divider">
</li>
<li>
<a class="dropdown-item d-flex align-items-center" href="logout.php">
<i class="bi bi-box-arrow-right"></i>
<span>Sign Out</span>
</a>
</li>
</ul><!-- End Profile Dropdown Items -->
</li><!-- End Profile Nav -->
</ul>
</nav><!-- End Icons Navigation -->
</header><!-- End Header -->
<?php require_once "../include/sidebar.php"; ?>
<main id="main" class="main">
<div class="pagetitle">
<h1>Add Assessor</h1>
<nav>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="index.html">Assessors List</a></li>
<li class="breadcrumb-item active">Add</li>
</ol>
</nav>
</div>
<section class="section">
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<p> </p>
<!--<h5 class="card-title">Multi Columns Form</h5>-->
<!-- Multi Columns Form -->
<form class="row g-6" method="post" onsubmit="return validateEmail()" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<div class="col-md-4">
<label for="assessmentType" class="form-label">Assessment Type</label>
<select id="assessmentType" name="assessmentType" class="form-select" onchange="toggleFields()">
<option selected>Choose...</option>
<option value="self">Self Assessment</option>
<option value="candidate">Assessment for a Candidate</option>
</select>
</div>
<div class="col-md-6" id="positionField" style="display: none;">
<label for="position" class="form-label">Assess for Position</label>
<select id="position" class="form-select" name="position">
<?php
if ($position_data->num_rows > 0) {
// Output data of each row
while ($row_position = $position_data->fetch_assoc()) {
echo '<option value="' . $row_position["id"] . '">' . $row_position["name"] . '</option>';
}
} else {
echo '<option value="">No positions available</option>';
}
?>
</select>
</div>
<div class="col-md-4"></div>
<div class="col-md-6" id="candidateFields" style="display: none;">
<label for="CandName" class="form-label">Candidate's Name</label>
<input type="text" class="form-control" id="CandName" name="candName">
<label for="CandEmail" class="form-label">Candidate's Email</label>
<input type="email" class="form-control" id="CandEmail" name="candEmail" placeholder="candidate@email.com">
</div>
<div class="col-6" id="assessorFields" style="display: none;">
<label for="CandNam2e2" class="form-label">Candidate's Name</label>
<input type="text" class="form-control" id="CandName2" name="candName2">
<label for="AssessorName" class="form-label">Assessor's Name</label>
<input type="text" class="form-control" id="AssessorName" name="assessorName" placeholder="">
<label for="AssessorEmail" class="form-label">Assessor's Email</label>
<input type="email" class="form-control" id="AssessorEmail" name="assessorEmail" placeholder="assessor@email.com">
</div>
<p> </p>
<div class="text-center">
<button type="submit" class="btn btn-primary" onclick="validateForm(event)">Submit</button>
</div>
</form>
<script>
function validateForm(event) {
var selectedOption = document.getElementById("assessmentType").value;
if (selectedOption === "self") {
return true; // Allow form submission
} else {
var candName2 = document.getElementById('CandName2').value;
var assessorName = document.getElementById('AssessorName').value;
if (candName2 === assessorName) {
alert("Candidate's Name and Assessor's Name cannot be the same.");
event.preventDefault(); // Prevent form submission
return false;
} else {
return true; // Allow form submission
}
}
}
function toggleFields() {
var selectedOption = document.getElementById("assessmentType").value;
var candidateFields = document.getElementById("candidateFields");
var assessorFields = document.getElementById("assessorFields");
if (selectedOption === "self") {
positionField.style.display = "block";
candidateFields.style.display = "block";
assessorFields.style.display = "none";
} else if (selectedOption === "candidate") {
positionField.style.display = "block";
candidateFields.style.display = "none";
assessorFields.style.display = "block";
} else {
positionField.style.display = "none";
candidateFields.style.display = "none";
assessorFields.style.display = "none";
}
}
function validateEmail() {
var selectedOption = document.getElementById("assessmentType").value;
if (selectedOption === "self") {
var emailField = document.getElementById("CandEmail");
} else {
var emailField = document.getElementById("AssessorEmail");
}
var email = emailField.value;
var emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; // Regular expression for email validation
if (!emailRegex.test(email)) {
alert("Please enter a valid email address");
emailField.focus();
return false;
}
return true;
}
</script>
</div>
</div>
</div>
</div>
</div>
</section>
</main><!-- End #main -->
<!-- ======= Footer ======= -->
<footer id="footer" class="footer">
</footer><!-- End Footer -->
<a href="#" class="back-to-top d-flex align-items-center justify-content-center"><i class="bi bi-arrow-up-short"></i></a>
<!-- Vendor JS Files -->
<script src="assets/vendor/apexcharts/apexcharts.min.js"></script>
<script src="assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="assets/vendor/chart.js/chart.umd.js"></script>
<script src="assets/vendor/echarts/echarts.min.js"></script>
<script src="assets/vendor/quill/quill.min.js"></script>
<script src="assets/vendor/simple-datatables/simple-datatables.js"></script>
<script src="assets/vendor/tinymce/tinymce.min.js"></script>
<script src="assets/vendor/php-email-form/validate.js"></script>
<!-- Template Main JS File -->
<script src="assets/js/main.js"></script>
<script>
</script>
</body>
</html>