$phone = array_string4key($_GET, "phone"); $wx_id = array_string4key($_GET, "wx_id"); $guid = null; if ($phone != null) { $guid = new GuestUID($phone, TYPE_GUID_PHONE); } else { if ($wx_id != null) { $guid = new GuestUID($wx_id, TYPE_GUID_WX_ID); } } if ($guid == null || !$guid->is_valid()) { $err = BOOK_CODE_ERR_INVALID; goto ERROR; } // wx-openid is required $oid = array_string4key($_GET, "oid"); $guid->oid = $oid; $guest_num = array_number4key($_GET, "gnum"); $visit_date = array_number4key($_GET, "vdate"); $visit_mins_slot = array_number4key($_GET, "vmins"); $small_board = array_number4key($_GET, "small_b"); $medium_board = array_number4key($_GET, "medium_b"); $large_board = array_number4key($_GET, "large_b"); $err = srvc_book_reserve($guid, $guest_num, $visit_date, $visit_mins_slot, $small_board, $medium_board, $large_board, $trade_token); } else { if ($action == "query_schedule") { // by default, query the reservations for the next 2 weeks $err = srvc_book_query_schedule(7 * 2, $result_arr); } else { if ($action == "block") { $visit_date = array_number4key($_GET, "vdate");
$right_now_day = full_date($TIME_OF_FIRST_OPEN_DAY); // try to get wx-openid $wx_oid = ""; $wx_code = array_string4key($_GET, "code"); $wx_state = array_string4key($_GET, "state"); if ($wx_code != null && $wx_state == TOO_WX_STATE_DEFAULT) { $wx_access_token = ""; wx_openid_from_code($wx_code, $wx_access_token, $wx_oid); if ($wx_oid != null) { setcookie(KEY_COOKIE_TOO_WX_OID, $wx_oid, time() + 3600); } $redirect_url = TOO_HOME_URL . "/wx/book.php#wechat_redirect"; header("Location:" . $redirect_url); exit; } $wx_oid = array_string4key($_COOKIE, KEY_COOKIE_TOO_WX_OID); if ($wx_oid == null) { $wx_oid = ""; } ?> <?php $available_days = []; $available_days_display = []; $cur_day = $TIME_OF_FIRST_OPEN_DAY; for ($k = 0; $k < OPEN_HOUR_DAY; $k++) { $ts = $cur_day + $k * SEC_PER_DAY; $str_date = full_date($ts); $val_date = date("Ymd", $ts); // skip the day if blocked if (srvc_book_is_blocked($val_date)) {