public function post_light_run($stu_number, $cloth_size) { $sess = new my_session(); $response = null; if (!$sess->get_session("student")) { $response = "login-error"; } else { $link = null; $link = $this->link_db(); if ($link != null) { $sql = "SELECT COUNT(*) FROM light_run67 WHERE student_number = :student_number"; $check_limit = "SELECT COUNT(*) FROM light_run67"; $stmt2 = $link->prepare($check_limit); $stmt2->execute(); $stmt = $link->prepare($sql); $stmt->execute(array(":student_number" => $stu_number)); if ((int) $stmt->fetchColumn() == 1) { $response = "has-signed-up"; } else { if ((int) $stmt2->fetchColumn() == 350) { $response = "has-limit-number"; } else { $sql = "INSERT INTO light_run67(student_number,size,signup_time) VALUES(:student_number,:size,:signup_time)"; $time = new DateTime("NOW", new DateTimeZone("Asia/Taipei")); $today = $time->format('Y-m-d H:i:s'); $stmt = $link->prepare($sql); $stmt->execute(array(":student_number" => $stu_number, ":size" => $cloth_size, ":signup_time" => $today)); $stmt = $link->prepare("SELECT ID FROM light_run67 WHERE student_number = :student_number"); $stmt->execute(array(":student_number" => $stu_number)); $result = $stmt->fetch(); $response = "<h3>報名成功</h3>"; } } $link = null; } else { $response = "cannot link db."; } } return $response; }
public function handle_signup($signId, $signup_open) { $response = ""; if ($signup_open == null) { $response = "post-error"; } else { $sess = new my_session(); $link = $this->link_db(); $time = new DateTime("NOW", new DateTimeZone("Asia/Taipei")); $today = $time->format('Y-m-d'); $result = $link->prepare("SELECT COUNT(*) FROM volunteer_item103 WHERE ID = :ID AND isCheck = 1"); $result->execute(array(":ID" => $signId)); $is_check = $result->fetchColumn(); if (!$sess->get_session("student")) { $response = "登入後才可報名!"; } else { if ((int) $is_check != 0) { $response = $is_check["item"] . "已經額滿!"; } else { $stmt = $link->prepare("SELECT COUNT(*) FROM volunteer_list103 WHERE student_number = :student_number AND item = :item"); $stmt->execute(array(":student_number" => $sess->get_session("student"), ":item" => $signId)); $res = (int) $stmt->fetchColumn(); $is_post_again = true; if ($res == 1) { $is_post_again = false; } $today = $time->format('Y-m-d H:i:s'); $rs = $link->prepare("SELECT COUNT(*) FROM volunteer_item103 WHERE ID = :ID AND signup_close<':signup_close'"); $rs->execute(array(":ID" => $signId, ":signup_close" => $today)); $cloth_set = $link->prepare("SELECT COUNT(*) FROM cloth_size103 WHERE student_number = :student_number"); $cloth_set->execute(array(":student_number" => $sess->get_session("student"))); if ((int) $rs->fetchColumn() != 0) { $response = "報名已經截止,下次請早!"; } else { if ((int) $cloth_set->fetchColumn() == 0) { $response = "請先將運動會T-shirt尺寸設定好!"; } else { if (!$is_post_again) { $response = "不可重複報名同一個志工項目!"; } else { $sql = "INSERT INTO volunteer_list103(item,student_number,signup_time) VALUES(:item,:student_number,:signup_time)"; $stmt = $link->prepare($sql); $stmt->execute(array(":item" => $signId, ":student_number" => $sess->get_session("student"), ":signup_time" => $today)); $link = null; $response = "報名成功!"; } } } } } } return $response; }