| 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/hkosl.com/m.musiccircle/ |
Upload File : |
<?php
include('_init.php');
if ($_SESSION["is_student"] != 1 && $_SESSION["is_tutor"] != 1) {
header("Location: index.php");
exit;
}
$page_settings['domain'] = "chat";
$sql = "select profile_id,user_id
from `profile_user` as tb where user_id = ? and deleted = ? LIMIT 1";
$parameters = array($_SESSION['cmsloginid'], 0);
$row_profile = bind_pdo($sql, $parameters, "selectone");
$type = "";
$where_clause = "";
$parameters = array(0);
if ($_SESSION["cmsrole"] == "super_admin" || $_SESSION["cmsrole"] == "admin") {
if ((int)$_GET["type"] == 1) {
$type = "TUTOR";
} else if ((int)$_GET["type"] == 2) {
$type = "STUDENT";
}
} else {
if ($_SESSION["is_tutor"] == 1) {
$where_clause = " and ((chat.from_id = ? and chat.from_role = ?) or (chat.to_id = ? and chat.to_role = ?)) ";
$parameters[] = $_SESSION['member_login'];
$parameters[] = "TUTOR";
$parameters[] = $_SESSION['member_login'];
$parameters[] = "TUTOR";
} else if ($_SESSION["is_student"] == 1) {
$where_clause = " and ((chat.from_id = ? and chat.from_role = ?) or (chat.to_id = ? and chat.to_role = ?)) ";
$parameters[] = $_SESSION['student_login'];
$parameters[] = "STUDENT";
$parameters[] = $_SESSION['student_login'];
$parameters[] = "STUDENT";
}
}
$sql = "select *
from chat
where chat.id > ? {$where_clause} group by chat.first_chat_id
order by chat.sent_date DESC";
$chats = bind_pdo($sql, $parameters, "selectall");
//var_dump(dump_sql($sql, $parameters));
foreach ($chats as $key => $row) {
if ($row["from_role"] == "STUDENT") {
$sql = "select * from student_main where id = ? order by student_no DESC";
$parameters = array($row["from_id"]);
$student_info = bind_pdo($sql, $parameters, "selectone");
} else if ($row["from_role"] == "TUTOR") {
//$tutor_info = get_tutor($row["from_id"]);
$sql = "select * from tutor_main where id = ? order by tutor_no DESC";
$parameters = array($row["from_id"]);
$tutor_info = bind_pdo($sql, $parameters, "selectone");
}
if ($row["to_role"] == "STUDENT") {
$sql = "select * from student_main where id = ? order by student_no DESC";
$parameters = array($row["to_id"]);
$student_info = bind_pdo($sql, $parameters, "selectone");
} else if ($row["to_role"] == "TUTOR") {
//$tutor_info = get_tutor($row["to_id"]);
$sql = "select * from tutor_main where id = ? order by tutor_no DESC";
$parameters = array($row["to_id"]);
$tutor_info = bind_pdo($sql, $parameters, "selectone");
}
$chats[$key]["nickname"] = $tutor_info["nickname"];
$chats[$key]["tutor_no"] = $tutor_info["tutor_no"];
$chats[$key]["tutormain_id"] = $tutor_info["id"];
$chats[$key]["tutor_delete"] = $tutor_info["deleted"];
$chats[$key]["contactname"] = $student_info["contactname"];
$chats[$key]["student_no"] = $student_info["student_no"];
$chats[$key]["studentmain_id"] = $student_info["id"];
$chats[$key]["student_delete"] = $student_info["deleted"];
$chats[$key]["profilephoto_path"] = $tutor_info["profilephoto_path"];
$sql2 = "select chat.*
from chat
where chat.first_chat_id = ?
order by chat.sent_date ASC";
$parameters2 = array($row["first_chat_id"]);
$chats_detail = bind_pdo($sql2, $parameters2, "selectall");
$not_read = 0;
$valid_chat = 0;
foreach ($chats_detail as $row2) {
if ((($_SESSION["is_student"] == 1 && $row2["to_id"] == $_SESSION["student_login"]) || ($_SESSION["is_tutor"] == 1 && $row2["to_id"] == $_SESSION["member_login"])) && $row2["approved"] != 1) {
//unset($chats[$key]);
continue;
}
$valid_chat++;
if ((($_SESSION["is_student"] == 1 && $row2["to_id"] == $_SESSION["student_login"]) || ($_SESSION["is_tutor"] == 1 && $row2["to_id"] == $_SESSION["member_login"])) && ($row2["approved"] == 1) && $row2["studentpostjob_id"] == $row["studentpostjob_id"] && empty($row2["read_date"])) {
$not_read++;
}
if ((($_SESSION["is_student"] == 1 && $row2["from_id"] == $_SESSION["student_login"]) || ($_SESSION["is_tutor"] == 1 && $row2["from_id"] == $_SESSION["member_login"])) && ($row2["deleted"] == 1) && $row2["studentpostjob_id"] == $row["studentpostjob_id"] && empty($row2["read_date"])) {
$not_read++;
}
$last_sent_date = $row2["sent_date"];
}
$chats[$key]["not_read"] = $not_read;
$chats[$key]["last_sent_date"] = $last_sent_date;
if ($valid_chat > 0) {
$chats[$key]["detail"] = $chats_detail;
} else {
unset($chats[$key]);
}
}
$sql = "select * from master_type_code where typeid = ? and deleted = ?";
$parameters = array('TEACH_AREACODE', 0);
$rows_area = bind_pdo($sql, $parameters, "selectall");
?>
<!DOCTYPE html>
<html lang="en">
<head>
<?php include('_head.php'); ?>
<link href="css/style_k.css?v=<?= time(); ?>" type="text/css" rel="stylesheet">
<script>
function chat_switch() {
if($(".chat_user_list_container").css("display") == "none"){
$("#chat_list").show();
$("#chat_content_container").hide();
$('html, body').animate({
scrollTop: $("body").offset().top
}, 500);
}else{
history.back();
}
}
$(function () {
});
</script>
</head>
<body>
<?php include('_header.php') ?>
<?php include('_dialog.php') ?>
<div class="ProfileContent" style="">
<div class="Profilecontainer">
<div class="row">
<div class="col-md-12">
<div class="input-group" style="margin-bottom: 10px; width: 100%;">
<input type="text" class="form-control" name="search_word" id="search_word" placeholder="<?= _lang("Search") ?>">
<span class="input-group-btn">
<button class="btn btn-primary" type="button" onclick="search_chat()"><?= _lang("Search") ?></button>
</span>
</div><!-- /input-group -->
</div>
</div>
<div class="col-md-3 chat_user_list_container chat_list" style="/*max-height: 500px; overflow-x: hidden; overflow-y: scroll;*/ margin-bottom: 10px;padding: 0;" id="chat_list">
<?php $chat_user_list_array = array();
foreach ($chats as $chat) {
$job_info = get_studentpostjob2($chat["studentpostjob_id"]);
?>
<?php if (($_SESSION["is_tutor"] == 1 || $type == "TUTOR") && !in_array($chat["studentmain_id"], $chat_user_list_array)) {
$chat_user_list_array[] = $chat["studentmain_id"]; ?>
<div class="col-xs-12 chat_item" id="first_chat_id_<?= $chat["first_chat_id"] ?>" style="" onclick="chat_content(<?= $chat["studentpostjob_id"] ?>, <?= $chat["tutormain_id"] ?>, '<?= "TUTOR" ?>', 0)">
<?php if ((int)$chat["not_read"] > 0) { ?>
<div class="chat_notification" style="position:absolute; top:0; right: 0;">
<span class="badge chat_not_read"><?= (int)$chat["not_read"] ?></span>
</div>
<?php } ?>
<div class="col-xs-3 padding0">
<img src="<?=$site_info["url"]?>dist/img/user2-160x160.jpg" class="width100p">
</div>
<div class="col-xs-9" style="">
<?php
echo "<span class='job_info'>";
echo _lang("Post No.") . ": " . "J".str_pad($chat["studentpostjob_id"], 5, "0", STR_PAD_LEFT) . "<br>";
echo _lang("Student") . ": " . ($chat["contactname"]) . " (".$chat["student_no"].")</span><br>";
//echo _lang("Last Login") . ": <br>" . get_last_login_date($chat["student_cmsloginid"]) . "<br><br>";
//echo _lang("Not Read") . ": " . $chat["not_read"] . "<br>";
echo _lang("Last Chat Date") . ": " . $chat["last_sent_date"];
if ($job_info["deleted"] == 1) {
echo "<div style='font-size: 12px; color:red;'>" . _lang("This job has deleted.") . "</div>";
}
if ($chat["tutor_delete"] == 1 && ($_SESSION["is_student"] == 1 || ($_SESSION["cmsrole"] == "super_admin" || $_SESSION["cmsrole"] == "admin"))) {
echo "<div style='font-size: 12px; color:red;'>" . _lang("This tutor account is inactive.") . "</div>";
}
if ($chat["student_delete"] == 1 && ($_SESSION["is_tutor"] == 1 || ($_SESSION["cmsrole"] == "super_admin" || $_SESSION["cmsrole"] == "admin"))) {
echo "<div style='font-size: 12px; color:red;'>" . _lang("This student account is inactive.") . "</div>";
}
?>
</div>
</div>
<?php } ?>
<?php if (($_SESSION["is_student"] == 1 || $type == "STUDENT") && !in_array($chat["tutormain_id"], $chat_user_list_array)) {
$chat_user_list_array[] = $chat["tutormain_id"]; ?>
<?php //for ($i = 1; $i <= 10; $i++) { ?>
<div class="col-xs-12 chat_item" id="first_chat_id_<?= $chat["first_chat_id"] ?>" style="border: 2px solid #000; width: 100%; padding: 10px; cursor:pointer; position: relative;" onclick="chat_content(<?= $chat["studentpostjob_id"] ?>, <?= $chat["studentmain_id"] ?>, '<?= "STUDENT" ?>', <?= $chat["tutormain_id"] ?>)">
<?php if ((int)$chat["not_read"] > 0) { ?>
<div class="chat_notification" style="position:absolute; top:0; right: 0;">
<span class="badge chat_not_read"><?= (int)$chat["not_read"] ?></span>
</div>
<?php } ?>
<div class="col-xs-3 padding0">
<div class="tutor_img_container">
<div class="tutor_img" style="background: url(<?=$site_info["url"]?>file/teacher/<?= $chat["profilephoto_path"] ?>) center center no-repeat; background-size: cover; width: inherit; height: inherit"></div>
</div>
</div>
<div class="col-xs-9" style="">
<?php
echo "<span class='job_info'>";
echo _lang("Post No.") . ": " . "J".str_pad($chat["studentpostjob_id"], 5, "0", STR_PAD_LEFT) . "<br>";
echo _lang("Tutor") . ": " . ($chat["nickname"]) . " (".$chat["tutor_no"].")</span><br>";
//echo _lang("Last Login") . ": " . get_last_login_date($chat["student_cmsloginid"]) ;
//echo _lang("Not Read") . ": " . $chat["not_read"] . "<br>";
echo _lang("Last Chat Date") . ": " . $chat["last_sent_date"];
if ($job_info["deleted"] == 1) {
echo "<div style='font-size: 12px; color:red;'>" . _lang("This job has deleted.") . "</div>";
}
if ($chat["tutor_delete"] == 1 && ($_SESSION["is_student"] == 1 || ($_SESSION["cmsrole"] == "super_admin" || $_SESSION["cmsrole"] == "admin"))) {
echo "<div style='font-size: 12px; color:red;'>" . _lang("This tutor account is inactive.") . "</div>";
}
if ($chat["student_delete"] == 1 && ($_SESSION["is_tutor"] == 1 || ($_SESSION["cmsrole"] == "super_admin" || $_SESSION["cmsrole"] == "admin"))) {
echo "<div style='font-size: 12px; color:red;'>" . _lang("This student account is inactive.") . "</div>";
}
?>
</div>
</div>
<?php //} ?>
<?php } ?>
<?php } ?>
</div>
<div class="col-md-9" id="chat_content_container" style="">
<div id="chat_job_info"></div>
<br>
<div id="chat_content">
<?= _lang("Please select job.") ?>
</div>
<div style='font-size: 12px; color:red; display: none;' id="job_deleted"><?= _lang("This job has deleted.") ?></div>
<?php if ($_SESSION["cmsrole"] == "user") { ?>
<div id="new_chat" style="display: none;">
<div class="row">
<?php if ($_SESSION["is_tutor"] == 1) { ?>
<div class="col-xs-9" id="tutor_message_container" style="padding-right: 0;">
<div class="input-group" style="margin-top: 10px;">
<input type="text" style="width:100%;" name="content" id="content" class="form-control" placeholder="">
<span class="input-group-btn">
<button class="btn btn-secondary ContactTutorBTN btn btn-primary" type="button" id="contact_student_submit" onclick="contact_student_submit();"><?= _lang("Send") ?></button>
</span>
</div>
</div>
<div class="col-xs-3" id="tutor_invite_container">
<a href="#formalcourse" class="ContactTutorBTN btn btn-primary" id="course_f_invite_submit" style="margin-top: 10px;"><?= _lang("Formal Course") ?></a>
<a href="#trycourse" class="ContactTutorBTN btn btn-primary" id="course_invite_submit" style="margin-top: 10px;"><?= _lang("Try Course") ?></a>
</div>
<?php } else if ($_SESSION["is_student"] == 1) { ?>
<div class="col-xs-9" id="student_message_container" style="padding-right: 0;">
<div class="input-group" style="margin-top: 10px;">
<input type="text" style="width:100%;" name="content" id="content" class="form-control">
<span class="input-group-btn">
<button class="btn btn-secondary ContactTutorBTN btn btn-primary" type="button" id="contact_tutor_submit" onclick="contact_tutor_submit();"><?= _lang("Send") ?></button>
</span>
</div>
</div>
<div class="col-xs-3" id="student_invite_container">
<!--<button type="button" class="ContactTutorBTN btn btn-primary" id="student_request_formal_course" onclick="$('#content').val('我要正堂,請導師發出正堂邀請')" style="margin-top: 10px;"><?/*= _lang("Formal Course") */?></button>-->
<button type="button" class="ContactTutorBTN btn btn-primary" id="student_request_try_course" onclick="$('#content').val('我要試堂,請導師發出試堂邀請')" style="margin-top: 10px;"><?= _lang("Try Course") ?></button>
</div>
<?php } ?>
</div>
<div style="font-size: 12px; color: red; text-align: center; padding: 10px 0;"><?= _lang("Mobile no, email address and any contact is not allowed during the conversation.") ?></div>
<div class="tr">
<!---->
<div id="formalcourse" class="box-body" style="display:none;">
<form action="">
<input type="hidden" name="order_type" value="formal"/>
<div class="table_data">
<table width="100%" border="0" cellpadding="0" cellspacing="2">
<tr>
<td width="120" align="right" valign="top" class="required_field">
學習樂器
</td>
<td width="5" valign="top" class="">: </td>
<td class="">
<div class="col-sm-12 form-group" id="instrumentBox" style="padding-bottom:3px;"></div>
</td>
</tr>
<tr>
<td width="120" align="right" valign="top" class="required_field">
上課地區
</td>
<td width="5" valign="top" class="">: </td>
<td class="">
<div class="col-sm-12 form-group">
<div id="learnAreaBox"></div>
<div style="color:#F00; display:none;" class="error" id="learnAreaError">
請選擇上課地區
</div>
</div>
</td>
</tr>
<tr>
<td width="120" align="right" valign="top" class="required_field">
上課地方
</td>
<td width="5" valign="top" class="">: </td>
<td class="">
<div class="col-sm-12 form-group">
<div id="teachvenusBox"></div>
<div style="color:#F00; display:none;" class="error" id="venusError">
請選擇上課地方
</div>
</div>
</td>
</tr>
<tr>
<td width="120" align="right" valign="top" class="required_field">
學習級數
</td>
<td width="5" valign="top" class="">: </td>
<td class="">
<div class="col-sm-12 form-group">
<div id="levelBox">
</div>
<div style="color:#F00; display:none;" class="error" id="levelError">
請選擇學習級數
</div>
</div>
</td>
</tr>
<tr>
<td width="120" align="right" valign="top" class="required_field">
上課總堂數
</td>
<td width="5" valign="top" class="">: </td>
<td class="">
<div class="col-sm-12 form-group">
<div>
<select class="form-control" name="course_count">
<? for ($i = 2; $i <= 12; $i++) { ?>
<option value="<?= $i ?>"><?= $i ?>
堂
</option>
<? } ?>
</select>
</div>
</div>
</td>
</tr>
<tr>
<td width="120" align="right" valign="top" class="required_field">
學習時間長度
</td>
<td width="5" valign="top" class="">: </td>
<td class="">
<div class="col-sm-12 form-group">
<div id="learnTimeBox">
<input type="text" class="form-control" name="datetime" size="50" maxlength="255" value="">
</div>
<div style="color:#F00; display:none;" class="error" id="learnTimeError">
請輸入學習時間長度
</div>
</div>
</td>
</tr>
<? if ($row_profile['profile_id'] == 3) { ?>
<tr>
<td width="120" align="right" valign="top" class="required_field">
每堂收費
</td>
<td width="5" valign="top" class="">: </td>
<td class="">
<div class="col-sm-12 form-group">
<div>
<input type="text" class="form-control" name="fee" size="3" maxlength="3" value="">
</div>
<div style="color:#F00; display:none;" class="error" id="feeError">
請輸入每堂收費
</div>
<div style="color:#F00; display:none;" class="error" id="feeError2">
請輸入每堂收費不能少於<span></span>
</div>
<div style="color:#F00; display:none;" class="error" id="feeError3">
請輸入每堂收費不能多於<span></span>
</div>
<div style="color:#F00; display:none;" class="error" id="feeError4">
請先選擇地區/地方/級數/時間長度
</div>
</div>
</td>
</tr>
<? } ?>
<tr>
<td width="120" align="right" valign="top"></td>
<td width="5" valign="top" class=""></td>
<td class="">
<div class="col-sm-12 form-group">
<button type="button" class="btn btn-primary" id="LiFormalCourseSubmit"><?= _lang('Submit') ?></button>
<button type="button" class="btn btn-primary" id="LiFormalCourseCancel"><?= _lang('Cancel') ?></button>
</div>
</td>
</tr>
</table>
</div>
</form>
</div>
<div id="trycourse" class="box-body" style="display:none;">
<form action="">
<input type="hidden" name="order_type" value="try"/>
<div class="table_data">
<table width="100%" border="0" cellpadding="0" cellspacing="2">
<tr>
<td width="120" align="right" valign="top" class="required_field">
學習樂器
</td>
<td width="5" valign="top" class="">: </td>
<td class="">
<div class="col-sm-12 form-group" id="instrumentBox" style="padding-bottom:3px;"></div>
</td>
</tr>
<tr>
<td width="120" align="right" valign="top" class="required_field">
上課地區
</td>
<td width="5" valign="top" class="">: </td>
<td class="">
<div class="col-sm-12 form-group">
<div id="learnAreaBox"></div>
<div style="color:#F00; display:none;" class="error" id="learnAreaError">
請選擇上課地區
</div>
</div>
</td>
</tr>
<tr>
<td width="120" align="right" valign="top" class="required_field">
上課地方
</td>
<td width="5" valign="top" class="">: </td>
<td class="">
<div class="col-sm-12 form-group">
<div id="teachvenusBox"></div>
<div style="color:#F00; display:none;" class="error" id="venusError">
請選擇上課地方
</div>
</div>
</td>
</tr>
<tr>
<td width="120" align="right" valign="top" class="required_field">
學習級數
</td>
<td width="5" valign="top" class="">: </td>
<td class="">
<div class="col-sm-12 form-group">
<div id="levelBox">
</div>
<div style="color:#F00; display:none;" class="error" id="levelError">
請選擇學習級數
</div>
</div>
</td>
</tr>
<tr>
<td width="120" align="right" valign="top" class="required_field">
上課日期 / 時間
</td>
<td width="5" valign="top" class="">: </td>
<td class="">
<div class="col-sm-12 form-group">
<div>第一堂(日期 / 時間)</div>
<div>
<input type="text" class="form-control datetimepicker " name="datetime[]" size="50" maxlength="255" value="">
<div style="color:#F00; display:none;" class="error" id="datetime1Error">
請輸入第一堂(日期 / 時間)
</div>
</div>
<div style="padding-top:8px;">第二堂(日期 / 時間)</div>
<div>
<input type="text" class="form-control datetimepicker " name="datetime[]" size="50" maxlength="255" value="">
</div>
<div style="color:#F00; display:none;" class="error" id="datetime2Error">
請輸入第二堂(日期 / 時間)
</div>
<div style="color:#F00; display:none;" class="error" id="datetime2Error2">
不能選擇相同的日期
</div>
</div>
</td>
</tr>
<tr>
<td width="120" align="right" valign="top" class="required_field">
學習時間長度
</td>
<td width="5" valign="top" class="">: </td>
<td class="">
<div class="col-sm-12 form-group">
<div id="learnTimeBox"></div>
<div style="color:#F00; display:none;" class="error" id="learnTimeError">
請輸入學習時間長度
</div>
</div>
</td>
</tr>
<tr>
<td width="120" align="right" valign="top" class="required_field">
上課費用
</td>
<td width="5" valign="top" class="">: </td>
<td class="">
<div class="col-sm-12 form-group" id="LiExtraFee">
每堂上門附加費 $<span style="font-size:20px;">-</span>
</div>
<div class="col-sm-12 form-group" id="LiFee">每堂收費
$<span style="font-size:20px;">-</span></div>
<div class="col-sm-12 form-group" id="LiTotalFee">總數
$<span style="font-size:20px;">-</span></div>
</td>
</tr>
<tr>
<td width="120" align="right" valign="top"></td>
<td width="5" valign="top" class=""></td>
<td class="">
<div class="col-sm-12 form-group">
<button type="button" class="btn btn-primary" id="LiTestCourseSubmit"><?= _lang('Submit') ?></button>
<button type="button" class="btn btn-primary" id="LiTestCourseCancel"><?= _lang('Cancel') ?></button>
</div>
</td>
</tr>
</table>
</div>
</form>
</div>
<!---->
</div>
</div>
<?php } ?>
</div>
<br><br><br>
</div>
</div>
<? include('_footer.php') ?>
<script type="text/javascript" src="webadmin/js/jquery-ui-1.11.4/jquery-ui.min.js"></script>
<link rel="stylesheet" href="webadmin/js/jquery-ui-1.11.4/jquery-ui.min.css">
<script type="text/javascript" src="webadmin/js/jquery-ui-sliderAccess.js"></script>
<script type="text/javascript" src="webadmin/js/jquery-ui-timepicker-addon.js"></script>
<link type="text/css" href="webadmin/css/jquery-ui-timepicker-addon.css" rel="stylesheet"/>
<link rel="stylesheet" href="js/fancybox/jquery.fancybox.css?v=2.1.7" type="text/css" media="screen"/>
<script type="text/javascript" src="js/fancybox/jquery.fancybox.pack.js?v=2.1.7"></script>
<script type="text/javascript">
function resizeImage() {
var width = parseInt($(".tutor_img_container").width());
var height = width;
$(".tutor_img_container").css("height", height+"px");
}
$(function () {
resizeImage();
$(window).resize(function () {
resizeImage();
});
$("#course_f_invite_submit, #course_invite_submit").fancybox({
maxWidth: 800,
maxHeight: 600,
fitToView: false,
width: '100%',
height: '80%',
autoSize: false,
closeClick: false,
openEffect: 'none',
closeEffect: 'none'
});
var opt = {
//
dayNames: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
dayNamesMin: ["日", "一", "二", "三", "四", "五", "六"],
monthNames: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
monthNamesShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
prevText: "上月",
nextText: "次月",
weekHeader: "週",
timeOnlyTitle: "選擇時分秒",
timeText: "時間",
hourText: "時",
minuteText: "分",
secondText: "秒",
millisecText: "毫秒",
timezoneText: "時區",
currentText: "現在時間",
closeText: "確定",
amNames: ["上午", "AM", "A"],
pmNames: ["下午", "PM", "P"],
//
dateFormat: 'yy-mm-dd',
stepMinute: 5,
//minDate: new Date(2016, 9, 1),
timeFormat: 'HH:mm:ss',
hourMin: 9,
hourMax: 22,
minDate: 0
};
$(".datetimepicker").datetimepicker(opt);
});
$('#LiTestCourseCancel,#LiFormalCourseCancel').click(
function () {
$('#trycourse,#formalcourse').hide();
}
);
function accept_order(order_id) {
jQuery.ajax({
url: 'webadmin/_ajax.php',
type: 'POST',
data: {
ajax: "order",
type: "accept",
order_id: order_id
},
dataType: 'html', //dataType (default: Intelligent Guess (xml, json, script, or html))
timeout: 10000,
error: function (result) {
alert('Error Occur. Please try again.');
},
success: function (json) {
var json = JSON.parse(json);
if (json.status == true) {
location.href = json.url;
}
}
});
}
function reject_order(order_id) {
jQuery.ajax({
url: 'webadmin/_ajax.php',
type: 'POST',
data: {
ajax: "order",
type: "reject",
order_id: order_id
},
dataType: 'html', //dataType (default: Intelligent Guess (xml, json, script, or html))
timeout: 10000,
error: function (result) {
alert('Error Occur. Please try again.');
},
success: function (json) {
var json = JSON.parse(json);
$("#first_chat_id_" + $("#this_first_chat_id").val()).click();
}
});
}
function cancel_order(order_id) {
jQuery.ajax({
url: 'webadmin/_ajax.php',
type: 'POST',
data: {
ajax: "order",
type: "cancel",
order_id: order_id
},
dataType: 'html', //dataType (default: Intelligent Guess (xml, json, script, or html))
timeout: 10000,
error: function (result) {
alert('Error Occur. Please try again.');
},
success: function (json) {
var json = JSON.parse(json);
$("#first_chat_id_" + $("#this_first_chat_id").val()).click();
}
});
}
function block_chat(user_id, user_type, tutor_id, first_chat_id) {
console.log("block");
}
function chat_content(job_id, user_id, user_type, tutor_id, first_chat_id) {
//hide notification num
$("#first_chat_id_" + first_chat_id).find(".chat_notification").hide();
$(".messages-menu .chat_notification").hide();
$('#trycourse').hide();
<?php if ($_SESSION["is_tutor"] == 1) { ?>
$("#contact_student_submit").attr("onclick", 'contact_student_submit(' + job_id + ')');
<?php } else if ($_SESSION["is_student"] == 1) { ?>
$("#contact_tutor_submit").attr("onclick", 'contact_tutor_submit(' + job_id + ',' + tutor_id + ')');
<?php } ?>
/*$('html, body').animate({
scrollTop: $("#chat_content_container").offset().top
}, 500);*/
//var view_type = "job";
var view_type = "user";
/*if ($(".chat_user_list_container").css("display") == "block") {
view_type = "user";
}*/
//console.log(view_type);
$("#new_chat").hide();
$("#job_deleted").hide();
jQuery.ajax({
url: 'webadmin/_ajax.php',
type: 'POST',
data: {
ajax: "chat_content",
job_id: job_id,
user_id: user_id,
user_type: user_type,
tutor_id: tutor_id,
first_chat_id: first_chat_id,
view_type: view_type,
},
dataType: 'html', //dataType (default: Intelligent Guess (xml, json, script, or html))
timeout: 10000,
error: function (result) {
//alert('Error Occur. Please try again.');
console.log(result);
},
success: function (json) {
var json = JSON.parse(json);
//console.log(json.result);
//$('#loading').slideUp(100);
//console.log(json);
if (json.job_deleted == 0) {
$("#new_chat").show();
} else {
$("#job_deleted").show();
}
if (json.result) {
//console.log(json);
$('#trycourse input[name="address"],#trycourse input[name="datetime[]"]').val('');
$('#trycourse #instrumentBox,#formalcourse #instrumentBox').html(json.instrumentBox);
$('#trycourse #learnAreaBox,#formalcourse #learnAreaBox').html(json.learnAreaBox);
$('#trycourse #learnTimeBox,#formalcourse #learnTimeBox').html(json.learnTimeBox);
$('#trycourse #teachvenusBox,#formalcourse #teachvenusBox').html(json.teachvenusBox);
$('#trycourse #levelBox,#formalcourse #levelBox').html(json.levelBox);
$("#chat_content").html(json.result);
$('#LiExtraFee span').html('-');
$('#LiFee span').html('-');
$('#LiTotalFee span').html('-');
/*console.log(json.formal_status);
console.log(json.test_status);*/
/*if (json.formal_status == true) {
$('#course_f_invite_submit').show(); //正堂開放
$('#student_request_formal_course').show();
$('#trycourse,#course_invite_submit').hide(); //試堂及正堂box關閉
$('#course_invite_submit').hide(); //試堂關閉
$('#student_request_try_course').hide();
} else {*/
$('#course_f_invite_submit').hide(); //正堂開放
$('#student_request_formal_course').hide();
$('#trycourse,#course_invite_submit').hide(); //試堂及正堂box關閉
if (json.test_status == true) {
$('#course_invite_submit').show(); //試堂開放
$('#student_request_try_course').show();
} else {
$('#course_invite_submit').hide(); //試堂關閉
$('#student_request_try_course').hide();
}
//}
//if(!$('#course_f_invite_submit').is(':visible') && !$('#course_invite_submit').is(':visible')){
if($('#course_invite_submit').length <= 0 || !$('#course_invite_submit').is(':visible')){
//console.log(123);
$("#tutor_invite_container").hide();
$("#tutor_message_container").removeClass("col-xs-9").addClass("col-xs-12").attr("style", "");
}
if($('#student_request_try_course').length <= 0 || !$('#student_request_try_course').is(':visible')){
//console.log(123);
$("#student_invite_container").hide();
$("#student_message_container").removeClass("col-xs-9").addClass("col-xs-12").attr("style", "");
}
// submit
$('#LiTestCourseSubmit,#LiFormalCourseSubmit').off('click');
$('#LiTestCourseSubmit,#LiFormalCourseSubmit').on('click',
function () {
var error = false;
var table = $(this).parent().parent().parent().parent().parent().parent().parent().parent();
if (table.attr('id') == 'formalcourse') {
var type = 'formal';
} else if (table.attr('id') == 'trycourse') {
var type = 'try';
}
$('.error', table).hide();
if (!$('select[name="mas_residencecode"]', table).val()) {
error = true;
$('#learnAreaError', table).show();
}
if (!$('select[name="course_venus"]', table).val()) {
error = true;
$('#venusError', table).show();
}
if (!$('select[name="level"]', table).val()) {
error = true;
$('#levelError', table).show();
}
if (type == 'try') {
if (!$('input[name="datetime[]"]:eq(0)', table).val()) {
error = true;
$('#datetime1Error', table).show();
}
if (!$('input[name="datetime[]"]:eq(1)', table).val()) {
error = true;
$('#datetime2Error', table).show();
}
if ($('input[name="datetime[]"]:eq(1)', table).val() && $('input[name="datetime[]"]:eq(0)', table).val()) {
if ($('input[name="datetime[]"]:eq(0)', table).val() == $('input[name="datetime[]"]:eq(1)', table).val()) {
error = true;
$('#datetime2Error2', table).show();
}
}
}
if (!$('select[name="course_length"]', table).val()) {
error = true;
$('#learnTimeError', table).show();
}
<? if($row_profile['profile_id'] == 3){?>
if (type == 'formal') {
if (!$('input[name="fee"]', table).val()) {
error = true;
$('#feeError', table).show();
} else {
if (!($('input[name="fee"]', table).attr('min') && $('input[name="fee"]', table).attr('max'))) {
error = true;
$('#feeError4', table).show();
} else {
if (Number($('input[name="fee"]', table).val()) < Number($('input[name="fee"]', table).attr('min'))) {
error = true;
$('#feeError2 span', table).html($('input[name="fee"]', table).attr('min'));
$('#feeError2', table).show();
} else if (Number($('input[name="fee"]', table).val()) > Number($('input[name="fee"]', table).attr('max'))) {
error = true;
$('#feeError3 span', table).html($('input[name="fee"]', table).attr('max'));
$('#feeError3', table).show();
}
}
}
}
<? }?>
if (error == false) {
jQuery.ajax({
url: 'webadmin/_ajax.php',
type: 'POST',
data: {
ajax: "testcourse_submit",
job_id: json.job_id,
tutor_id: json.tutor_id,
student_id: json.student_id,
from_type: json.from_type,
first_chat_id: json.first_chat_id,
order_type: $('input[name="order_type"]', table).val(),
mas_residencecode: $('select[name="mas_residencecode"]', table).val(),
course_venus: $('select[name="course_venus"]', table).val(),
level: $('select[name="level"]', table).val(),
datetime1: $('input[name="datetime[]"]:eq(0)', table).val(),
datetime2: $('input[name="datetime[]"]:eq(1)', table).val(),
course_length: $('select[name="course_length"]', table).val(),
fee: $('input[name="fee"]', table).val(),
course_count: $('select[name="course_count"]', table).val()
},
dataType: 'html', //dataType (default: Intelligent Guess (xml, json, script, or html))
timeout: 10000,
error: function (result) {
//alert('Error Occur. Please try again.');
console.log(result.responseText);
$("#first_chat_id_" + $("#this_first_chat_id").val()).click();
},
success: function (json) {
var json = JSON.parse(json);
//console.log(json);
if (json.status == false) {
alert('等待處理中...');
$('#trycourse,#course_invite_submit,#formalcourse,#course_f_invite_submit').hide();
} else if (json.status == true) {
$('#trycourse,#course_invite_submit,#formalcourse,#course_f_invite_submit').hide();
}
$("#first_chat_id_" + $("#this_first_chat_id").val()).click();
$.fancybox.close();
}
});
}
}
);
$('select[name="level"],select[name="course_venus"],select[name="course_venus"]').off('change');
$('select[name="level"],select[name="course_venus"],select[name="course_venus"]').on('change',
function () {
var table = $(this).parent().parent().parent().parent().parent().parent().parent().parent().parent();
if (table.attr('id') == 'formalcourse') {
var type = 'formal';
var _formal_status = 'true';
} else if (table.attr('id') == 'trycourse') {
var type = 'try';
var _formal_status = 'false';
}
jQuery.ajax({
url: 'webadmin/_ajax.php',
type: 'POST',
data: {
ajax: "test_course_length",
job_id: json.job_id,
tutor_id: json.tutor_id,
grade: $(this).val(),
formal_status: _formal_status
},
dataType: 'html', //dataType (default: Intelligent Guess (xml, json, script, or html))
timeout: 10000,
error: function (result) {
//alert('Error Occur. Please try again.');
console.log(result);
},
success: function (json) {
var json = JSON.parse(json);
$('#trycourse #learnTimeBox,#formalcourse #learnTimeBox').html(json.learnTimeBox);
//
$('select[name="mas_residencecode"],select[name="course_length"],select[name="course_venus"]').off('change');
$('select[name="mas_residencecode"],select[name="course_length"],select[name="course_venus"]').on('change',
function () {
jQuery.ajax({
url: 'webadmin/_ajax.php',
type: 'POST',
data: {
ajax: "test_fee",
type: type,
job_id: json.job_id,
tutor_id: json.tutor_id,
level: $('select[name="level"]', table).val(),
course_venus: $('select[name="course_venus"]', table).val(),
mas_residencecode: $('select[name="mas_residencecode"]', table).val(),
course_length: $('select[name="course_length"]', table).val()
},
dataType: 'html', //dataType (default: Intelligent Guess (xml, json, script, or html))
timeout: 10000,
error: function (result) {
//alert('Error Occur. Please try again.');
console.log(result);
},
success: function (json) {
var json = JSON.parse(json);
if (type == 'try') {
if (json.fee) {
$('#LiExtraFee span', table).html(json.extra_fee);
$('#LiFee span', table).html(json.fee);
$('#LiTotalFee span', table).html(json.total_fee);
}
} else if (type == 'formal') {
if (json.fee_min && json.fee_max) {
$('input[name="fee"]', table).attr('placeholder', ('$' + json.fee_min + ' ~ ' + '$' + json.fee_max)).attr('min', json.fee_min).attr('max', json.fee_max);
} else {
$('input[name="fee"]', table).attr('placeholder', '-');
}
}
}
});
}
);
//
}
});
}
);
}
//alert(result);
//TODO:: block and unblock
/*var job_info = $("#first_chat_id_" + $("#this_first_chat_id").val()).find(".job_info").html()+"<div style='position: relative; top: -16px; float:right;'><button class='btn btn-primary' type='button' onclick='block_chat(\""+user_id+"\", \""+user_type+"\", \""+tutor_id+"\", \""+first_chat_id+"\")'><=_lang("Block")?></button></div>";*/
var job_info = $("#first_chat_id_" + $("#this_first_chat_id").val()).find(".job_info").html()+"<div style='position: relative; top: -16px; float:right;'></div>";
$("#chat_job_info").html(job_info);
}
});
}
function course_invite_submit() {
//$('#trycourse .error').hide();
//$('#trycourse').show();
}
function course_f_invite_submit() {
//$('#formalcourse .error').hide();
//$('#formalcourse').show();
}
<?php if($_SESSION["is_tutor"] == 1){ ?>
function contact_student_submit(job_id) {
var content = $("#content").val();
if (!job_id) {
alert("<?= _lang("Please select job.") ?>");
return;
}
if (!content) {
alert("<?=_lang("Please enter message.");?>");
return;
}
var this_count_chat = $(document).find("#this_count_chat").val();
var this_chat_limit = $(document).find("#this_chat_limit").val();
if (this_count_chat == (parseInt(this_chat_limit) - 1)) {
if (confirm("於付款確定試堂前,導師與學生有"+this_chat_limit+"次來回對話機會。這是你最後可發送的訊息,確定要送出?")) {
jQuery.ajax({
url: '_ajax.php',
type: 'POST',
data: {
ajax: "contact_student_submit",
job_id: job_id,
content: content,
},
dataType: 'html', //dataType (default: Intelligent Guess (xml, json, script, or html))
timeout: 10000,
error: function (result) {
alert('Error Occur. Please try again.');
//console.log(result.responseText);
},
success: function (result) {
//$('#loading').slideUp(100);
//console.log(result);
$("#content").val("");
alert(result);
chat_switch();
$("#first_chat_id_" + $("#this_first_chat_id").val()).click();
}
});
}
} else {
jQuery.ajax({
url: '_ajax.php',
type: 'POST',
data: {
ajax: "contact_student_submit",
job_id: job_id,
content: content,
},
dataType: 'html', //dataType (default: Intelligent Guess (xml, json, script, or html))
timeout: 10000,
error: function (result) {
alert('Error Occur. Please try again.');
//console.log(result.responseText);
},
success: function (result) {
//$('#loading').slideUp(100);
//console.log(result);
$("#content").val("");
alert(result);
chat_switch();
$("#first_chat_id_" + $("#this_first_chat_id").val()).click();
}
});
}
}
<?php } ?>
<?php if($_SESSION["is_student"] == 1){ ?>
function contact_tutor_submit(job_id, tutor_id) {
var content = $("#content").val();
if (!job_id) {
alert("<?=_lang("Please select job.");?>");
return;
}
if (!tutor_id) {
alert("<?=_lang("Cannot find tutor id.");?>");
return;
}
if (!content) {
alert("<?=_lang("Please enter message.");?>");
return;
}
var this_count_chat = $(document).find("#this_count_chat").val();
var this_chat_limit = $(document).find("#this_chat_limit").val();
if (this_count_chat == (parseInt(this_chat_limit) - 1)) {
if (confirm("於付款確定試堂前,導師與學生有"+this_chat_limit+"次來回對話機會。這是你最後可發送的訊息,確定要送出?")) {
jQuery.ajax({
url: '_ajax.php',
type: 'POST',
data: {
ajax: "contact_tutor_submit",
job_id: job_id,
tutor_id: tutor_id,
content: content,
},
dataType: 'html', //dataType (default: Intelligent Guess (xml, json, script, or html))
timeout: 10000,
error: function (result) {
alert('Error Occur. Please try again.');
//console.log(result.responseText);
},
success: function (result) {
//$('#loading').slideUp(100);
//console.log(result);
$("#content").val("");
alert(result);
chat_switch();
$("#first_chat_id_" + $("#this_first_chat_id").val()).click();
}
});
}
} else {
jQuery.ajax({
url: '_ajax.php',
type: 'POST',
data: {
ajax: "contact_tutor_submit",
job_id: job_id,
tutor_id: tutor_id,
content: content,
},
dataType: 'html', //dataType (default: Intelligent Guess (xml, json, script, or html))
timeout: 10000,
error: function (result) {
alert('Error Occur. Please try again.');
//console.log(result.responseText);
},
success: function (result) {
//$('#loading').slideUp(100);
//console.log(result);
$("#content").val("");
alert(result);
chat_switch();
$("#first_chat_id_" + $("#this_first_chat_id").val()).click();
}
});
}
}
<?php } ?>
<?php if($_SESSION["cmsrole"] == "super_admin" || $_SESSION["cmsrole"] == "admin"){ ?>
function update_chat_limit(job_id, from_id, to_id) {
var chat_limit = $("#chat_limit").val();
jQuery.ajax({
url: '_webadmin/ajax.php',
type: 'POST',
data: {
ajax: "update_chat_limit",
job_id: job_id,
from_id: from_id,
to_id: to_id,
chat_limit: chat_limit,
},
dataType: 'html', //dataType (default: Intelligent Guess (xml, json, script, or html))
timeout: 10000,
error: function (result) {
//alert('Error Occur. Please try again.');
//console.log(result.responseText);
},
success: function (result) {
//$('#loading').slideUp(100);
//console.log(result);
alert(result);
chat_switch();
$("#first_chat_id_" + $("#this_first_chat_id").val()).click();
}
});
}
<?php } ?>
function search_chat() {
var search_word = $("#search_word").val();
if (search_word) {
//hide all chat item
$(".chat_item").hide();
$(".chat_item").each(function () {
var chat_item_text = $(this).text();
if (chat_item_text.indexOf(search_word) != -1) {
$(this).show();
}
});
} else {
$(".chat_item").show();
}
}
function chat_for_mobile() {
if ($(window).width() <= 768) {
//hide chat left
$(".chat_list").css("max-height", "100%");
$("#chat_content_container").hide();
} else {
$(".chat_list").css("max-height", "800px");
$("#chat_content_container").show();
}
//view_type();
}
function chat_for_mobile2() {
//console.log($(window).width());
if ($(window).width() <= 768) {
$(".chat_item").on("click", function () {
$(".chat_list").hide();
$("#chat_content_container").show();
$("#chat_content_container_back_btn").show();
});
$("#chat_content_container_back_btn").on("click", function () {
$(".chat_list").show();
view_type();
$("#chat_content_container").hide();
$("#chat_content_container_back_btn").hide();
});
} else {
$("#chat_content_container_back_btn").hide();
$(".chat_list").show();
$("#chat_content_container").show();
view_type();
}
//view_type();
}
function view_type() {
if ($("#chat_job_list").hasClass("active")) {
$(".chat_job_list_container").show();
$(".chat_user_list_container").hide();
$(".chat_remark_container").hide();
} else if ($("#chat_user_list").hasClass("active")) {
$(".chat_user_list_container").show();
$(".chat_job_list_container").hide();
$(".chat_remark_container").hide();
} else if ($("#chat_remark").hasClass("active")) {
$(".chat_remark_container").show();
$(".chat_job_list_container").hide();
$(".chat_user_list_container").hide();
}
}
$(function () {
chat_for_mobile();
chat_for_mobile2();
/*$(window).resize(function () {
chat_for_mobile();
chat_for_mobile2();
});*/
<?php if(isset($_GET["first_chat_id"]) && (int)$_GET["first_chat_id"] > 0){ ?>
$("#first_chat_id_<?=(int)$_GET["first_chat_id"]?>").click();
<?php } ?>
$("#chat_job_list").on("click", function () {
$(this).css("background-color", "#367fa9");
$(this).addClass("active");
$("#chat_user_list").css("background-color", "grey").removeClass("active");
$("#chat_remark").css("background-color", "grey").removeClass("active");
chat_for_mobile();
chat_for_mobile2();
view_type();
});
$("#chat_user_list").on("click", function () {
$(this).css("background-color", "#367fa9");
$(this).addClass("active");
$("#chat_job_list").css("background-color", "grey").removeClass("active");
$("#chat_remark").css("background-color", "grey").removeClass("active");
chat_for_mobile();
chat_for_mobile2();
view_type();
});
$("#chat_job_list").trigger("click");
$("#chat_remark").on("click", function () {
$(this).css("background-color", "#367fa9");
$(this).addClass("active");
$("#chat_job_list").css("background-color", "grey").removeClass("active");
$("#chat_user_list").css("background-color", "grey").removeClass("active");
$("#chat_content_container").hide();
view_type();
});
});
</script>
</body>
</html>