From af76793fdf6ea3510df794fa8222cde381ca05a4 Mon Sep 17 00:00:00 2001 From: Yuan Chiu Date: Wed, 29 Oct 2014 01:04:07 +0800 Subject: [PATCH] StudyWill Class --- htdocs/lib/Database/DBStudyActivity.php | 74 ++++++++++++++++++++----- htdocs/lib/Study/StudyWill.php | 53 ++++++++++++++---- 2 files changed, 102 insertions(+), 25 deletions(-) diff --git a/htdocs/lib/Database/DBStudyActivity.php b/htdocs/lib/Database/DBStudyActivity.php index ec35296..b077044 100644 --- a/htdocs/lib/Database/DBStudyActivity.php +++ b/htdocs/lib/Database/DBStudyActivity.php @@ -571,7 +571,7 @@ class DBStudyActivity extends Database { * 'user_id' => <使用者ID>, * 'theme_id' => <主題ID>, * 'start_time' => <開始生效時間>, - * 'end_time' => <過期時間>, + * 'expired_time' => <過期時間>, * 'learn_time' => <學習所需時間(分)>, * 'time_force' => <時間到時是否強制中止學習>, * 'learnStyle_mode' => <學習導引模式>, @@ -606,17 +606,20 @@ class DBStudyActivity extends Database { * * array( * array( - * 'activity_id' => <活動流水編號>, + * 'activity_id' => <預約活動流水編號>, * 'user_id' => <使用者ID>, * 'theme_id' => <主題ID>, - * 'start_time' => <開始學習時間>, - * 'end_time' => <結束學習時間>, - * 'learn_time' => <學習所需時間(分)>, - * 'delay' => <延誤結束時間(分)>, - * 'time_force' => <時間到時是否強制中止學習>, + * 'start_time' => <開始生效時間>, + * 'expired_time' => <過期時間>, + * 'learn_time' => <學習所需時間(分)> + * 'time_force' => <時間到時是否強制中止 * 'learnStyle_mode' => <學習導引模式>, - * 'learnStyle_force' => <拒絕前往非推薦的學習點>, - * 'material_mode' => <教材模式> + * 'learnStyle_force' => <拒絕前往非推薦的學習 + * 'material_mode' => <教材模式>, + * 'is_lock' => <是否鎖定不讓學生更改 + * 'target_total' => <有多少標的學習>, + * 'build_time' => <建立時間>, + * 'modify_time' => <修改時間> * ) * ); * @@ -634,15 +637,20 @@ class DBStudyActivity extends Database { * * array( * array( - * 'activity_id' => <活動流水編號>, + * 'activity_id' => <預約活動流水編號>, * 'user_id' => <使用者ID>, * 'theme_id' => <主題ID>, - * 'start_time' => <開始學習時間>, - * 'end_time' => <結束學習時間>, - * 'delay' => <延誤結束時間(分)>, + * 'start_time' => <開始生效時間>, + * 'expired_time' => <過期時間>, + * 'learn_time' => <學習所需時間(分)> + * 'time_force' => <時間到時是否強制中止 * 'learnStyle_mode' => <學習導引模式>, - * 'learnStyle_force' => <拒絕前往非推薦的學習點>, - * 'material_mode' => <教材模式> + * 'learnStyle_force' => <拒絕前往非推薦的學習 + * 'material_mode' => <教材模式>, + * 'is_lock' => <是否鎖定不讓學生更改 + * 'target_total' => <有多少標的學習>, + * 'build_time' => <建立時間>, + * 'modify_time' => <修改時間> * ) * ); * @@ -652,4 +660,40 @@ class DBStudyActivity extends Database { return $this->queryWillActivityByWhere( "`UID`=".$this->connDB->quote($user_id)); } + + /** + * 修改預約資訊 + * + * @param int $tId 標的編號 + * @param string $field 欄位名稱 + * @param string $value 內容 + */ + public function changeWillActivityData($id, $field, $value) { + $sqlField = null; + switch($field) { + case 'user_id': $sqlField = 'UID'; break; + case 'theme_id': $sqlField = 'ThID'; break; + case 'start_time': $sqlField = 'StartTime'; break; + case 'expired_time': $sqlField = 'ExpiredTime'; break; + case 'learn_time': $sqlField = 'LearnTime'; break; + case 'learn_time': $sqlField = 'TLearnTime'; break; + case 'time_force': $sqlField = 'TimeForce'; break; + case 'learnStyle_mode': $sqlField = 'LMode'; break; + case 'learnStyle_force': $sqlField = 'LModeForce'; break; + case 'material_mode': $sqlField = 'MMode'; break; + case 'is_lock': $sqlField = 'Lock'; break; + default: $sqlField = $field; break; + } + + $sqlString = "UPDATE ".$this->table('StudyWill'). + " SET `".$sqlField."` = :value". + " , `ModifyTime` = NOW()". + " WHERE `SwID` = :id"; + + $query = $this->connDB->prepare($sqlString); + $query->bindParam(':id', $id); + $query->bindParam(':value', $value); + $query->execute(); + } + } \ No newline at end of file diff --git a/htdocs/lib/Study/StudyWill.php b/htdocs/lib/Study/StudyWill.php index 4e62abd..d01bda4 100644 --- a/htdocs/lib/Study/StudyWill.php +++ b/htdocs/lib/Study/StudyWill.php @@ -78,7 +78,8 @@ class StudyWill { * @since 2.0.0 */ public function cancel(){ - //return $this->queryResultArray['name']; + $db = new Database\DBStudyActivity(); + $db->deleteWillActivity($this->id); } // ======================================================================== @@ -123,7 +124,11 @@ class StudyWill { * @since 2.0.0 */ public function setUserById($user_id){ - + $db = new Database\DBStudyActivity(); + // TODO: 檢查使用者有無存在 + $db->changeWillActivityData($this->id, 'user_id', $user_id); + + $this->getQuery(); } ///** @@ -154,7 +159,11 @@ class StudyWill { * @since 2.0.0 */ public function setThemeById($theme_id){ - //return $this->queryResultArray['theme_id']; + $db = new Database\DBStudyActivity(); + // TODO: 檢查主體有無存在 + $db->changeWillActivityData($this->id, 'thime_id', $theme_id); + + $this->getQuery(); } /** @@ -174,7 +183,10 @@ class StudyWill { * @since 2.0.0 */ public function setStartTime($time){ - //return $this->queryResultArray['build_time']; + $db = new Database\DBStudyActivity(); + $db->changeWillActivityData($this->id, 'start_time', $time); + + $this->getQuery(); } /** @@ -194,7 +206,10 @@ class StudyWill { * @since 2.0.0 */ public function setExpiredTime($time){ - //return $this->queryResultArray['build_time']; + $db = new Database\DBStudyActivity(); + $db->changeWillActivityData($this->id, 'expired_time', $time); + + $this->getQuery(); } /** @@ -214,7 +229,10 @@ class StudyWill { * @since 2.0.0 */ public function setLearnTime($min){ - //return $this->queryResultArray['name']; + $db = new Database\DBStudyActivity(); + $db->changeWillActivityData($this->id, 'learn_time', $min); + + $this->getQuery(); } /** @@ -234,7 +252,10 @@ class StudyWill { * @since 2.0.0 */ public function setForceLearnTime($value) { - //return $this->queryResultArray['time_force']; + $db = new Database\DBStudyActivity(); + $db->changeWillActivityData($this->id, 'time_force', $value); + + $this->getQuery(); } /** @@ -254,7 +275,10 @@ class StudyWill { * @since 2.0.0 */ public function setLearnStyle($num){ - + $db = new Database\DBStudyActivity(); + $db->changeWillActivityData($this->id, 'learnStyle_mode', $num); + + $this->getQuery(); } /** @@ -274,7 +298,10 @@ class StudyWill { * @since 2.0.0 */ public function setForceLearnStyle($value){ - + $db = new Database\DBStudyActivity(); + $db->changeWillActivityData($this->id, 'learnStyle_force', $value); + + $this->getQuery(); } /** @@ -294,7 +321,10 @@ class StudyWill { * @since 2.0.0 */ public function setMaterialStyle($value){ - + $db = new Database\DBStudyActivity(); + $db->changeWillActivityData($this->id, 'material_mode', $value); + + $this->getQuery(); } /** @@ -314,7 +344,10 @@ class StudyWill { * @since 2.0.0 */ function setLock($value) { + $db = new Database\DBStudyActivity(); + $db->changeWillActivityData($this->id, 'is_lock', $value); + $this->getQuery(); } /**