File "add_position.php"
Full Path: /home/humancap/cl.humancap.com.my/assessment/cl-admin/add_position.php
File size: 11.44 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;
}
if (!isset($_SESSION['lang'])) {
$_SESSION['lang'] = 'en';
}
if (isset($_GET['lang'])) {
$lang = $_GET['lang'];
if ($lang == 'en') {
$_SESSION['lang'] = 'en';
} else {
$_SESSION['lang'] = 'bm';
}
} else {
$lang = "";
}
// 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") {
/* echo "Position Title:" . $_POST["positionTitle"];
echo "<br>";
var_dump($_POST["bis"]);
echo "<br>"; */
// Get Position Name and add into Assessment Table, then return assessment_id
$PositionTitle = $_POST["positionTitle"];
$sql = "INSERT INTO assessment (name, Project_ID) VALUES (?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("si", $PositionTitle, $_SESSION["project_id"]);
$stmt->execute();
// Retrieve the ID of the last inserted row
$lastInsertedID = $conn->insert_id;
//echo "lastInsertedID:" . $lastInsertedID;
//echo "<br>";
// Loop through bis and insert into assess_bi table.
foreach ($_POST["bis"] as $value) {
// Prepare and execute insertion query for each value
$sql = "INSERT INTO assess_bi (assessment_id, bi_id) VALUES (?, ?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ii", $lastInsertedID, $value);
$stmt->execute();
}
echo "The position " . $PositionTitle . " has been added. Click <a href='positions.php'>here</a> to return to Positions List";
$stmt->close();
$conn->close();
exit();
/*
$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 BIs DATA
$sql2 = "SELECT bi.id, bi.name, bi.nama, bi.competency_id, c.name as competency, c.nama as kompetensi FROM behavioral_indicator as bi
INNER JOIN competency as c ON bi.competency_id = c.id ORDER BY competency asc";
$bi_data = $conn->query($sql2);
// Get the current URL
$fullURL = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
// Parse the URL
$parsedURL = parse_url($fullURL);
// Rebuild the URL without the query string
$finalURL = $parsedURL['scheme'] . '://' . $parsedURL['host'] . $parsedURL['path'];
//echo "Current URL without query string: " . $finalURL;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<title>Add Position</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-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">
<!-- Styles -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/select2-bootstrap-5-theme@1.3.0/dist/select2-bootstrap-5-theme.min.css" />
<!-- Or for RTL support -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/select2-bootstrap-5-theme@1.3.0/dist/select2-bootstrap-5-theme.rtl.min.css" />
<!-- Scripts -->
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.0/dist/jquery.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
<!-- Template Main CSS File -->
<link href="assets/css/style.css" rel="stylesheet">
</head>
<body>
<!-- Initialize the Bootstrap SelectPicker -->
<script>
$(document).ready(function() {
$('.js-example-basic-multiple').select2();
});
</script>
<?php require_once "../include/header.php"; ?>
<?php require_once "../include/sidebar.php"; ?>
<main id="main" class="main">
<div class="pagetitle">
<h1>Add Position</h1>
<!--<nav>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="index.html">Position 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-10">
<h2>Add Position</h2>
<!-- HTML for the SelectPicker with live search -->
<label for="PositionTitle" class="form-label">Behavioral Indicators</label>
<?php if ($lang == 'en'){
echo "<small>(Switch to <a href='" . $finalURL . "?lang=bm'>BM</a>)</small>";
} else if ($lang == 'bm') {
echo "<small>(Switch to <a href='" . $finalURL . "?lang=en'>English</a>)</small>";
} else {
echo "<small>(Switch to <a href='" . $finalURL . "?lang=bm'>BM</a>)</small>";
}
if ($_SESSION['lang'] == 'en') {
$placeholder = "Choose behavioral indicators for this position.";
} else {
$placeholder = "Pilih 'behavioral indicators' untuk jawatan ini.";
}
?><br>
<select class="js-example-basic-multiple" data-placeholder="<?php echo $placeholder ?>" name="bis[]" multiple="multiple" style="width: 85%">
<?php
if ($bi_data->num_rows > 0) {
$optgroup = "";
$isfirst = false;
while ($row_bi = $bi_data->fetch_assoc()) {
if ($_SESSION['lang'] == 'en') {
$competency = $row_bi["competency"];
$bi = $row_bi["name"];
} else {
$competency = $row_bi["kompetensi"];
$bi = $row_bi["nama"];
}
if ($optgroup != $row_bi["competency"]){
if ($isfirst) {
echo '</optgroup>';
}
echo '<optgroup label = "' . $competency . '">';
$isfirst = true;
}
echo '<option value="' . $row_bi["id"] . '">' . $bi . '</option>';
$optgroup = $row_bi["competency"];
}
} else {
echo '<option value="">No behavioral indicators available</option>';
}
?>
</select>
</div>
<p> </p>
<div class="col-md-8" id="positionFields">
<label for="PositionTitle" class="form-label">Position Title</label>
<input type="text" class="form-control" id="PositionTitle" name="positionTitle">
</div>
<p> </p>
<div class="text-center">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</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>
</body>
</html>