| Server IP : 210.245.233.93 / Your IP : 216.73.216.226 Web Server : Apache/2.2.15 (CentOS) System : Linux webserver2.onesolution.com.hk 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64 User : apache ( 48) PHP Version : 5.3.3 Disable Function : exec, shell_exec, system, passthru, popen, proc_open, pcntl_exec MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/(Del)pathways.org.hk/MIS20140127/old20140221/Event/ |
Upload File : |
<?php include_once '../include/DBConnect.php'; ?>
<!DOCTYPE html>
<?php
if (isset($_POST['Detail_edit_Save'])) {
for ($i = 0; $i < sizeof($_POST['lesson_date']); $i++) {
if (isset($_POST['hidden_checkbox'])) {
foreach ($_POST['hidden_checkbox'] as $hc) {
if ($hc == $_POST['lesson_id'][$i]) {
$dbh->query("UPDATE lesson_attendance SET lastupdate=now(),deleted=1 WHERE lesson_id=" . $hc . " and actived=1 and deleted=0");
$dbh->query("UPDATE lesson SET lastupdate=now(),deleted=1 WHERE lesson_id=" . $hc . " and actived=1 and deleted=0");
$dbh->query("UPDATE event_lesson SET lastupdate=now() ,deleted=1 WHERE lesson_id=" . $hc . " and actived=1 and deleted=0");
continue 2;
}
}
}
if (empty($_POST['lesson_id'][$i])) {
$sth = $dbh->prepare("INSERT INTO `lesson`(`createby`, `createdate`, `lastupby`, `lastupdate`, `actived`, `deleted`,
`room_id`, `date`, `start_time`, `end_time`, `upload_file`, `remarks`, `state`)
VALUES (0,now(),0,now(),1,0,?,?,?,?,0,0,0)");
$sth->bindParam(1, $_POST['Room_id'][$i]);
$sth->bindParam(2, $_POST['lesson_date'][$i]);
$sth->bindParam(3, $_POST['start_time'][$i]);
$sth->bindParam(4, $_POST['end_time'][$i]);
$sth->execute();
$sth = $dbh->query("select Max(lesson_id) id from lesson ");
$ResultSet = $sth->fetch(PDO::FETCH_ASSOC);
$lesson_id = $ResultSet['id'];
$sth = $dbh->query("SELECT event_id FROM `event_lesson` WHERE lesson_id=" . $_POST['lesson_id'][($i - 1)] . " and actived=1 and deleted=0");
$ResultSet = $sth->fetch(PDO::FETCH_ASSOC);
$event_id = $ResultSet['event_id'];
$sth = $dbh->query("INSERT INTO `event_lesson`(`event_id`, `createby`, `createdate`, `lastupby`, `lastupdate`, `actived`, `deleted`, `lesson_id`)
VALUES ('$event_id',0,now(),0,now(),1,0,'$lesson_id')");
} else {
$sth = $dbh->query('UPDATE `lesson_attendance` SET `lastupdate`=now(),`deleted`=1 WHERE `lesson_id`=' . $_POST['lesson_id'][$i] . ' ');
}
for ($k = 0; $k < sizeof($_POST[$i . 'student_id']); $k++) {
$arr1 = $_POST[$i . 'student_id'];
if (!empty($_POST['lesson_id'][$i])) {
$sth = $dbh->prepare("INSERT INTO `lesson_attendance`(`lesson_id`, `createby`, `createdate`, `lastupby`, `lastupdate`, `actived`, `deleted`, `stu_linking_id`, `staff_id`, `attendance`, `date`, `in_time`, `out_time`, `reason`, `rate`)
VALUES (?,0,now(),0,now(),1,0,?,NULL,1,?,0,0,?,0)");
$sth->bindParam(1, $_POST['lesson_id'][$i]);
$sth->bindParam(2, $arr1[$k]);
$sth->bindparam(3, $_POST['lesson_date'][$i]);
$sth->bindParam(4, $_POST['lesson_state_' . $i][$k]);
$sth->execute();
} else {
$sth = $dbh->prepare("INSERT INTO `lesson_attendance`(`lesson_id`, `createby`, `createdate`, `lastupby`, `lastupdate`, `actived`, `deleted`, `stu_linking_id`, `staff_id`, `attendance`, `date`, `in_time`, `out_time`, `reason`, `rate`)
VALUES (?,0,now(),0,now(),1,0,?,NULL,1,?,0,0,?,0)");
$sth->bindParam(1, $lesson_id);
$sth->bindParam(2, $arr1[$k]);
$sth->bindparam(3, $_POST['lesson_date'][$i]);
$sth->bindParam(4, $_POST['lesson_state_' . $i][$k]);
$sth->execute();
}
}
for ($j = 0; $j < sizeof($_POST[$i . 'staff_id']); $j++) {
$arr2 = $_POST[$i . 'staff_id'];
$arr3 = $_POST[$i . 'staff_rate'];
if (empty($_POST['lesson_id'][$i])) {
$sth = $dbh->prepare("INSERT INTO `lesson_attendance`(`lesson_id`, `createby`, `createdate`, `lastupby`, `lastupdate`, `actived`, `deleted`, `stu_linking_id`, `staff_id`, `attendance`, `date`, `in_time`, `out_time`, `reason`, `rate`)
VALUES (?,0,now(),0,now(),1,0,NULL,?,1,?,0,0,?,?)");
$sth->bindParam(1, $lesson_id);
$sth->bindParam(2, $arr2[$j]);
$sth->bindParam(3, $_POST['lesson_date'][$i]);
$sth->bindParam(4, $_POST['lesson_state_' . $i][$j]);
$sth->bindParam(5, $arr3[$j]);
$sth->execute();
} else {
$sth = $dbh->prepare("INSERT INTO `lesson_attendance`(`lesson_id`, `createby`, `createdate`, `lastupby`, `lastupdate`, `actived`, `deleted`, `stu_linking_id`, `staff_id`, `attendance`, `date`, `in_time`, `out_time`, `reason`, `rate`)
VALUES (?,0,now(),0,now(),1,0,NULL,?,1,?,0,0,?,?)");
$sth->bindParam(1, $_POST['lesson_id'][$i]);
$sth->bindParam(2, $arr2[$j]);
$sth->bindParam(3, $_POST['lesson_date'][$i]);
$sth->bindParam(4, $_POST['lesson_state_' . $i][$j]);
$sth->bindParam(5, $arr3[$j]);
$sth->execute();
}
}
}
header("Location: Event_List.php");
}
$staffrate = array("Monthly", "Teacher ( In House )", "Teacher ( Outside School )",
"Teacher Assistant ( In House )", "Teacher Assistant ( Outside School )", "Traveling", "Other");
//-----#################### ↓ lesson detail after add page #################### -----//
?>
<?php if (!isset($_GET['event_id'])) { ?>
<?php
$class_size = $_POST['class_size'];
$programme = $_POST['programme'];
$subject_id = $_POST['subject_id'];
$event_type = $_POST['event_type'];
$Programme_fee_type = $_POST['programme_fee'];
if ($Programme_fee_type == 1) {
$primary_ind = $_POST['primary_ind'];
$primary_gp = $_POST['primary_gp'];
$secondary_ind = $_POST['secondary_ind'];
$secondary_gp = $_POST['secondary_gp'];
$primary_package_fee = 0;
$primary_package_discount = 0;
$secondary_package_fee = 0;
$secondary_package_discount = 0;
}
if ($Programme_fee_type == 2) {
$primary_ind = 0;
$primary_gp = 0;
$secondary_ind = 0;
$secondary_gp = 0;
$primary_package_fee = $_POST['primary_package_fee'];
$primary_package_discount = $_POST['primary_package_discount'];
$secondary_package_fee = $_POST['secondary_package_fee'];
$secondary_package_discount = $_POST['secondary_package_discount'];
}
if ($Programme_fee_type == 3) {
$primary_ind = 0;
$primary_gp = 0;
$secondary_ind = 0;
$secondary_gp = 0;
$primary_package_fee = 0;
$primary_package_discount = 0;
$secondary_package_fee = 0;
$secondary_package_discount = 0;
}
$startdate = $_POST['start_date'];
$enddate = $_POST['End_date'];
$Rate = $_POST['Rate_select'];
$check_date = $_POST['check_date'];
$Room_ID = $_POST['Room_id'];
//-----#################### ↓ Generate code id #################### -----//
$sth = $dbh->query("SELECT `prog_short_form` FROM `program` WHERE program_id = " . $programme . " and actived = 1 and deleted=0 ");
$programe = $sth->fetch(PDO::FETCH_ASSOC);
$sth = $dbh->query("SELECT `sub_short_form` FROM `subject` WHERE actived = 1 and deleted = 0 and subject_id = " . $subject_id);
$subject = $sth->fetch(PDO::FETCH_ASSOC);
if (date("m", time()) >= 9) {
$NowDate = date("y", time()) . (date("y", time()) + 1);
} else {
$NowDate = (date("y", time()) - 1) . date("y", time());
}
$group = ($event_type == '1') ? "g" : "i";
$sth = $dbh->query("SELECT COUNT(*) countgroup FROM `event` WHERE actived=1 and deleted=0 and program_id=" . $programme . " and subject_id=" . $subject_id);
$ResultSet = $sth->fetch(PDO::FETCH_ASSOC);
if (($ResultSet['countgroup'] + 1) <= 9)
$count_event_group = '0' . ($ResultSet['countgroup'] + 1);
else
$count_event_group = ($ResultSet['countgroup'] + 1);
$code_id = $programe['prog_short_form'] . $subject['sub_short_form'] . $group . $NowDate . '-' . $count_event_group;
//-----#################### ↑ Generate code id #################### -----//
//-----#################### ↓ detail page after add is save #################### -----//
if (isset($_POST['Detail_Save'])) {
$sth = $dbh->prepare("INSERT INTO `event`(`createby`, `createdate`, `lastupby`, `lastupdate`, `actived`, `deleted`,
`event_code`, `program_id`, `subject_id`, `class_size`, `programme_fee_type`,
`primary_individual_price`, `primary_group_price`, `primary_package_price`,
`secondary_individual_price`, `secondary_group_price`, `secondary_package_price`,
`package_discount`, `sec_package_discount`, `is_free`)
Values(1,now(),1,now(),1,0,?,?,?,?,?,?,?,?,?,?,?,?,?,1)");
$sth->bindParam(1, $_POST['code_id']);
$sth->bindParam(2, $programme);
$sth->bindParam(3, $subject_id);
$sth->bindParam(4, $class_size);
$sth->bindParam(5, $Programme_fee_type);
$sth->bindParam(6, $primary_ind);
$sth->bindParam(7, $primary_gp);
$sth->bindParam(8, $primary_package_fee);
$sth->bindParam(9, $secondary_ind);
$sth->bindParam(10, $secondary_gp);
$sth->bindParam(11, $secondary_package_fee);
$sth->bindParam(12, $primary_package_discount);
$sth->bindParam(13, $secondary_package_discount);
$sth->execute();
for ($i = 0; $i < sizeof($_POST['lesson_date']); $i++) {
$sth = $dbh->prepare("INSERT INTO `lesson`(`createby`, `createdate`, `lastupby`, `lastupdate`, `actived`, `deleted`,
`room_id`, `date`, `start_time`, `end_time`, `upload_file`, `remarks`, `state`)
VALUES (0,now(),0,now(),1,0,?,?,?,?,0,0,0)");
$sth->bindParam(1, $_POST['Room_id'][$i]);
$sth->bindParam(2, $_POST['lesson_date'][$i]);
$sth->bindParam(3, $_POST['start_time'][$i]);
$sth->bindParam(4, $_POST['end_time'][$i]);
$sth->execute();
$sth = $dbh->prepare("SELECT `lesson_id` FROM `lesson` WHERE `actived`=1 and`deleted`=0 and`room_id`=? and `date`=? and`start_time`=? and `end_time`=?");
$sth->bindParam(1, $_POST['Room_id'][$i]);
$sth->bindParam(2, $_POST['lesson_date'][$i]);
$sth->bindParam(3, $_POST['start_time'][$i]);
$sth->bindParam(4, $_POST['end_time'][$i]);
$sth->execute();
$lesson_id = array();
while ($ResultSet = $sth->fetch(PDO::FETCH_ASSOC)) {
$lesson_id = $ResultSet;
}
$sth = $dbh->query("SELECT Max(`event_id`) e FROM `event` where `actived`=1 and `deleted`=0");
while ($ResultSet = $sth->fetch(PDO::FETCH_ASSOC)) {
$event_id = $ResultSet['e'];
}
foreach ($lesson_id as $les) {
$sth = $dbh->query("INSERT INTO `event_lesson`(`event_id`, `createby`, `createdate`, `lastupby`, `lastupdate`, `actived`, `deleted`, `lesson_id`)
VALUES ($event_id,1,now(),1,now(),1,0,$les)");
}
for ($j = 0; $j < sizeof($_POST[$i . 'staff_id']); $j++) {
$arr2 = $_POST[$i . 'staff_id'];
$arr3 = $_POST[$i . 'staff_rate'];
$sth = $dbh->prepare("INSERT INTO `lesson_attendance`(`lesson_id`, `createby`, `createdate`, `lastupby`, `lastupdate`, `actived`, `deleted`, `stu_linking_id`, `staff_id`, `attendance`, `date`, `in_time`, `out_time`, `reason`, `rate`)
VALUES (?,0,now(),0,now(),1,0,NULL,?,1,?,0,0,NULL,?)");
$sth->bindParam(1, $lesson_id['lesson_id']);
$sth->bindParam(2, $arr2[$j]);
$sth->bindParam(3, $_POST['lesson_date'][$i]);
$sth->bindParam(4, $arr3[$j]);
$sth->execute();
}
for ($k = 0; $k < sizeof($_POST[$i . 'student_id']); $k++) {
$arr1 = $_POST[$i . 'student_id'];
$sth = $dbh->prepare("INSERT INTO `lesson_attendance`(`lesson_id`, `createby`, `createdate`, `lastupby`, `lastupdate`, `actived`, `deleted`, `stu_linking_id`, `staff_id`, `attendance`, `date`, `in_time`, `out_time`, `reason`, `rate`)
VALUES (?,0,now(),0,now(),1,0,?,NULL,1,?,0,0,?,0)");
$sth->bindParam(1, $lesson_id['lesson_id']);
$sth->bindParam(2, $arr1[$k]);
$sth->bindParam(3, $_POST['lesson_date'][$i]);
$sth->bindParam(4, $_POST['lesson_state_' . $i][$k]);
$sth->execute();
}
}
header('Location: Event_List.php');
}
//-----#################### ↑ detail page after add is save #################### -----//
$alert = "";
$select_Day = array();
for ($i = 0; $i < sizeof($check_date); $i++) {
switch ($check_date[$i]) {
case 0:
array_push($select_Day, 'Mon');
break;
case 1:
array_push($select_Day, 'Tue');
break;
case 2:
array_push($select_Day, 'Wed');
break;
case 3:
array_push($select_Day, 'Thu');
break;
case 4:
array_push($select_Day, 'Fri');
break;
case 5:
array_push($select_Day, 'Sat');
break;
case 6:
array_push($select_Day, 'Sun');
break;
}
}
$lesson_date_Generate = array();
$length = ((strtotime($enddate) - strtotime($startdate)) / 3600 / 24 > 7 || (strtotime($enddate) - strtotime($startdate)) == 0 ) ? 7 : (strtotime($enddate) - strtotime($startdate)) / 3600 / 24 - 1;
for ($i = 0; $i < $length; $i++) {
for ($j = 0; $j < sizeof($select_Day); $j++) {
$start_time_checkdate = explode(":", $_POST['start_time'][$check_date[$j]]);
$end_time_checkdate = explode(":", $_POST['end_time'][$check_date[$j]]);
if (date("D", strtotime($startdate) + 60 * 60 * 24 * $i) == $select_Day[$j]) {
array_push($lesson_date_Generate, array(
strtotime($startdate) + 60 * 60 * 24 * $i,
mktime($start_time_checkdate[0], $start_time_checkdate[1]),
mktime($end_time_checkdate[0], $end_time_checkdate[1]),
$Room_ID[$check_date[$j]]
));
}
}
}
for ($i = 0; $i < sizeof($lesson_date_Generate); $i++) {
if ($lesson_date_Generate[$i][0] + 60 * 60 * 24 * 7 * $Rate > strtotime($enddate))
break;
array_push($lesson_date_Generate, array(
$lesson_date_Generate[$i][0] + 60 * 60 * 24 * 7 * $Rate,
$lesson_date_Generate[$i][1],
$lesson_date_Generate[$i][2],
$lesson_date_Generate[$i][3]
));
}
$alert_array = array();
$alert_str = "";
$sth = $dbh->query('SELECT `room_id`, `date`, `start_time`, `end_time` FROM `lesson` WHERE `actived`=1 and `deleted`=0 order by date');
$lesson_date = array();
for ($i = 0; $i < sizeof($lesson_date_Generate); $i++) {
while ($ResultSet = $sth->fetch(PDO::FETCH_ASSOC)) {
$Resultset_start_time = explode(':', $ResultSet['start_time']);
$ResultSet_end_time = explode(':', $ResultSet['end_time']);
if ($lesson_date_Generate[$i][0] == strtotime($ResultSet['date']) && $lesson_date_Generate[$i][3] == $ResultSet['room_id']) {
$db_starttime = mktime($Resultset_start_time[0], $Resultset_start_time[1]);
$db_endtime = mktime($ResultSet_end_time[0], $ResultSet_end_time[1]);
$gen_starttime = $lesson_date_Generate[$i][1];
$gen_endtime = $lesson_date_Generate[$i][2];
/* S=db start time E=db end time ||=gen start/end time */
/* --- case 1 :( | S E | ) --- */
/* --- case 2 :( | S | E ) --- */
/* --- case 3 :( S | E | ) --- */
/* --- case 4 :( S | | E ) --- */
if ($db_starttime <= $gen_starttime && $db_endtime >= $gen_starttime) { // case 1, case 2
$alert = 'Date : ' . $ResultSet['date'] . ' Start Time : ' . date("H:i", $gen_starttime) . ' End Time : ' . date("H:i", $gen_endtime) . '\n';
array_push($alert_array, $alert);
continue 2;
}
if ($db_starttime <= $gen_endtime && $db_endtime >= $gen_endtime) { // case 3, case 1
$alert = 'Date : ' . $ResultSet['date'] . ' Start Time : ' . date("H:i", $gen_starttime) . ' End Time : ' . date("H:i", $gen_endtime) . '\n';
array_push($alert_array, $alert);
continue 2;
}
if ($db_starttime >= $gen_starttime && $db_endtime <= $gen_endtime) { // case 4
$alert = 'Date : ' . $ResultSet['date'] . ' Start Time : ' . date("H:i", $gen_starttime) . ' End Time : ' . date("H:i", $gen_endtime) . '\n';
array_push($alert_array, $alert);
continue 2;
}
}
}
array_push($lesson_date, array(date("Y/m/d", $lesson_date_Generate[$i][0]), date("H:i", $lesson_date_Generate[$i][1]), date("H:i", $lesson_date_Generate[$i][2]), $lesson_date_Generate[$i][3]));
}
//-----#################### ↑ lesson detail after add page #################### -----//
} else {
$lesson_date = array();
$sth = $dbh->query("select `room_id`,`date`,`start_time`,`end_time`,`lesson_id`,state from lesson where `lesson_id` in (
SELECT `lesson_id` FROM `event_lesson` WHERE `event_id`=" . $_REQUEST['event_id'] . " and `actived`=1 and `deleted`=0 ) order by 2");
while ($ResultSet = $sth->fetch(PDO::FETCH_ASSOC)) {
array_push($lesson_date, array($ResultSet['date'], $ResultSet['start_time'], $ResultSet['end_time'], $ResultSet['room_id'], $ResultSet['lesson_id'], $ResultSet['state']));
}
}
?>
<html>
<head>
<?php require_once '../include/head.php'; ?>
<?php require_once '../include/checkuser.php'; ?>
<?php require_once '../include/Nav_bar.php'; ?>
<script>
var student_id, staff_id, row = 0, row_staff = 0, data = 0;
var staffrate = new Array("Monthly","Teacher ( In House )","Teacher ( Outside School )",
"Teacher Assistant ( In House )","Teacher Assistant ( Outside School )","Traveling","Other");
$.fn.modal.Constructor.prototype.enforceFocus = function() {
};
$(function() {
$('#start_date_id').datetimepicker({autoclose: true, pickTime: false, startDate: new Date()});
$(".student_name").select2();
$('.staff_name').select2();
$(".student_name").on("select2-selecting", function(e) {
student_id = e.val.split(",");
});
$('.staff_name').on("select2-selecting", function(e) {
staff_id = e.val.split(",");
});
data = $('#sizeof_lesson').val();
$('.time_1').focus(function() {
$(this).val('');
});
$('.time_2').focus(function() {
$(this).val('');
});
$('.time_1').keyup(function() {
if ($(this).val() >= 24) {
$(this).val('');
} else {
if ($(this).val().length == 2)
$(this).parent().next().next().children().focus();
}
});
$('.time_2').keyup(function(e) {
if ($(this).val() >= 60) {
$(this).val('');
} else {
if ($(this).val().length == 2)
$(this).parent().next().next().next().children().focus();
}
});
$('.timepicker_start').timepicker({'timeFormat': 'H:i', 'step': 5, 'minTime': '6:00', 'maxTime': '22:00', disableTextInput: false});
$('.timepicker_end').timepicker({'timeFormat': 'H:i', 'step': 5, 'minTime': '6:00', 'maxTime': '22:00', disableTextInput: false});
});
function adddate_staff(n, n1) {
row_staff++;
var rate = $('#Rate_staff_' + n).val();
if (document.getElementById('staff_lesson_only_' + n).checked == true) {
for (var j = 0; j < $('#staff_table_' + n + ' tr').length; j++) { // loop the tr in tbody
if ($('#staff_table_' + n + ' tr:nth-child(' + (j + 1) + ') td:nth-child(3) input').val() == staff_id[2]) {
return false;
}
}
$('#staff_table_' + n).append(
'<tr>' +
'<td><button type="button" class="btn" onclick="delete_row_staff(this,' + n + ');"><i class="icon-remove"></i></button></td>' +
'<td>' + staff_id[0] + ' ( ' + staff_id[1] + ' ) ' +
' <td>' + staffrate[rate.split(" ")[1]] +
'<input type="hidden" name="' + n + 'staff_id[]" value="' + staff_id[2] + '"/>' +
'<input type="hidden" name="' + n + 'staff_rate[]" value="' + rate.split(" ")[1] + '"/></td>' +
'</tr>')
}
if (document.getElementById('staff_lesson_All_' + n).checked == true) {
adddataall_staff(n, n1);
}
}
function adddataall_staff(n, n1) {
n1 -= 1;
var rate = $('#Rate_staff_' + n).val();
var abort = false;
for (var i = n; i < data; i++) {
for (var j = 0; j < $('#staff_table_' + i + ' tr').length; j++) { // loop the tr in tbody
if ($('#staff_table_' + i + ' tr:nth-child(' + (j + 1) + ') td:nth-child(3) input').val() == staff_id[2]) {
abort = true;
}
}
if (abort == true)
continue;
$('#staff_table_' + i).append(
'<tr>' +
'<td><button type="button" class="btn" onclick="delete_row_staff(this,' + i + ');"><i class="icon-remove"></i></button></td>' +
'<td>' + staff_id[0] + ' ( ' + staff_id[1] + ' ) ' +
' <td>' + staffrate[rate.split(" ")[1]] +
'<input type="hidden" name="' + i + 'staff_id[]" value="' + staff_id[2] + '"/>' +
'<input type="hidden" name="' + i + 'staff_rate[]" value="' + rate.split(" ")[1] + '"/></td>' +
'</tr>')
}
}
function adddate(n, n1) {
row++;
if (document.getElementById('lesson_only_' + n).checked == true) {
for (var j = 0; j < $('#student_table_' + n + ' tr').length; j++) { // loop the tr in tbody
if ($('#student_table_' + n + ' tr:nth-child(' + (j + 1) + ') td:nth-child(3) input').val() == student_id[3]) {
return false;
}
}
$('#student_table_' + n + ' ').append(
'<tr>' +
'<td><button type="button" class="btn" onclick="delete_row_student(this,' + n + ');"><i class="icon-remove"></i></button></td>' +
' <td>' + student_id[0] + '</td> ' +
'<td>' + student_id[1] + ' ( ' + student_id[2] + ' ) ' +
'<input type="hidden" name="' + n + 'student_id[]" value="' + student_id[3] + '"/></td>' +
'<td style="padding-top: 10px;"> <select style="width: 100%;" name="lesson_state_'+n+'[]"><option value="1">Normal Class</option><option value="2">Make-up Class</option></select></td>'+
'</tr>');
}
if (document.getElementById('lesson_All_' + n).checked == true) {
adddataall(n);
}
}
function adddataall(n1) {
var abort = false;
for (var i = n1; i < data; i++) {
for (var j = 0; j < $('#student_table_' + i + ' tr').length; j++) { // loop the tr in tbody
if ($('#student_table_' + i + ' tr:nth-child(' + (j + 1) + ') td:nth-child(3) input').val() == student_id[3]) {
abort = true;
}
}
if (abort == true)
continue;
$('#student_table_' + i + ' ').append('<tr id="tr_' + row + '">' +
'<td><button type="button" class="btn" onclick="delete_row_student(this,' + i + ');"><i class="icon-remove"></i></button></td>' +
' <td>' + student_id[0] + '</td> ' +
'<td>' + student_id[1] + ' ( ' + student_id[2] + ' ) ' +
'<input type="hidden" name="' + i + 'student_id[]" value="' + student_id[3] + '" /></td>' +
'<td style="padding-top: 10px;"> <select style="width: 100%;" name="lesson_state_'+i+'[]"><option value="1">Normal Class</option><option value="2" >Make-up Class</option></select></td>'+
'</tr>');
}
}
function checkradio(num, v) {
num -= 1;
document.getElementById('lesson_All_' + num).checked = true;
}
function checkradio2(num, v) {
num -= 1;
document.getElementById('staff_lesson_All_' + num).checked = true;
}
function delete_row_student(e, tbody_id) {
if (document.getElementById('lesson_only_' + tbody_id).checked == true) {
$(e).parent().parent().remove();
}
if (document.getElementById('lesson_All_' + tbody_id).checked == true) {
delete_row_student_Aall(e, tbody_id);
}
}
function delete_row_student_Aall(e, tbody_id) {
var hidden_value = $(e).parent().nextAll().children().val();//use to compare the hidden value
for (var i = tbody_id; i < data; i++) {//loop the tbody of the model
for (var j = 0; j < $('#student_table_' + i + ' tr').length; j++) { // loop the tr in tbody
if ($('#student_table_' + i + ' tr:nth-child(' + (j + 1) + ') td:nth-child(3) input').val() == hidden_value) {
$('#student_table_' + i + ' tr:nth-child(' + (j + 1) + ')').remove();
}
}
}
}
function delete_row_staff(e, tbody_id) {
if (document.getElementById('staff_lesson_only_' + tbody_id).checked == true) {
$(e).parent().parent().remove();
}
if (document.getElementById('staff_lesson_All_' + tbody_id).checked == true) {
delete_row_staff_Aall(e, tbody_id);
}
}
function delete_row_staff_Aall(e, tbody_id) {
var hidden_value = $(e).parent().nextAll().children().val();//use to compare the hidden value
for (var i = tbody_id; i < data; i++) {//loop the tbody of the model
for (var j = 0; j < $('#staff_table_' + i + ' tr').length; j++) { /* loop the tr in tbody */
if ($('#staff_table_' + i + ' tr:nth-child(' + (j + 1) + ') td:nth-child(3) input').val() == hidden_value) {
$('#staff_table_' + i + ' tr:nth-child(' + (j + 1) + ')').remove();
}
}
}
}
function delete_row_lesson(e, r) {
$(e).parent().parent().remove();
$('#staff_modal_' + r).remove();
$('#student_modal_' + r).remove();
}
function change_row_lesson(e, n) {
$(e).parent().parent().addClass("error");
document.getElementById(n + "_hidden_checkbox").checked = true;
}
function lesson_ADD(e) {
var lesson_date, starttime, endtime, roomid, sizeof_lesson;
data++;
lesson_date = $('#date').val();
starttime = $('#start_time').val();
endtime = $('#end_time').val();
roomid = $('#lesson_roomid').val();
sizeof_lesson = $('#sizeof_lesson').val();
$.get("Event_DetailFrom_ajax.php?lesson_date=" + lesson_date + "&starttime=" + starttime + "&endtime=" + endtime + "&roomid=" + roomid + "&row=" + sizeof_lesson + "&event_id=" + e, result)
}
function result(res) {
if (res == "1234") {
$('#1234').append("<div style=\"width: 400px\" class=\"alert alert-danger alert-dismissable pull-right\"><button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-hidden=\"true\">×</button><strong>Warning!</strong> This lesson cannot add in the list</div>")
setTimeout("timer()", 3000);
} else {
$('#lesson_table').append(res);data++;
}
}
function timer() {
$('.alert').remove();
}
function limit_time(e) {
var arr = $(e).val().split(":")[0] * 3600 + $(e).val().split(":")[1] * 60 + 15 * 60;
$(e).parent().next().next().next().next().children().timepicker('option', {disableTimeRanges: [['6:00', arr]]});
$(e).parent().next().next().next().next().children().focus();
}
//new
function add_student_label(){
for(var count=0;count<data;count++){
var student_name_array = new Array(),student_name_string="";
var student_id_array = new Array();
var student_lesson_state = new Array();
var lesson_state = new Array("","Normal Class","Make-up Class");
for(var j=0;j<$('#student_table_' + count + ' tr').length;j++){
student_name_array.push( $('#student_table_' + count + ' tr:nth-child(' + (j + 1) + ') td:nth-child(3)').html().split("<")[0] );
student_id_array.push( $('#student_table_' + count + ' tr:nth-child(' + (j + 1) + ') td:nth-child(2)').html() );
student_lesson_state.push(( $('#student_table_' + count + ' tr:nth-child(' + (j + 1) + ') td:nth-child(4) select').val() ));
}
for (var n=0;n<student_name_array.length;n++){
student_name_string += (student_name_string=="")?("ID : "+student_id_array[n]+" | "+student_name_array[n] + " | " + lesson_state[student_lesson_state[n]]):'<br/>'+("ID : "+student_id_array[n]+" | "+student_name_array[n] + " " + lesson_state[student_lesson_state[n]]);
}
$('#student_label_0'+count).html(student_name_string);
}
}
function add_staff_label(){
for(var count=0;count<data;count++){
var staff_name_array = new Array(),staff_name_string="";
var staff_Rate_array= new Array();
for(var j=0;j<$('#staff_table_' + count + ' tr').length;j++){
staff_Rate_array.push($('#staff_table_' + count + ' tr:nth-child(' + (j + 1) + ') td:nth-child(3)').html().split("<")[0]);
staff_name_array.push( $('#staff_table_' + count + ' tr:nth-child(' + (j + 1) + ') td:nth-child(2)').html() );
}
for (var n=0;n<staff_name_array.length;n++){
staff_name_string += (staff_name_string=="")?(staff_Rate_array[n]+" | "+staff_name_array[n]):'<br/>'+(staff_Rate_array[n]+" | "+staff_name_array[n]);
}
$('#staff_label_0'+count).html(staff_name_string);
}
}
</script>
<?php if (isset($_GET['event_id'])) { ?>
<script>$(function(){ add_staff_label();add_student_label(); });</script>
<?php } ?>
<style>label{cursor: auto}</style>
</head>
<body>
<?php
if (!empty($alert_array)) {
foreach ($alert_array as $k)
$alert_str.=$k;
echo '<script>alert("Warning Lesson is crash!!! \n' . $alert_str . '");</script>';
//echo '<script>window.history.back();</script>';
}
?>
<!-- line between nav bar and content -->
<div class="text-right">
<ul class="breadcrumb">
<li><a href="Event_List.php">Event</a> <span class="divider">></span></li>
<li class="active">Event Detail</li>
</ul>
</div>
<div class="container-fluid pathways-container">
<div id="1234">
</div>
<h3>Detail</h3>
<form action="" method="post" >
<input type="hidden" name="code_id" value="<?= $code_id ?>"/>
<input type="hidden" name="programme" value="<?= $programme ?>"/>
<input type="hidden" name="subject_id" value="<?= $subject_id ?>"/>
<input type="hidden" name="class_size" value="<?= $class_size ?>"/>
<input type="hidden" name="programme_fee" value="<?= $_POST['programme_fee'] ?>"/>
<input type="hidden" name="primary_ind" value="<?= $primary_ind ?>"/>
<input type="hidden" name="primary_gp" value="<?= $primary_gp ?>"/>
<input type="hidden" name="secondary_ind" value="<?= $secondary_ind ?>"/>
<input type="hidden" name="secondary_gp" value="<?= $secondary_gp ?>"/>
<input type="hidden" name="primary_package_fee" value="<?= $primary_package_fee ?>"/>
<input type="hidden" name="secondary_package_fee" value="<?= $secondary_package_fee ?>"/>
<input type="hidden" name="primary_package_discount" value="<?= $primary_package_discount ?>"/>
<input type="hidden" name="secondary_package_discount" value="<?= $secondary_package_discount ?>"/>
<div id="student_data"></div>
<div id="staff_data"></div>
<div style="margin: 0;padding: 5px 10px;background-color: #F7F7F7;border: 1px solid #E6E6E6;border-radius: 5px;box-shadow: 0 1px 2px rgba(0,0,0,.05);">
<table style="margin-top: 10px;">
<tr>
<td><label>Lesson Date </label></td>
<td style="width: 15px;"></td>
<td>
<div class="input-append date-picker" id="start_date_id">
<input id="date" class="dateISO required" type="text" placeholder="Lesson Date" data-format="yyyy-MM-dd" value="" name="" autocomplete="off">
<span class="add-on">
<i class="icon-calendar" data-date-icon="icon-calendar" data-time-icon="icon-time"></i>
</span>
</div>
</td>
<td style="width: 30px;"></td>
<td><label>Start Time </label></td>
<td style="width: 15px;"></td>
<td><input style="width: 80px;" type="text" class="timepicker_start" id="start_time" name="start_time" onchange="limit_time(this);" /></td>
<td style="width: 30px;"></td>
<td><label>End Time </label></td>
<td style="width: 15px;"></td>
<td><input style="width: 80px;" type="text" class="timepicker_end" id="end_time" name="end_time" onchange="limit_time(this);" /></td>
<td style="width: 30px;"></td>
<td><label>Room ID</label></td>
<td style="width: 15px;"></td>
<?php $sth = $dbh->query('SELECT `room_ID`, `actived`, `deleted` FROM `venue` WHERE `actived`=1 and `deleted`=0 order by 1'); ?>
<?php $option = '<option value=""></option>'; ?>
<?php while ($ResultSet = $sth->fetch(PDO::FETCH_ASSOC)) { ?>
<?php $option .= "<option value=" . $ResultSet['room_id'] . ">" . $ResultSet['room_id'] . "</option>"; ?>
<?php } ?>
<td>
<select id="lesson_roomid" autocomplete="off"><?= $option ?></select>
</td>
<td style="width: 30px;"></td>
<td style="padding-bottom: 10px;"><a href="#" class="btn" onclick="lesson_ADD(<?= isset($_GET['event_id']) ? 1 : 0 ?>);"><i class="icon-plus" ></i> Add</a></td>
<td style="width: 30px;"></td>
</tr>
</table>
</div>
<div style="height: 15px;" ></div>
<table class="table table-striped table-bordered table-hover table-condensed">
<thead>
<tr>
<th style="width: 20px">Delete</th>
<th>Lesson Date</th>
<th>Start Time</th>
<th>End Time</th>
<th>Room ID</th>
<th style="width:30%;">Student</th>
<th style="width:30%;">Staff</th>
</tr>
</thead>
<tbody id="lesson_table">
<?php $counter = 0; ?>
<?php foreach ($lesson_date as $arr) { ?>
<?php $counter++; ?>
<tr>
<?php if (!isset($_GET['event_id'])) { ?>
<td style="margin-left:auto;margin-right:auto;"><button type="button" class="btn" onclick="delete_row_lesson(this,<?= $counter ?>);"><i class="icon-remove"></i></button></td>
<?php } else { ?>
<td style="margin-left:auto;margin-right:auto;"><button type="button" class="btn" onclick="change_row_lesson(this,<?= $counter ?>);"><i class="icon-remove"></i></button></td>
<?php } ?>
<td><?= $arr[0] ?><input type="hidden" name="lesson_date[]" value="<?= $arr[0] ?>"/></td>
<td><?= $arr[1] ?><input type="hidden" name="start_time[]" value="<?= $arr[1] ?>"/></td>
<td><?= $arr[2] ?><input type="hidden" name="end_time[]" value="<?= $arr[2] ?>"/></td>
<td><?= $arr[3] ?><input type="hidden" name="Room_id[]" value="<?= $arr[3] ?>"/></td>
<?php if (isset($_REQUEST['event_id'])) { ?><td style="display: none"><input type="hidden" name="lesson_id[]" value="<?= $arr[4] ?>"/></td> <?php } ?>
<td style="width: 100px;text-align: left;">
<button class="btn" id="btn_student_<?= $counter ?>" data-backdrop="static" data-toggle="modal" data-target="#student_modal_<?= $counter ?>" onclick="checkradio(<?= $counter ?>);"><i class="icon-user"></i> Student</button>
<!--new-->
<label id="student_label_0<?= $counter - 1 ?>"></label>
</td>
<td style="width: 100px;text-align: left;">
<button id="student_btn" class="btn" data-backdrop="static" data-toggle="modal" data-target="#staff_modal_<?= $counter ?>" onclick="checkradio2(<?= $counter ?>);"><i class="icon-leaf" ></i> Teacher</button>
<!--new-->
<label id="staff_label_0<?= $counter - 1 ?>"></label>
</td>
<td style="display: none;"><input type="checkbox" name="hidden_checkbox[]" id="<?= $counter ?>_hidden_checkbox" value="<?= $arr[4] ?>"/></td>
</tr>
<?php } ?>
</tbody>
</table>
<input type="submit" value="Save" name="<?php if (!isset($_REQUEST['event_id'])) { ?>Detail_Save<?php } else { ?>Detail_edit_Save<?php } ?>" class="btn btn-danger"/>
<input type="button" class="btn btn-danger" onclick="history.back();" value="Back"/>
<input type="hidden" id="sizeof_lesson" value="<?= $counter ?>"/>
<!--############################################################################################################################################################################-->
<?php for ($i = 0; $i < sizeof($lesson_date) + 10; $i++) { ?>
<div class="modal fade" id="student_modal_<?= $i + 1 ?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<!--<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>-->
<h4 class="modal-title" id="myModalLabel">Student List</h4>
</div>
<div class="modal-body">
<div id="1" style="margin: 0;padding: 5px 10px;background-color: #F7F7F7;border: 1px solid #E6E6E6;border-radius: 5px;box-shadow: 0 1px 2px rgba(0,0,0,.05);">
<table>
<tr>
<!-- Search Student ID -->
<td><label>Student Name</label></td>
<td style="width: 15px;"></td>
<td><select name="student_name" id="student_name" class="student_name" >
<option></option>
<?php $sth = $dbh->query("SELECT root_id,`New_stu_ID` id,CONCAT(last_name, ' ', first_name) studentname,`ch_name`FROM `student` WHERE `actived`=1 and`deleted`=0 group by `New_stu_ID`,`Sem_yr`"); ?>
<?php while ($ResultSet = $sth->fetch(PDO::FETCH_ASSOC)) { ?>
<option value="<?= $ResultSet['id'] ?>,<?= $ResultSet['studentname'] ?>,<?= $ResultSet['ch_name'] ?>,<?= $ResultSet['root_id'] ?>"><?= $ResultSet['studentname'] ?> ( <?= $ResultSet['ch_name'] ?> )</option>
<?php } ?>
</select></td>
</tr>
<tr>
<td><label class="radio inline" style="margin-left: 0px;">All lesson<input type="radio" value="1" name="All_lesson" id="lesson_All_<?= $i ?>"/></label></td>
<td style="width: 15px;"></td>
<td><label class="radio inline" style="margin-left: 30px;">Only one lesson<input type="radio" value="0" name="All_lesson" id="lesson_only_<?= $i ?>"/></label></td>
<td style="width: 80px;"></td>
<td><a href="#1" class="btn"id="btn_addstudent" onclick="adddate(<?= $i ?>,<?= $i + 1 ?>);"><i class="icon-plus" ></i>Add</a></td>
</tr>
</table>
</div>
<br/>
<table class="table table-striped table-bordered table-hover table-condensed" id="mytable">
<thead>
<tr>
<th style="width: 20px"></th>
<th style="width: 100px">Student ID</th>
<th>Student Name</th>
<th style="width: 30%">Lesson State</th>
</tr>
</thead>
<tbody id="student_table_<?= $i ?>" class="student_table">
<?php if (isset($_REQUEST['event_id']) && isset($lesson_date[$i])) { ?>
<?php $sth = $dbh->query("SELECT root_id,`New_stu_ID` id,`ch_name`,CONCAT(`last_name`,' ',`first_name`) name, lesson_id, stu_linking_id,reason FROM `student`,lesson_attendance WHERE student.actived=1 and student.deleted=0 and root_id = stu_linking_id and `lesson_id` in ( select lesson_id from lesson where lesson_id =" . $lesson_date[$i][4] . " ) and lesson_attendance.deleted =0 and lesson_attendance.actived =1") ?>
<?php while ($ResultSet = $sth->fetch(PDO::FETCH_ASSOC)) { ?>
<tr>
<td><button type="button" class="btn" onclick="delete_row_student(this,<?= $i ?>);"><i class="icon-remove"></i></button></td>
<td><?= $ResultSet['id'] ?></td>
<td><?= $ResultSet['name'] ?> ( <?= $ResultSet['ch_name'] ?> )
<input type="hidden" name="<?= $i ?>student_id[]" value="<?= $ResultSet['root_id'] ?>"/></td>
<td style="padding-top: 10px;">
<select style="width: 100%;" name="lesson_state_<?= $i ?>[]">
<option <?= ($ResultSet['reason'] == 1) ? "selected" : "" ?> value="1">Normal Class</option>
<option <?= ($ResultSet['reason'] == 2) ? "selected" : "" ?> value="2">Make-up Class</option>
</select>
</td>
</tr>
<?php } ?>
<?php } ?>
</tbody>
</table>
</div>
<div style="height: 10px;"></div>
<div class="modal-footer">
<button type="button" class="btn" data-dismiss="modal" >Back</button>
<button type="button" class="btn btn-danger" data-dismiss="modal" onclick="add_student_label();">Comfirm</button>
</div>
</div>
</div>
</div>
<?php } ?>
<!--############################################################################################################################################################################-->
<?php for ($i = 0; $i < sizeof($lesson_date) + 10; $i++) { ?>
<div class="modal fade" id="staff_modal_<?= $i + 1 ?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<!--<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>-->
<h4 class="modal-title" id="myModalLabel">Staff List</h4>
</div>
<div class="modal-body">
<div id="2" style="margin: 0;padding: 5px 10px;background-color: #F7F7F7;border: 1px solid #E6E6E6;border-radius: 5px;box-shadow: 0 1px 2px rgba(0,0,0,.05);">
<table>
<tr>
<!-- Search Staff ID -->
<td style="text-align: center"><label>Staff Name</label></td>
<td style="width: 15px;"></td>
<td><select name="staff_name" id="staff_name" class="staff_name" style="width: 200px">
<option></option>
<?php $sth = $dbh->query("SELECT CONCAT(`last_name`,' ',`first_name`) staffname, `ch_name` , `root_id` FROM `staff` WHERE `actived`=1 and `deleted`=0 group by root_id"); ?>
<?php while ($ResultSet = $sth->fetch(PDO::FETCH_ASSOC)) { ?>
<option value="<?= $ResultSet['staffname'] ?>,<?= $ResultSet['ch_name'] ?>,<?= $ResultSet['root_id'] ?>" ><?= $ResultSet['staffname'] ?> ( <?= $ResultSet['ch_name'] ?> ) </option>
<?php } ?>
</select></td>
</tr>
<tr>
<td><select id="Rate_staff_<?= $i ?>" name="Rate_staff" style="margin-top: 10px;">
<option value="Rate 0">Monthly</option>
<option value="Rate 1">Teacher ( In House ) </option>
<option value="Rate 2">Teacher ( Outside School )</option>
<option value="Rate 3">Teacher Assistant ( In House ) </option>
<option value="Rate 4">Teacher Assistant ( Outside School )</option>
<option value="Rate 5">Traveling</option>
<option value="Rate 6">Other</option>
</select></td>
<td style="width: 15px;"></td>
<!-- Add button -->
<td style="float: right;margin-top: 10px;"><a href="#2" class="btn" id="btn_addstudent" onclick="adddate_staff(<?= $i ?>,<?= $i + 1 ?>);"><i class="icon-plus" ></i>Add</a></td>
</tr>
<tr>
<td><label class="radio inline" style="margin-left: 0px;">All lesson<input type="radio" value="1" name="All_lesson" id="staff_lesson_All_<?= $i ?>"/></label></td>
<td style="width: 15px;"></td>
<td><label class="radio inline" style="margin-left: 30px;">Only one lesson<input type="radio" value="0" name="All_lesson" id="staff_lesson_only_<?= $i ?>"/></label></td>
</tr>
</table>
</div>
<br/>
<table class="table table-striped table-bordered table-hover table-condensed" id="mytable">
<thead>
<tr>
<th style="width: 20px"></th>
<th style="width: 200px">Staff Name</th>
<th>Rate</th>
</tr>
</thead>
<tbody id="staff_table_<?= $i ?>">
<?php if (isset($_REQUEST['event_id']) && isset($lesson_date[$i])) { ?>
<?php $sth = $dbh->query("SELECT la.staff_id,ch_name,CONCAT(`last_name`,' ',`first_name`) name, lesson_id,rate FROM staff s,lesson_attendance la WHERE la.staff_id = s.root_id and `lesson_id` in ( select lesson_id from lesson where lesson_id = " . $lesson_date[$i][4] . ")and la.actived=1 and la.deleted=0 and s.actived=1 and s.deleted=0 "); ?>
<?php while ($ResultSet = $sth->fetch(PDO::FETCH_ASSOC)) { ?>
<tr>
<td><button type="button" class="btn" onclick="delete_row_staff(this,<?= $i ?>);"><i class="icon-remove"></i></button></td>
<td><?= $ResultSet['name'] ?> ( <?= $ResultSet['ch_name'] ?> )</td>
<td><?= $staffrate[(int) $ResultSet['rate']] ?>
<input type="hidden" name="<?= $i ?>staff_id[]" value="<?= $ResultSet['staff_id'] ?>"/>
<input type="hidden" name="<?= $i ?>staff_rate[]" value="<?= (int) $ResultSet['rate'] ?>"/></td>
</tr>
<?php } ?>
<?php } ?>
</tbody>
</table>
</div>
<div style="height: 10px;"></div>
<div class="modal-footer">
<button type="button" class="btn" data-dismiss="modal">Back</button>
<button type="button" class="btn btn-danger" data-dismiss="modal" onclick="add_staff_label();">Confirm</button>
</div>
</div>
</div>
</div>
<?php } ?>
</form>
</div> <!-- /container -->
</body>
</html>