User Manager to fix & fill setclass

This commit is contained in:
Yuan Chiu 2014-10-12 17:00:54 +08:00
parent adf9c28135
commit 697e213aa3
3 changed files with 85 additions and 10 deletions

View File

@ -8,6 +8,8 @@ namespace UElearning\User;
require_once UELEARNING_LIB_ROOT.'/Database/DBUser.php';
require_once UELEARNING_LIB_ROOT.'/User/UserGroupAdmin.php';
require_once UELEARNING_LIB_ROOT.'/User/UserGroup.php';
require_once UELEARNING_LIB_ROOT.'/User/ClassGroupAdmin.php';
require_once UELEARNING_LIB_ROOT.'/User/ClassGroup.php';
require_once UELEARNING_LIB_ROOT.'/User/Exception.php';
require_once UELEARNING_LIB_ROOT.'/Exception.php';
require_once UELEARNING_LIB_ROOT.'/Util/Password.php';
@ -232,7 +234,6 @@ class User {
else {
throw new Exception\GroupNoFoundException($toGroup);
}
}
// ------------------------------------------------------------------------
@ -248,23 +249,69 @@ class User {
}
/**
* 取得所在群組顯示名稱
* 取得所在班級名稱
*
* @return string 班級名稱
* @since 2.0.0
*/
public function getClassName(){
// TODO: 取得所在群組顯示名稱
// 群組ID
$classID = $this->queryResultArray['class_id'];
// 檢查有此群組
if(isset($classID)) {
// 取得群組名稱
try {
$group = new ClassGroup($classID);
return $group->getName();
}
catch (Exception\ClassNoFoundException $e) {
throw $e;
}
}
else return null;
}
/**
* 設定所在群組
* 設定所在班級
*
* @param string $toGroup 班級ID
* 範例:
*
* try {
* $user = new User\User('yuan');
*
* try {
* $user->setClass(1);
* }
* catch (User\Exception\ClassNoFoundException $e) {
* echo 'No Class to set: '. $e->getGroupId();
* }
* }
* catch (User\Exception\UserNoFoundException $e) {
* echo 'No Found user: '. $e->getUserId();
* }
*
* @param string $toClass 班級ID
* @since 2.0.0
*/
public function setClass($toClass){
// TODO: 設定所在群組
// 檢查有此群組
if(isset($toClass)) {
$classGroupAdmin = new ClassGroupAdmin();
if($classGroupAdmin->isExist($toClass)) {
$this->setUpdate('class_id', $toClass);
}
else {
throw new Exception\ClassNoFoundException($toGroup);
}
}
else {
$this->setUpdate('class_id', null);
}
}
// ========================================================================

View File

@ -27,6 +27,10 @@ class UserAdmin {
*
* 建立使用者範例:
*
* require_once __DIR__.'/../config.php';
* require_once UELEARNING_LIB_ROOT.'/User/UserAdmin.php';
* use UElearning\User;
*
* try {
* $userAdmin = new User\UserAdmin();
* $userAdmin->create(
@ -35,8 +39,8 @@ class UserAdmin {
* 'group_id' => 'admin',
* 'enable' => true,
* 'nickname' => '艾瑞克',
* 'email' => 'eric@example.com'
* ));
* 'email' => 'eric@example.com' )
* );
*
* }
* // 若已有重複帳號名稱

View File

@ -27,9 +27,14 @@ class UserSession {
*
* 範例:
*
* require_once __DIR__.'/../config.php';
* require_once UELEARNING_LIB_ROOT.'/User/UserSession.php';
* use UElearning\User;
*
* try {
* $session = new User\UserSession();
* echo 'Token: '$session->login('yuan', '123456', 'browser');
* $loginToken = $session->login('yuan', 'password', 'browser');
* echo 'Token: '.$loginToken;
* }
* catch (User\Exception\UserNoFoundException $e) {
* echo 'No Found user: '. $e->getUserId();
@ -162,6 +167,25 @@ class UserSession {
/**
* 取得使用者物件
*
* 範例:
*
* try {
* // 正常寫法
* $userSession = new User\UserSession();
* $user = $userSession->getUser(YZ8@(3fYb[!f!A^E4^6b4LuqxSXgZ2FJ);
*
* // 簡短寫法PHP 5.4以上才支援)
* //$user = (new User\UserSession())->getUser('YZ8@(3fYb[!f!A^E4^6b4LuqxSXgZ2FJ');
*
* // 撈帳號資料
* echo '暱稱: '.$user->getNickName(); // 取得暱稱
* echo '本名: '.$user->getRealName(); // 取得本名
* }
* catch (User\Exception\LoginTokenNoFoundException $e) {
* echo 'No Found Token: '. $e->getToken();
* }
*
* @param string $token 登入階段token
* @return User 使用者物件
* @throw \UElearning\User\Exception\LoginTokenNoFoundException