diff --git a/htdocs/config.sample.php b/htdocs/config.sample.php index 871814d..3a56f3a 100644 --- a/htdocs/config.sample.php +++ b/htdocs/config.sample.php @@ -41,11 +41,27 @@ /** * 資料庫內資料表前綴字串 - + * * 每一張表格名稱的起始字串,為了避開一些網頁空間只允許建立一個資料庫的限制。 */ define('DB_PREFIX', 'uel__'); +// 學習導引設定 ================================================================= + + /** + * 預設導引模式 + * + * 針對未個別設定過的使用者,採用預設的導引模式 + */ + define('LMODE', '0'); + + /** + * 預設教材模式 + * + * 針對未個別設定過的使用者,採用預設的導引模式 + */ + define('MMODE', 'normal'); + // 網站設定 =================================================================== /** * 網站標題 diff --git a/htdocs/lib/Database/DBUser.php b/htdocs/lib/Database/DBUser.php index df9e79d..797c53c 100644 --- a/htdocs/lib/Database/DBUser.php +++ b/htdocs/lib/Database/DBUser.php @@ -39,7 +39,15 @@ class DBUser extends Database { * try { * $db = new Database\DBUser(); * - * $db->insertUser('eric', 'passwd', 'user', null, 1, 'harf-line-learn', '1', '偉人', 'Eric Chiou', 'eric@example.com', null); + * $db->insertUser( + * array( + * 'user_id' => 'eric', + * 'password' => 'passwd', + * 'group_id' => 'user', + * 'enable' => true, + * 'enable_noAppoint' => true + * ) + * ); * * echo 'Finish'; * } @@ -53,55 +61,93 @@ class DBUser extends Database { * echo '

'. $e->getCode() .'

'; * } * - * @param string $uId 使用者名稱 - * @param string $password 密碼 - * @param string $gId 群組 - * @param string $cId 班級 - * @param string $enable 啟用此帳號 - * @param string $l_mode 學習模式 - * @param string $m_mode 教材模式 - * @param string $nickName 暱稱 - * @param string $realName 姓名 - * @param string $email 電子郵件地址 - * @param string $memo 備註 + * @param array $array 使用者資料陣列,格式為: + * array( + * 'user_id' => <帳號名稱>, + * 'password' => <密碼>, + * 'group_id' => <群組>, + * 'class_id' => <班級>, + * 'enable' => <啟用>, + * 'learnStyle_mode' => <偏好學習導引模式>, + * 'material_mode' => <偏好教材模式>, + * 'enable_noAppoint' => <是否允許非預約學習>, + * 'nickname' => <暱稱>, + * 'realname' => <真實姓名>, + * 'email' => <電子郵件地址>, + * 'memo' => <備註> + * ); + * + * @since 2.0.0 */ - public function insertUser($uId, $password, $gId, $cId, $enable, - $l_mode, $m_mode, - $nickName, $realName, $email, $memo){ + public function insertUser($array){ + - // 檢查是否有支援所設定的DBMS - //if($this->db_type == 'mysql') { - - //紀錄使用者帳號進資料庫 - $sqlString = "INSERT INTO ".$this->table('User'). - " (`UID`, `UPassword`, `GID`, `CID`, `UEnabled`, `UBuild_Time`, - `LMode`, `MMode`, `UNickname`, `UReal_Name`, `UEmail`, `UMemo`) - VALUES ( :id , :passwd, :gid , :cid , :enable , NOW() , - :lmode , :mmode , :nickname , :realname , :email , :memo )"; - - $query = $this->connDB->prepare($sqlString); - $query->bindParam(":id", $uId); - $query->bindParam(":passwd", $password); - $query->bindParam(":gid", $gId); - $query->bindParam(":cid", $cId); - $query->bindParam(":enable", $enable); - $query->bindParam(":lmode", $l_mode); - $query->bindParam(":mmode", $m_mode); - $query->bindParam(":nickname", $nickName); - $query->bindParam(":realname", $realName); - $query->bindParam(":email", $email); - $query->bindParam(":memo", $memo); - $query->execute(); - //} - //else { - // throw new Exception\DatabaseNoSupportException($this->db_type); - //} + if( !isset($array['class_id']) ){ + $array['class_id'] = null; + } + if( !isset($array['learnStyle_mode']) ){ + $array['learnStyle_mode'] = null; + } + if( !isset($array['material_mode']) ){ + $array['material_mode'] = null; + } + if( !isset($array['nickname']) ){ + $array['nickname'] = null; + } + if( !isset($array['realname']) ){ + $array['realname'] = null; + } + if( !isset($array['email']) ){ + $array['email'] = null; + } + if( !isset($array['memo']) ){ + $array['memo'] = null; + } + // TODO: 不填enable, enable_noAppoint也要能操作 + + $uId = $array['user_id']; + $password = $array['password']; + $gId = $array['group_id']; + $cId = $array['class_id']; + $enable = $array['enable']; + $l_mode = $array['learnStyle_mode']; + $m_mode = $array['material_mode']; + $enPublic = $array['enable_noAppoint']; + $nickName = $array['nickname']; + $realName = $array['realname']; + $email = $array['email']; + $memo = $array['memo']; + + //紀錄使用者帳號進資料庫 + $sqlString = "INSERT INTO ".$this->table('User'). + " (`UID`, `UPassword`, `GID`, `CID`, `UEnabled`, + `LMode`, `MMode`, `UEnable_NoAppoint`, + `UNickname`, `URealName`, `UEmail`, `UMemo`) + VALUES ( :id , :passwd, :gid , :cid , :enable , + :lmode , :mmode , :enpublic , + :nickname , :realname , :email , :memo )"; + + $query = $this->connDB->prepare($sqlString); + $query->bindParam(":id", $uId); + $query->bindParam(":passwd", $password); + $query->bindParam(":gid", $gId); + $query->bindParam(":cid", $cId); + $query->bindParam(":enable", $enable); + $query->bindParam(":lmode", $l_mode); + $query->bindParam(":mmode", $m_mode); + $query->bindParam(":enpublic", $enPublic); + $query->bindParam(":nickname", $nickName); + $query->bindParam(":realname", $realName); + $query->bindParam(":email", $email); + $query->bindParam(":memo", $memo); + $query->execute(); } /** * 移除一位使用者 * @param string $uId 使用者名稱 + * @since 2.0.0 */ public function deleteUser($uId) { @@ -118,6 +164,59 @@ class DBUser extends Database { //} } + /** + * 內部使用的查詢動作 + * @param string $where 查詢語法 + * @return array 查詢結果陣列 + */ + protected function queryUserByWhere($where) { + $sqlString = "SELECT * FROM ".$this->table('User'). + " WHERE ".$where; + + $query = $this->connDB->prepare($sqlString); + $query->execute(); + + $queryResultAll = $query->fetchAll(); + // 如果有查到一筆以上 + if( count($queryResultAll) >= 1 ) { + // 製作回傳結果陣列 + $result = array(); + foreach($queryResultAll as $key => $thisResult) { + + if($thisResult['UEnabled'] != '0') { + $output_enable = true; + } + else { $output_enable = false; } + + if($thisResult['UEnable_NoAppoint'] != '0') { + $output_enable_noAppoint = true; + } + else { $output_enable_noAppoint = false; } + + array_push($result, + array( 'user_id' => $thisResult['UID'], + 'password' => $thisResult['UPassword'], + 'group_id' => $thisResult['GID'], + 'class_id' => $thisResult['CID'], + 'enable' => $output_enable, + 'build_time' => $thisResult['UBuildTime'], + 'modify_time' => $thisResult['UModifyTime'], + 'learnStyle_mode' => $thisResult['LMode'], + 'material_mode' => $thisResult['MMode'], + 'enable_noAppoint' => $output_enable_noAppoint, + 'nickname' => $thisResult['UNickname'], + 'realname' => $thisResult['URealName'], + 'email' => $thisResult['UEmail'], + 'memo' => $thisResult['UMemo']) + ); + } + return $result; + } + else { + return null; + } + } + /** * 查詢一位使用者帳號資料 * @@ -154,50 +253,25 @@ class DBUser extends Database { * 'class_id' => <班級>, * 'enable' => <啟用>, * 'build_time' => <建立日期>, + * 'modify_time' => <修改日期>, * 'learnStyle_mode' => <偏好學習導引模式>, * 'material_mode' => <偏好教材模式>, + * 'enable_noAppoint' => <是否允許非預約學習>, * 'nickname' => <暱稱>, * 'realname' => <真實姓名>, * 'email' => <電子郵件地址>, * 'memo' => <備註> * ); * + * @since 2.0.0 */ public function queryUser($uId) { - $sqlString = "SELECT * FROM ".$this->table('User'). - " WHERE `UID` = :uid"; - - $query = $this->connDB->prepare($sqlString); - $query->bindParam(':uid', $uId); - $query->execute(); - - $queryResultAll = $query->fetchAll(); + $queryResultAll = $this->queryUserByWhere("`UID`=".$this->connDB->quote($uId)); + // 如果有查到一筆以上 if( count($queryResultAll) >= 1 ) { - $queryResult = $queryResultAll[0]; - - if($queryResult['UEnabled'] != '0') { - $output_enable = true; - } - else { $output_enable = false; } - - $result = array( - 'user_id' => $queryResult['UID'], - 'password' => $queryResult['UPassword'], - 'group_id' => $queryResult['GID'], - 'class_id' => $queryResult['CID'], - 'enable' => $output_enable, - 'build_time' => $queryResult['UBuild_Time'], - 'learnStyle_mode' => $queryResult['LMode'], - 'material_mode' => $queryResult['MMode'], - 'nickname' => $queryResult['UNickname'], - 'realname' => $queryResult['UReal_Name'], - 'email' => $queryResult['UEmail'], - 'memo' => $queryResult['UMemo'] - ); - - return $result; + return $queryResultAll[0]; } // 若都沒查到的話 else { @@ -218,8 +292,10 @@ class DBUser extends Database { * 'class_id' => <班級>, * 'enable' => <啟用>, * 'build_time' => <建立日期>, + * 'modify_time' => <修改日期>, * 'learnStyle_mode' => <偏好學習導引模式>, * 'material_mode' => <偏好教材模式>, + * 'enable_noAppoint' => <是否允許非預約學習>, * 'nickname' => <暱稱>, * 'realname' => <真實姓名>, * 'email' => <電子郵件地址>, @@ -229,45 +305,7 @@ class DBUser extends Database { * */ public function queryAllUser() { - - $sqlString = "SELECT * FROM ".$this->table('User'); - - $query = $this->connDB->prepare($sqlString); - $query->execute(); - - $queryResultAll = $query->fetchAll(); - // 如果有查到一筆以上 - if( count($queryResultAll) >= 1 ) { - // 製作回傳結果陣列 - $result = array(); - foreach($queryResultAll as $key => $thisResult) { - - if($thisResult['UEnabled'] != '0') { - $output_enable = true; - } - else { $output_enable = false; } - - array_push($result, - array( 'user_id' => $thisResult['UID'], - 'password' => $thisResult['UPassword'], - 'group_id' => $thisResult['GID'], - 'class_id' => $thisResult['CID'], - 'enable' => $output_enable, - 'build_time' => $thisResult['UBuild_Time'], - 'learnStyle_mode' => $thisResult['LMode'], - 'material_mode' => $thisResult['MMode'], - 'nickname' => $thisResult['UNickname'], - 'realname' => $thisResult['UReal_Name'], - 'email' => $thisResult['UEmail'], - 'memo' => $thisResult['UMemo']) - ); - } - return $result; - } - // 若都沒查到的話 - else { - return null; - } + return $this->queryUserByWhere("1"); } /** @@ -283,33 +321,36 @@ class DBUser extends Database { * @param string $value 內容 */ public function changeUserData($uId, $field, $value) { - // UPDATE `UElearning`.`chu__User` SET `UMemo` = '測試者' WHERE `chu__User`.`UID` = 'yuan'; $sqlField = null; switch($field) { - case 'user_id': $sqlField = 'UID'; break; - case 'password': $sqlField = 'UPassword'; break; - case 'group_id': $sqlField = 'GID'; break; - case 'class_id': $sqlField = 'CID'; break; - case 'enable': $sqlField = 'UEnabled'; break; - case 'build_time': $sqlField = 'UBuild_Time'; break; - case 'learnStyle_mode': $sqlField = 'LMode'; break; - case 'material_mode': $sqlField = 'MMode'; break; - case 'nickname': $sqlField = 'UNickname'; break; - case 'realname': $sqlField = 'UReal_Name'; break; - case 'email': $sqlField = 'UEmail'; break; - case 'memo': $sqlField = 'UMemo'; break; - default: $sqlField = $field; break; + case 'user_id': $sqlField = 'UID'; break; + case 'password': $sqlField = 'UPassword'; break; + case 'group_id': $sqlField = 'GID'; break; + case 'class_id': $sqlField = 'CID'; break; + case 'enable': $sqlField = 'UEnabled'; break; + case 'build_time': $sqlField = 'UBuildTime'; break; + case 'modify_time': $sqlField = 'UModifyTime'; break; + case 'learnStyle_mode': $sqlField = 'LMode'; break; + case 'material_mode': $sqlField = 'MMode'; break; + case 'enable_noAppoint': $sqlField = 'UEnable_NoAppoint'; break; + case 'nickname': $sqlField = 'UNickname'; break; + case 'realname': $sqlField = 'URealName'; break; + case 'email': $sqlField = 'UEmail'; break; + case 'memo': $sqlField = 'UMemo'; break; + default: $sqlField = $field; break; } $sqlString = "UPDATE ".$this->table('User'). " SET `".$sqlField."` = :value". + " , `UModifyTime` = NOW()". " WHERE `UID` = :uid"; $query = $this->connDB->prepare($sqlString); $query->bindParam(':uid', $uId); $query->bindParam(':value', $value); + $query->execute(); } @@ -318,18 +359,43 @@ class DBUser extends Database { /** * 插入群組資料 * - * @param string $gId 群組ID - * @param string $name 群組顯示名稱 - * @param string $memo 備註 - * @param string $auth_admin Server端管理權 - * @param string $auth_clientAdmin Client端管理權 + * @param array $array 使用者群組資料陣列,格式為: + * + * array( 'group_id' => <群組ID>, + * 'name' => <群組顯示名稱>, + * 'memo' => <備註>, + * 'auth_admin' => , + * 'auth_clientAdmin' => + * ); + * */ - public function insertGroup($gId, $name, $memo, $auth_admin, $auth_clientAdmin) { + public function insertGroup($array) { + + // TODO: 不填以下欄位也能進行操作 + if( !isset($array['name']) ){ + $array['name'] = null; + } + if( !isset($array['memo']) ){ + $array['memo'] = null; + } + if( !isset($array['auth_admin']) ){ + $array['auth_admin'] = null; + } + if( !isset($array['auth_clientAdmin']) ){ + $array['auth_clientAdmin'] = null; + } + + + $gId = $array['group_id']; + $name = $array['name']; + $memo = $array['memo']; + $auth_admin = $array['auth_admin']; + $auth_clientAdmin = $array['auth_clientAdmin']; // 紀錄使用者帳號進資料庫 $sqlString = "INSERT INTO ".$this->table('AGroup'). - " (`GID`, `GName`, `GMemo`, `GBuild_Time`, `GAuth_Admin`, `GAuth_ClientAdmin`) - VALUES ( :id , :name, :memo , NOW(), :auth_admin , :auth_clientAdmin )"; + " (`GID`, `GName`, `GMemo`, `GAuth_Admin`, `GAuth_ClientAdmin`) + VALUES ( :id , :name, :memo , :auth_admin , :auth_clientAdmin )"; $query = $this->connDB->prepare($sqlString); $query->bindParam(":id", $gId); @@ -354,14 +420,66 @@ class DBUser extends Database { $query->execute(); } + /** + * 內部使用的查詢動作 + * @param string $where 查詢語法 + * @return array 查詢結果陣列 + */ + protected function queryGroupByWhere($where) { + $sqlString = "SELECT * FROM ".$this->table('AGroup'). + " WHERE ".$where; + + $query = $this->connDB->prepare($sqlString); + $query->execute(); + + $queryResultAll = $query->fetchAll(); + // 如果有查到一筆以上 + if( count($queryResultAll) >= 1 ) { + // 製作回傳結果陣列 + $result = array(); + foreach($queryResultAll as $key => $thisResult) { + + // 轉換成boolean + if($thisResult['GAuth_Admin'] != '0') { + $output_auth_admin = true; + } else { $output_auth_admin = false; } + + if($thisResult['GAuth_ClientAdmin'] != '0') { + $output_auth_clientAdmin = true; + } else { $output_auth_clientAdmin = false; } + + // 製作回傳結果陣列 + array_push($result, + array('group_id' => $thisResult['GID'], + 'name' => $thisResult['GName'], + 'memo' => $thisResult['GMemo'], + 'build_time' => $thisResult['GBuildTime'], + 'modify_time' => $thisResult['GModifyTime'], + 'auth_admin' => $output_auth_admin, + 'auth_clientAdmin' => $output_auth_clientAdmin) + ); + } + + return $result; + } + // 若都沒查到的話 + else { + return null; + } + + } + /** * 查詢一個使用者群組資料 * + * @param string $gId 群組ID * @return array 使用者群組資料陣列,格式為: * * array( 'group_id' => <群組ID>, * 'name' => <群組顯示名稱>, * 'memo' => <備註>, + * 'build_time' => <建立時間>, + * 'modify_time' => <修改時間>, * 'auth_admin' => , * 'auth_clientAdmin' => * ); @@ -369,36 +487,11 @@ class DBUser extends Database { */ public function queryGroup($gId) { - $sqlString = "SELECT * FROM ".$this->table('AGroup'). - " WHERE `GID` = :gid"; - - $query = $this->connDB->prepare($sqlString); - $query->bindParam(':gid', $gId); - $query->execute(); - - $queryResultAll = $query->fetchAll(); + $queryResultAll = $this->queryGroupByWhere("`GID`=".$this->connDB->quote($gId)); + // 如果有查到一筆以上 if( count($queryResultAll) >= 1 ) { - $thisResult = $queryResultAll[0]; - - // 轉換成boolean - if($thisResult['GAuth_Admin'] != '0') { - $output_auth_admin = true; - } else { $output_auth_admin = false; } - - if($thisResult['GAuth_ClientAdmin'] != '0') { - $output_auth_clientAdmin = true; - } else { $output_auth_clientAdmin = false; } - - // 製作回傳結果陣列 - $result = array('group_id' => $thisResult['GID'], - 'name' => $thisResult['GName'], - 'memo' => $thisResult['GMemo'], - 'build_time' => $thisResult['GBuild_Time'], - 'auth_admin' => $output_auth_admin, - 'auth_clientAdmin' => $output_auth_clientAdmin - ); - return $result; + return $queryResultAll[0]; } // 若都沒查到的話 else { @@ -416,6 +509,8 @@ class DBUser extends Database { * 'group_id' => <群組ID>, * 'name' => <群組顯示名稱>, * 'memo' => <備註>, + * 'build_time' => <建立時間>, + * 'modify_time' => <修改時間>, * 'auth_admin' => , * 'auth_clientAdmin' => * ) @@ -424,43 +519,7 @@ class DBUser extends Database { */ public function queryAllGroup() { - $sqlString = "SELECT * FROM ".$this->table('AGroup'); - - $query = $this->connDB->prepare($sqlString); - $query->execute(); - - $queryResultAll = $query->fetchAll(); - // 如果有查到一筆以上 - if( count($queryResultAll) >= 1 ) { - // 製作回傳結果陣列 - $result = array(); - foreach($queryResultAll as $key => $thisResult) { - - // 轉換成boolean - if($thisResult['GAuth_Admin'] != '0') { - $output_auth_admin = true; - } else { $output_auth_admin = false; } - - if($thisResult['GAuth_ClientAdmin'] != '0') { - $output_auth_clientAdmin = true; - } else { $output_auth_clientAdmin = false; } - - // 插入一筆資料 - array_push($result, - array( 'group_id' => $thisResult['GID'], - 'name' => $thisResult['GName'], - 'memo' => $thisResult['GMemo'], - 'build_time' => $thisResult['GBuild_Time'], - 'auth_admin' => $output_auth_admin, - 'auth_clientAdmin' => $output_auth_clientAdmin) - ); - } - return $result; - } - // 若都沒查到的話 - else { - return null; - } + return $this->queryGroupByWhere('1'); } /** @@ -476,11 +535,10 @@ class DBUser extends Database { * @param string $value 內容 */ public function changeGroupData($gId, $field, $value) { - // UPDATE `UElearning`.`chu__User` SET `UMemo` = '測試者' WHERE `chu__User`.`UID` = 'yuan'; $sqlField = null; switch($field) { - case 'group_id': $sqlField = 'UID'; break; + case 'group_id': $sqlField = 'GID'; break; case 'name': $sqlField = 'GName'; break; case 'memo': $sqlField = 'GMemo'; break; case 'auth_admin': $sqlField = 'GAuth_Admin'; break; @@ -491,6 +549,7 @@ class DBUser extends Database { $sqlString = "UPDATE ".$this->table('AGroup'). " SET `".$sqlField."` = :value". + " , `GModifyTime` = NOW()". " WHERE `GID` = :gid"; $query = $this->connDB->prepare($sqlString); @@ -504,17 +563,26 @@ class DBUser extends Database { /** * 插入班級資料 * - * @param string $cId 班級ID - * @param string $name 班級顯示名稱 - * @param string $memo 備註 + * @param array $array 班級資料陣列,格式為: + * + * array( 'class_id' => <班級ID>, + * 'name' => <班級顯示名稱>, + * 'memo' => <備註> + * ); + * * @return int 剛剛新增的ID */ - public function insertClassGroup($cId, $name, $memo) { + public function insertClassGroup($array) { + + $cId = $array['class_id']; + // TODO: 不填以下欄位也能進行操作 + $name = $array['name']; + $memo = $array['memo']; // 紀錄使用者帳號進資料庫 $sqlString = "INSERT INTO ".$this->table('CGroup'). - " (`CID`, `CName`, `CMemo`, `CBuild_Time`) - VALUES ( :id , :name, :memo , NOW() )"; + " (`CID`, `CName`, `CMemo`) + VALUES ( :id , :name , :memo )"; $query = $this->connDB->prepare($sqlString); $query->bindParam(":id", $cId); @@ -526,6 +594,8 @@ class DBUser extends Database { $sqlString = "SELECT LAST_INSERT_ID()"; $query = $this->connDB->query($sqlString); $queryResult = $query->fetch(); + + if(isset($cId)) return $cId; return $queryResult[0]; } @@ -544,42 +614,67 @@ class DBUser extends Database { } /** - * 查詢一個班級資料 - * - * @return array 班級資料陣列,格式為: - * - * array( 'class_id' => <班級ID>, - * 'name' => <班級顯示名稱>, - * 'memo' => <備註>, - * 'build_time' => <建立時間> - * ); - * + * 內部使用的查詢動作 + * @param string $where 查詢語法 + * @return array 查詢結果陣列 */ - public function queryClassGroup($cId) { - + protected function queryClassByWhere($where) { $sqlString = "SELECT * FROM ".$this->table('CGroup'). - " WHERE `CID` = :cid"; + " WHERE ".$where; $query = $this->connDB->prepare($sqlString); - $query->bindParam(':cid', $cId); $query->execute(); $queryResultAll = $query->fetchAll(); // 如果有查到一筆以上 if( count($queryResultAll) >= 1 ) { - $thisResult = $queryResultAll[0]; // 製作回傳結果陣列 - $result = array('class_id' => $thisResult['CID'], - 'name' => $thisResult['CName'], - 'memo' => $thisResult['CMemo'], - 'build_time' => $thisResult['CBuild_Time'] - ); + $result = array(); + foreach($queryResultAll as $key => $thisResult) { + array_push($result, + array( 'class_id' => $thisResult['CID'], + 'name' => $thisResult['CName'], + 'memo' => $thisResult['CMemo'], + 'build_time' => $thisResult['CBuildTime'], + 'modify_time' => $thisResult['CModifyTime']) + ); + } + return $result; } // 若都沒查到的話 else { return null; } + + } + + /** + * 查詢一個班級資料 + * + * @param int $cId 班級ID + * @return array 班級資料陣列,格式為: + * + * array( 'class_id' => <班級ID>, + * 'name' => <班級顯示名稱>, + * 'memo' => <備註>, + * 'build_time' => <建立時間>, + * 'modify_time' => <修改時間> + * ); + * + */ + public function queryClassGroup($cId) { + + $queryResultAll = $this->queryClassByWhere("`CID`=".$this->connDB->quote($cId)); + + // 如果有查到一筆以上 + if( count($queryResultAll) >= 1 ) { + return $queryResultAll[0]; + } + // 若都沒查到的話 + else { + return null; + } } /** @@ -592,37 +687,15 @@ class DBUser extends Database { * 'class_id' => <班級ID>, * 'name' => <班級顯示名稱>, * 'memo' => <備註>, - * 'build_time' => <建立時間> + * 'build_time' => <建立時間>, + * 'modify_time' => <修改時間> * ) * ); * */ public function queryAllClassGroup() { - $sqlString = "SELECT * FROM ".$this->table('CGroup'); - - $query = $this->connDB->prepare($sqlString); - $query->execute(); - - $queryResultAll = $query->fetchAll(); - // 如果有查到一筆以上 - if( count($queryResultAll) >= 1 ) { - // 製作回傳結果陣列 - $result = array(); - foreach($queryResultAll as $key => $thisResult) { - array_push($result, - array( 'class_id' => $thisResult['CID'], - 'name' => $thisResult['CName'], - 'memo' => $thisResult['CMemo'], - 'build_time' => $thisResult['CBuild_Time']) - ); - } - return $result; - } - // 若都沒查到的話 - else { - return null; - } + return $this->queryClassByWhere('1'); } /** @@ -650,6 +723,7 @@ class DBUser extends Database { $sqlString = "UPDATE ".$this->table('CGroup'). " SET `".$sqlField."` = :value". + " , `CModifyTime` = NOW()". " WHERE `CID` = :cid"; $query = $this->connDB->prepare($sqlString); diff --git a/htdocs/lib/User/UserAdmin.php b/htdocs/lib/User/UserAdmin.php index a30b451..021b0f9 100644 --- a/htdocs/lib/User/UserAdmin.php +++ b/htdocs/lib/User/UserAdmin.php @@ -58,9 +58,10 @@ class UserAdmin { * 'group_id' => 'user', * 'class_id' => '5-2', // (optional) * 'enable' => true, // (optional) 預設為true - * 'learnStyle_mode' => 'harf-line-learn', // (optional) - * 'material_mode' => 1, // (optional) - * 'nickname' => 'eric', // (optional) + * 'learnStyle_mode' => 3, // (optional) + * 'material_mode' => 'normal', // (optional) + * 'material_mode' => 'normal', // (optional) + * 'enable_noAppoint' => true, // (optional) * 'realname' => 'Eric Chiu', // (optional) * 'email' => 'eric@example.tw', // (optional) * 'memo' => '' ) // (optional) @@ -99,6 +100,9 @@ class UserAdmin { if( !isset($userInfoArray['material_mode']) ){ $userInfoArray['material_mode'] = null; } + if( !isset($userInfoArray['enable_noAppoint']) ){ + $userInfoArray['enable_noAppoint'] = null; + } if( !isset($userInfoArray['nickname']) ){ $userInfoArray['nickname'] = null; } @@ -119,18 +123,22 @@ class UserAdmin { // 新增一筆使用者資料進資料庫 $db = new Database\DBUser(); $db->insertUser( - $userInfoArray['user_id'], - $passwdEncrypted, - $userInfoArray['group_id'], - $userInfoArray['class_id'], - $userInfoArray['enable'], - $userInfoArray['learnStyle_mode'], - $userInfoArray['material_mode'], - $userInfoArray['nickname'], - $userInfoArray['realname'], - $userInfoArray['email'], - $userInfoArray['memo'] + array( + 'user_id' => $userInfoArray['user_id'], + 'password' => $passwdEncrypted, + 'group_id' => $userInfoArray['group_id'], + 'class_id' => $userInfoArray['class_id'], + 'enable' => $userInfoArray['enable'], + 'learnStyle_mode' => $userInfoArray['learnStyle_mode'], + 'material_mode' => $userInfoArray['material_mode'], + 'enable_noAppoint' => $userInfoArray['enable_noAppoint'], + 'nickname' => $userInfoArray['nickname'], + 'realname' => $userInfoArray['realname'], + 'email' => $userInfoArray['email'], + 'memo' => $userInfoArray['memo'] + ) ); + } } else throw Exception\NoDataException(); diff --git a/htdocs/lib/User/UserGroupAdmin.php b/htdocs/lib/User/UserGroupAdmin.php index f04bd87..cd57a46 100644 --- a/htdocs/lib/User/UserGroupAdmin.php +++ b/htdocs/lib/User/UserGroupAdmin.php @@ -86,11 +86,12 @@ class UserGroupAdmin { // 新增一筆使用者資料進資料庫 $db = new Database\DBUser(); $db->insertGroup( - $groupArray['group_id'], - $groupArray['name'], - $groupArray['memo'], - $groupArray['auth_server_admin'], - $groupArray['auth_client_admin'] + array( 'group_id' => $groupArray['group_id'], + 'name' => $groupArray['name'], + 'memo' => $groupArray['memo'], + 'auth_admin' => $groupArray['auth_server_admin'], + 'auth_clientAdmin' => $groupArray['auth_client_admin'] + ) ); } } diff --git a/sql/UElearning_2014_10_15.sql b/sql/UElearning_2014_10_24.sql similarity index 88% rename from sql/UElearning_2014_10_15.sql rename to sql/UElearning_2014_10_24.sql index 665b41c..99eee15 100644 --- a/sql/UElearning_2014_10_15.sql +++ b/sql/UElearning_2014_10_24.sql @@ -3,7 +3,7 @@ -- http://www.phpmyadmin.net -- -- 主機: localhost --- 產生時間: 2014 年 10 月 14 日 18:01 +-- 產生時間: 2014 年 10 月 23 日 22:19 -- 伺服器版本: 5.6.16 -- PHP 版本: 5.5.9 @@ -30,7 +30,8 @@ CREATE TABLE IF NOT EXISTS `chu__AGroup` ( `GID` varchar(30) COLLATE utf8_unicode_ci NOT NULL, `GName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, `GMemo` tinytext COLLATE utf8_unicode_ci, - `GBuild_Time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `GBuildTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `GModifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '權限群組資訊修改時間', `GAuth_Admin` tinyint(1) NOT NULL, `GAuth_ClientAdmin` tinyint(1) NOT NULL, PRIMARY KEY (`GID`) @@ -40,10 +41,11 @@ CREATE TABLE IF NOT EXISTS `chu__AGroup` ( -- 資料表的匯出資料 `chu__AGroup` -- -INSERT INTO `chu__AGroup` (`GID`, `GName`, `GMemo`, `GBuild_Time`, `GAuth_Admin`, `GAuth_ClientAdmin`) VALUES -('admin', '管理員', NULL, '2014-10-07 08:38:03', 0, 0), -('student', '學生', NULL, '2014-10-07 08:38:03', 0, 0), -('teacher', '老師', NULL, '2014-10-07 08:38:03', 0, 0); +INSERT INTO `chu__AGroup` (`GID`, `GName`, `GMemo`, `GBuildTime`, `GModifyTime`, `GAuth_Admin`, `GAuth_ClientAdmin`) VALUES +('admin', '管理員', NULL, '2014-10-07 08:38:03', '2014-10-23 05:33:32', 0, 0), +('student', '學生', NULL, '2014-10-07 08:38:03', '2014-10-23 05:33:32', 0, 0), +('teacher', '老師', NULL, '2014-10-07 08:38:03', '2014-10-23 05:33:32', 0, 0), +('user', '一般使用者', NULL, '2014-10-23 20:14:52', '2014-10-23 20:14:52', 0, 1); -- -------------------------------------------------------- @@ -51,13 +53,6 @@ INSERT INTO `chu__AGroup` (`GID`, `GName`, `GMemo`, `GBuild_Time`, `GAuth_Admin` -- 替換檢視表以便查看 `chu__AGroup_with_people` -- CREATE TABLE IF NOT EXISTS `chu__AGroup_with_people` ( -`GID` varchar(30) -,`GName` varchar(100) -,`in_user` bigint(21) -,`GMemo` tinytext -,`GBuild_Time` timestamp -,`GAuth_Admin` tinyint(1) -,`GAuth_ClientAdmin` tinyint(1) ); -- -------------------------------------------------------- @@ -106,7 +101,8 @@ CREATE TABLE IF NOT EXISTS `chu__CGroup` ( `CID` int(11) NOT NULL AUTO_INCREMENT, `CName` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, `CMemo` tinytext COLLATE utf8_unicode_ci, - `CBuild_Time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `CBuildTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `CModifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`CID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='使用者班級分類' AUTO_INCREMENT=1 ; @@ -116,11 +112,6 @@ CREATE TABLE IF NOT EXISTS `chu__CGroup` ( -- 替換檢視表以便查看 `chu__CGroup_with_people` -- CREATE TABLE IF NOT EXISTS `chu__CGroup_with_people` ( -`CID` int(11) -,`CName` varchar(100) -,`in_user` bigint(21) -,`CMemo` tinytext -,`CBuild_Time` timestamp ); -- -------------------------------------------------------- @@ -1073,7 +1064,7 @@ CREATE TABLE IF NOT EXISTS `chu__Material` ( `MID` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '教材內部編號', `TID` int(10) unsigned NOT NULL COMMENT '標的內部編號', `MEntity` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否為實體教材', - `MMode` enum('normal') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'normal' COMMENT '教材模式', + `MMode` varchar(10) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'normal' COMMENT '教材模式', `MUrl` varchar(1000) COLLATE utf8_unicode_ci NOT NULL COMMENT '教材檔案路徑', PRIMARY KEY (`MID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='教材' AUTO_INCREMENT=31 ; @@ -1116,6 +1107,25 @@ INSERT INTO `chu__Material` (`MID`, `TID`, `MEntity`, `MMode`, `MUrl`) VALUES -- -------------------------------------------------------- +-- +-- 資料表結構 `chu__MaterialKind` +-- + +CREATE TABLE IF NOT EXISTS `chu__MaterialKind` ( + `MkID` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `MkName` varchar(100) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`MkID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- 資料表的匯出資料 `chu__MaterialKind` +-- + +INSERT INTO `chu__MaterialKind` (`MkID`, `MkName`) VALUES +('normal', '一般教材'); + +-- -------------------------------------------------------- + -- -- 資料表結構 `chu__Recommand` -- @@ -1134,10 +1144,9 @@ CREATE TABLE IF NOT EXISTS `chu__Recommand` ( CREATE TABLE IF NOT EXISTS `chu__Study` ( `SID` int(10) NOT NULL AUTO_INCREMENT, - `TID` int(10) NOT NULL COMMENT '標的內部編號', - `UID` int(30) NOT NULL COMMENT '使用者名稱', - `LMode` int(11) NOT NULL COMMENT '學習導引模式', - `MMode` int(11) NOT NULL COMMENT '教材模式', + `SaID` int(10) NOT NULL, + `UID` int(30) NOT NULL, + `TID` int(10) NOT NULL COMMENT '標的編號', `In_TargetTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '進入標的時間', `Out_TargetTime` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '離開標的時間', PRIMARY KEY (`SID`) @@ -1150,10 +1159,13 @@ CREATE TABLE IF NOT EXISTS `chu__Study` ( -- CREATE TABLE IF NOT EXISTS `chu__StudyActivity` ( - `SaID` int(10) NOT NULL AUTO_INCREMENT, + `SaID` int(10) NOT NULL AUTO_INCREMENT COMMENT '學習活動流水編號', + `UID` varchar(30) COLLATE utf8_unicode_ci NOT NULL, `ThID` int(10) NOT NULL COMMENT '主題編號', - `CID` int(11) NOT NULL COMMENT '班級名稱', - `StartTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '開始時間', + `StartTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `LMode` int(2) NOT NULL DEFAULT '1' COMMENT '學習導引模式', + `MMode` varchar(10) COLLATE utf8_unicode_ci NOT NULL COMMENT '教材模式', + `LearnTime` int(4) NOT NULL, `Delay` int(11) NOT NULL DEFAULT '0' COMMENT '實際狀態延誤(分)', PRIMARY KEY (`SaID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='學習活動' AUTO_INCREMENT=1 ; @@ -1174,6 +1186,28 @@ CREATE TABLE IF NOT EXISTS `chu__StudyQuestion` ( -- -------------------------------------------------------- +-- +-- 資料表結構 `chu__StudyWill` +-- + +CREATE TABLE IF NOT EXISTS `chu__StudyWill` ( + `SwID` int(10) NOT NULL AUTO_INCREMENT COMMENT '預約學習活動流水編號', + `UID` varchar(30) COLLATE utf8_unicode_ci NOT NULL, + `ThID` int(10) NOT NULL COMMENT '主題編號', + `StartTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '預約生效時間', + `ExpiredTime` int(11) NOT NULL COMMENT '過期時間', + `LMode` int(2) NOT NULL DEFAULT '1' COMMENT '學習導引模式', + `MMode` varchar(10) COLLATE utf8_unicode_ci NOT NULL COMMENT '教材模式', + `LearnTime` int(4) NOT NULL COMMENT '學習總時間', + `Delay` int(11) NOT NULL DEFAULT '0' COMMENT '實際狀態延誤(分)', + `Lock` tinyint(1) NOT NULL DEFAULT '1' COMMENT '鎖定不讓學生更改', + `BuildTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `ModifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`SwID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='預約學習活動' AUTO_INCREMENT=1 ; + +-- -------------------------------------------------------- + -- -- 資料表結構 `chu__Target` -- @@ -1299,8 +1333,10 @@ INSERT INTO `chu__TBelong` (`ThID`, `TID`, `Weights`) VALUES CREATE TABLE IF NOT EXISTS `chu__Theme` ( `ThID` int(10) unsigned NOT NULL AUTO_INCREMENT, `ThName` varchar(100) COLLATE utf8_unicode_ci NOT NULL COMMENT '主題名稱', - `ThLearnTotal` int(4) NOT NULL COMMENT '學習此主題要花的總時間(m)', + `ThLearnTime` int(4) NOT NULL COMMENT '學習此主題要花的總時間(m)', `ThIntroduction` tinytext COLLATE utf8_unicode_ci COMMENT '介紹', + `ThBuildTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `ThModifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`ThID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='主題' AUTO_INCREMENT=2 ; @@ -1308,8 +1344,8 @@ CREATE TABLE IF NOT EXISTS `chu__Theme` ( -- 資料表的匯出資料 `chu__Theme` -- -INSERT INTO `chu__Theme` (`ThID`, `ThName`, `ThLearnTotal`, `ThIntroduction`) VALUES -(1, '生命科學', 40, NULL); +INSERT INTO `chu__Theme` (`ThID`, `ThName`, `ThLearnTime`, `ThIntroduction`, `ThBuildTime`, `ThModifyTime`) VALUES +(1, '生命科學', 40, NULL, '2014-10-23 09:21:03', '2014-10-23 09:21:03'); -- -------------------------------------------------------- @@ -1323,11 +1359,13 @@ CREATE TABLE IF NOT EXISTS `chu__User` ( `GID` varchar(30) COLLATE utf8_unicode_ci NOT NULL COMMENT '使用者群組', `CID` int(11) DEFAULT NULL COMMENT '使用者班級', `UEnabled` tinyint(1) NOT NULL DEFAULT '1' COMMENT '帳號啟用狀態', - `UBuild_Time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '帳號建立時間', - `LMode` enum('line-learn','harf-line-learn','non-line-learn') COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '學習導引模式', - `MMode` int(11) DEFAULT NULL COMMENT '教材模式', + `UBuildTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '帳號建立時間', + `UModifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '帳號資訊修改時間', + `LMode` int(2) DEFAULT NULL COMMENT '學習導引模式', + `MMode` varchar(10) COLLATE utf8_unicode_ci DEFAULT 'normal' COMMENT '教材模式', + `UEnable_NoAppoint` tinyint(1) NOT NULL DEFAULT '1' COMMENT '開放非預約學習', `UNickname` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '暱稱', - `UReal_Name` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '真實姓名', + `URealName` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '真實姓名', `UEmail` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '使用者email', `UMemo` tinytext COLLATE utf8_unicode_ci COMMENT '備註', PRIMARY KEY (`UID`) @@ -1356,8 +1394,7 @@ CREATE TABLE IF NOT EXISTS `chu__UserSession` ( -- 檢視表結構 `chu__AGroup_with_people` -- DROP TABLE IF EXISTS `chu__AGroup_with_people`; - -CREATE ALGORITHM=UNDEFINED DEFINER=`yuan`@`localhost` SQL SECURITY DEFINER VIEW `chu__AGroup_with_people` AS select `group`.`GID` AS `GID`,`group`.`GName` AS `GName`,(select count(`user`.`GID`) from `chu__User` `user` where (`user`.`GID` = `group`.`GID`)) AS `in_user`,`group`.`GMemo` AS `GMemo`,`group`.`GBuild_Time` AS `GBuild_Time`,`group`.`GAuth_Admin` AS `GAuth_Admin`,`group`.`GAuth_ClientAdmin` AS `GAuth_ClientAdmin` from `chu__AGroup` `group` where 1; +-- 使用中(#1356 - View 'UElearning.chu__AGroup_with_people' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them) -- -------------------------------------------------------- @@ -1365,8 +1402,7 @@ CREATE ALGORITHM=UNDEFINED DEFINER=`yuan`@`localhost` SQL SECURITY DEFINER VIEW -- 檢視表結構 `chu__CGroup_with_people` -- DROP TABLE IF EXISTS `chu__CGroup_with_people`; - -CREATE ALGORITHM=UNDEFINED DEFINER=`yuan`@`localhost` SQL SECURITY DEFINER VIEW `chu__CGroup_with_people` AS select `group`.`CID` AS `CID`,`group`.`CName` AS `CName`,(select count(`user`.`CID`) from `chu__User` `user` where (`user`.`CID` = `group`.`CID`)) AS `in_user`,`group`.`CMemo` AS `CMemo`,`group`.`CBuild_Time` AS `CBuild_Time` from `chu__CGroup` `group` where 1; +-- 使用中(#1356 - View 'UElearning.chu__CGroup_with_people' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them) -- -------------------------------------------------------- diff --git a/tests/Database/DBUserTest.php b/tests/Database/DBUserTest.php index 66eee31..79d3660 100644 --- a/tests/Database/DBUserTest.php +++ b/tests/Database/DBUserTest.php @@ -35,12 +35,25 @@ class DBUserTest extends \PHPUnit_Framework_TestCase * @dataProvider userDataProvider */ public function testCreateUser($uId, $uPassword, $gId, $cId, $enable, - $l_mode, $m_mode, + $l_mode, $m_mode, $enPublic, $nickName, $realName, $email, $memo){ - $this->db->insertUser($uId, $uPassword, $gId, $cId, $enable, - $l_mode, $m_mode, - $nickName, $realName, $email, $memo); + $this->db->insertUser( + array( + 'user_id' => $uId, + 'password' => $uPassword, + 'group_id' => $gId, + 'class_id' => $cId, + 'enable' => $enable, + 'learnStyle_mode' => $l_mode, + 'material_mode' => $m_mode, + 'enable_noAppoint' => $enPublic, + 'nickname' => $nickName, + 'realname' => $realName, + 'email' => $email, + 'memo' => $memo + ) + ); } /** @@ -49,7 +62,7 @@ class DBUserTest extends \PHPUnit_Framework_TestCase * @dataProvider userDataProvider */ public function testQueryUser($uId, $uPassword, $gId, $cId, $enable, - $l_mode, $m_mode, + $l_mode, $m_mode, $enPublic, $nickName, $realName, $email, $memo){ // 查詢使用者 @@ -63,6 +76,7 @@ class DBUserTest extends \PHPUnit_Framework_TestCase $this->assertEquals($info['enable'], $enable); $this->assertEquals($info['learnStyle_mode'], $l_mode); $this->assertEquals($info['material_mode'], $m_mode); + $this->assertEquals($info['enable_noAppoint'],$enPublic); $this->assertEquals($info['nickname'], $nickName); $this->assertEquals($info['realname'], $realName); $this->assertEquals($info['email'], $email); @@ -86,7 +100,7 @@ class DBUserTest extends \PHPUnit_Framework_TestCase * @dataProvider userDataProvider */ public function testChangeUser($uId, $uPassword, $gId, $cId, $enable, - $l_mode, $m_mode, + $l_mode, $m_mode, $enPublic, $nickName, $realName, $email, $memo){ $afterData = 'sfisjojjoij'; @@ -124,13 +138,18 @@ class DBUserTest extends \PHPUnit_Framework_TestCase * 測試時要填的資料 */ public function userDataProvider(){ + + //$uId, $uPassword, $gId, $cId, $enable, + //$l_mode, $m_mode, $enPublic, + //$nickName, $realName, $email, $memo + return array( array('yuan_unittest', 'pass123', 'admin', null, true, - 'harf-line-learn', 1, + null, null, true, '元兒~', 'Yuan Chiu', 'chyuaner@gmail.com', null), array('eee_unittest', 'qqqssss', 'admin', null, 0, - 'harf-line-learn', '1', + 0, 'normal', false, 'sss', 'Yuan Chiu', 'chyuanesr@gmail.com', null) ); } @@ -144,7 +163,14 @@ class DBUserTest extends \PHPUnit_Framework_TestCase */ public function testCreateGroup($gId, $name, $memo, $auth_admin, $auth_clientAdmin){ - $this->db->insertGroup($gId, $name, $memo, $auth_admin, $auth_clientAdmin); + $this->db->insertGroup( + array( 'group_id' => $gId, + 'name' => $name, + 'memo' => $memo, + 'auth_admin' => $auth_admin, + 'auth_clientAdmin' => $auth_clientAdmin + ) + ); } /** diff --git a/tests/User/UserAdminTest.php b/tests/User/UserAdminTest.php index d189a0c..4dad392 100644 --- a/tests/User/UserAdminTest.php +++ b/tests/User/UserAdminTest.php @@ -19,7 +19,7 @@ class UserAdminTest extends \PHPUnit_Framework_TestCase * @dataProvider userDataProvider */ public function testCreateUser($uId, $uPassword, $gId, $cId, $enable, - $l_mode, $m_mode, + $l_mode, $m_mode, $enable_noAppoint, $nickName, $realName, $email, $memo) { @@ -27,7 +27,7 @@ class UserAdminTest extends \PHPUnit_Framework_TestCase // 建立資料庫管理物件 $userAdmin = new UserAdmin(); - // TODO: 建立使用者 + // 建立使用者 $userAdmin->create( array( 'user_id' => $uId, 'password' => $uPassword, @@ -35,7 +35,8 @@ class UserAdminTest extends \PHPUnit_Framework_TestCase 'class_id' => $cId, 'enable' => $enable, 'learnStyle_mode' => $l_mode, - 'material_mode' => $m_mode, + 'material_mode' => $m_mode, + 'enable_noAppoint' => $enable_noAppoint, 'nickname' => $nickName, 'realname' => $realName, 'email' => $email, @@ -88,13 +89,13 @@ class UserAdminTest extends \PHPUnit_Framework_TestCase public function userDataProvider(){ return array( array('yuan_unittest', 'pass123', 'admin', null, true, - 'harf-line-learn', 1, + 3, 'normal', true, '元兒~', 'Yuan Chiu', 'chyuaner@gmail.com', null), array('eee_unittest', 'qqqssss', 'admin', null, 1, - 'harf-line-learn', '1', + 0, 'normal', false, 'sss', 'Yuan Chiu', 'chyuanesr@gmail.com', null) - ); + ); } } \ No newline at end of file diff --git a/tests/User/UserTest.php b/tests/User/UserTest.php index b4e22fd..15a6987 100644 --- a/tests/User/UserTest.php +++ b/tests/User/UserTest.php @@ -19,7 +19,7 @@ class UserTest extends \PHPUnit_Framework_TestCase * @dataProvider userDataProvider */ public function testCreateUser($uId, $uPassword, $gId, $cId, $enable, - $l_mode, $m_mode, + $l_mode, $m_mode, $enable_noAppoint, $nickName, $realName, $email, $memo) { @@ -27,7 +27,7 @@ class UserTest extends \PHPUnit_Framework_TestCase // 建立資料庫管理物件 $userAdmin = new User\UserAdmin(); - // TODO: 建立使用者 + // 建立使用者 $userAdmin->create( array( 'user_id' => $uId, 'password' => $uPassword, @@ -35,7 +35,8 @@ class UserTest extends \PHPUnit_Framework_TestCase 'class_id' => $cId, 'enable' => $enable, 'learnStyle_mode' => $l_mode, - 'material_mode' => $m_mode, + 'material_mode' => $m_mode, + 'enable_noAppoint' => $enable_noAppoint, 'nickname' => $nickName, 'realname' => $realName, 'email' => $email, @@ -54,7 +55,7 @@ class UserTest extends \PHPUnit_Framework_TestCase * @dataProvider userDataProvider */ public function testGetInfo($uId, $uPassword, $gId, $cId, $enable, - $l_mode, $m_mode, + $l_mode, $m_mode, $enable_noAppoint, $nickName, $realName, $email, $memo) { try { @@ -82,7 +83,7 @@ class UserTest extends \PHPUnit_Framework_TestCase * @dataProvider userDataProvider */ public function testSetInfo($uId, $uPassword, $gId, $cId, $enable, - $l_mode, $m_mode, + $l_mode, $m_mode, $enable_noAppoint, $nickName, $realName, $email, $memo) { try { @@ -140,13 +141,13 @@ class UserTest extends \PHPUnit_Framework_TestCase public function userDataProvider(){ return array( array('yuan_unittest', 'pass123', 'admin', null, true, - 'harf-line-learn', 1, + 3, 'normal', true, '元兒~', 'Yuan Chiu', 'chyuaner@gmail.com', null), array('eee_unittest', 'qqqssss', 'admin', null, 1, - 'harf-line-learn', '1', + 0, 'normal', false, 'sss', 'Yuan Chiu', 'chyuanesr@gmail.com', null) - ); + ); } } \ No newline at end of file