| 2 |
* |
* |
| 3 |
* $Revision$ |
* $Revision$ |
| 4 |
* $Log$ |
* $Log$ |
| 5 |
|
* Revision 1.20 2004/12/01 04:37:04 youi |
| 6 |
|
* freeResult: unsigned int* を int* へ修正. |
| 7 |
|
* コメント部に関数の説明を追記. |
| 8 |
|
* |
| 9 |
* Revision 1.19 2004/11/30 06:40:11 youi |
* Revision 1.19 2004/11/30 06:40:11 youi |
| 10 |
* 関数を追加(gidExists, uidExists) |
* 関数を追加(gidExists, uidExists) |
| 11 |
* getGroupCountを定義. |
* getGroupCountを定義. |
| 159 |
|
|
| 160 |
/** |
/** |
| 161 |
* |
* |
| 162 |
* uidの存在をチェック. |
* Platformユーザ情報にuidが存在するかをチェック. |
| 163 |
* DBのアクセス失敗などもfalseとなる. |
* DBのアクセス失敗などもfalseとなる. |
| 164 |
* |
* |
| 165 |
* @param uid チェックしたいUID |
* @param uid チェックしたいUID |
| 354 |
* アカウント削除 |
* アカウント削除 |
| 355 |
* |
* |
| 356 |
* @param |
* @param |
| 357 |
* @return RES_OK | RES_NO_SUCH_SESSION | RES_DB_QUERY_ERROR |
* @return RES_OK |
| 358 |
|
* @return RES_NO_SUCH_SESSION |
| 359 |
|
* @return RES_DB_QUERY_ERROR |
| 360 |
* |
* |
| 361 |
*/ |
*/ |
| 362 |
result_t deleteAccount( sessionid_t sid, userid_t uid ) |
result_t deleteAccount( sessionid_t sid, userid_t uid ) |
| 389 |
* @param sid セッションID |
* @param sid セッションID |
| 390 |
* @param uid 取得したいユーザのUID |
* @param uid 取得したいユーザのUID |
| 391 |
* @param acc 取得したアカウント情報(account_t)のポインタを書き込む引数 |
* @param acc 取得したアカウント情報(account_t)のポインタを書き込む引数 |
| 392 |
* @return RES_OK | RES_NO_SUCH_USER | RES_NO_SUCH_SESSION | RES_DB_QUERY_ERROR | RES_ERROR |
* @return RES_OK |
| 393 |
|
* @return RES_NO_SUCH_USER |
| 394 |
|
* @return RES_NO_SUCH_SESSION |
| 395 |
|
* @return RES_DB_QUERY_ERROR |
| 396 |
|
* @return RES_ERROR |
| 397 |
* |
* |
| 398 |
*/ |
*/ |
| 399 |
result_t getAccount( sessionid_t sid, userid_t uid, const account_t** acc ) |
result_t getAccount( sessionid_t sid, userid_t uid, const account_t** acc ) |
| 415 |
* @param cri 結果の範囲指定,ソート条件指定 |
* @param cri 結果の範囲指定,ソート条件指定 |
| 416 |
* @param accounts 検索結果の配列のポインタを書き込む引数 |
* @param accounts 検索結果の配列のポインタを書き込む引数 |
| 417 |
* @param accountsLen 検索結果の数(配列*accountsの要素数) |
* @param accountsLen 検索結果の数(配列*accountsの要素数) |
| 418 |
* @return RES_OK| RES_DB_NOT_INITIALIZED| RES_NO_SUCH_SESSION | RES_DB_QUERY_ERROR |
* @return RES_OK| RES_DB_NOT_INITIALIZED| RES_NO_SUCH_SESSION |
| 419 |
|
* @return RES_DB_QUERY_ERROR |
| 420 |
* |
* |
| 421 |
*/ |
*/ |
| 422 |
result_t getAccounts( sessionid_t sid, const userid_t* uids, int uidsLen, criteria_t* cri, const account_t** accounts, int* accountsLen ) |
result_t getAccounts( sessionid_t sid, const userid_t* uids, int uidsLen, criteria_t* cri, const account_t** accounts, int* accountsLen ) |
| 500 |
* |
* |
| 501 |
* @param sid セッション |
* @param sid セッション |
| 502 |
* @param account 登録するアカウント情報 |
* @param account 登録するアカウント情報 |
| 503 |
* @return RES_OK | RES_NO_SUCH_SESSION | RES_DB_QUERY_ERROR | RES_ERROR |
* @return RES_OK |
| 504 |
|
* @return RES_NO_SUCH_SESSION |
| 505 |
|
* @return RES_DB_QUERY_ERROR |
| 506 |
|
* @return RES_ERROR |
| 507 |
* |
* |
| 508 |
*/ |
*/ |
| 509 |
result_t insertAccount( sessionid_t sid, const account_t* account ) |
result_t insertAccount( sessionid_t sid, const account_t* account ) |
| 607 |
|
|
| 608 |
/** |
/** |
| 609 |
* |
* |
| 610 |
* アカウント変更 |
* アカウント情報を変更する. |
| 611 |
* |
* |
| 612 |
* @param |
* |
| 613 |
* @return RES_OK | RES_NO_SUCH_SESSION | RES_DB_QUERY_ERROR |
* @param sid セッションID |
| 614 |
|
* @param account 変更したいアカウント情報 |
| 615 |
|
* @return RES_OK |
| 616 |
|
* @return RES_NO_SUCH_SESSION |
| 617 |
|
* @return RES_DB_QUERY_ERROR |
| 618 |
|
* @return RES_NO_SUCH_USER |
| 619 |
* |
* |
| 620 |
*/ |
*/ |
| 621 |
result_t updateAccount( sessionid_t sid, const account_t* account ) |
result_t updateAccount( sessionid_t sid, const account_t* account ) |
| 622 |
{ |
{ |
| 623 |
if( mysql == NULL ) return RES_DB_NOT_INITIALIZED; |
if( mysql == NULL ) return RES_DB_NOT_INITIALIZED; |
| 624 |
|
if( account == NULL ) return RES_ERROR; |
| 625 |
if( !isValidSessionID( sid ) ) return RES_NO_SUCH_SESSION; |
if( !isValidSessionID( sid ) ) return RES_NO_SUCH_SESSION; |
| 626 |
|
if( !uidExists( account -> getUID( ) ) ) return RES_NO_SUCH_USER; |
| 627 |
|
|
| 628 |
string sql; |
string sql; |
| 629 |
string tmp; |
string tmp; |
| 709 |
* @param cri 結果の範囲指定,ソート条件指定 |
* @param cri 結果の範囲指定,ソート条件指定 |
| 710 |
* @param uids ユーザのUIDの配列 |
* @param uids ユーザのUIDの配列 |
| 711 |
* @param uidsLen uids配列の要素数 |
* @param uidsLen uids配列の要素数 |
| 712 |
* @return RES_OK| RES_DB_NOT_INITIALIZED| RES_NO_SUCH_SESSION | RES_DB_QUERY_ERROR| RES_ERROR |
* @return RES_OK| RES_DB_NOT_INITIALIZED| RES_NO_SUCH_SESSION |
| 713 |
|
* @return RES_DB_QUERY_ERROR| RES_ERROR |
| 714 |
* |
* |
| 715 |
*/ |
*/ |
| 716 |
result_t dumpUids( sessionid_t sid, criteria_t* cri, userid_t** uids, int* uidsLen ) |
result_t dumpUids( sessionid_t sid, criteria_t* cri, userid_t** uids, int* uidsLen ) |
| 964 |
* @param cri 結果の範囲指定,ソート条件指定 |
* @param cri 結果の範囲指定,ソート条件指定 |
| 965 |
* @param uids 管理者のUIDの配列を受け取るポインタ |
* @param uids 管理者のUIDの配列を受け取るポインタ |
| 966 |
* @param uidsLen uids配列の要素数 |
* @param uidsLen uids配列の要素数 |
| 967 |
* @return RES_OK | RES_DB_NOT_INITIALIZED | RES_NO_SUCH_SESSION | RES_DB_QUERY_ERROR | RES_ERROR |
* @return RES_OK |
| 968 |
|
* @return RES_DB_NOT_INITIALIZED |
| 969 |
|
* @return RES_NO_SUCH_SESSION |
| 970 |
|
* @return RES_DB_QUERY_ERROR |
| 971 |
|
* @return RES_ERROR |
| 972 |
* |
* |
| 973 |
*/ |
*/ |
| 974 |
result_t dumpGroupAdmins( sessionid_t sid, groupid_t gid, criteria_t* cri, userid_t** uids, int* uidsLen ) |
result_t dumpGroupAdmins( sessionid_t sid, groupid_t gid, criteria_t* cri, userid_t** uids, int* uidsLen ) |
| 1040 |
* @param gid 所属先グループのID |
* @param gid 所属先グループのID |
| 1041 |
* @param uid 所属させるユーザのID |
* @param uid 所属させるユーザのID |
| 1042 |
* @param admin 管理者権限を与えるならtrue |
* @param admin 管理者権限を与えるならtrue |
| 1043 |
* @return RES_OK | RES_DB_NOT_INITIALIZED | RES_NO_SUCH_SESSION | RES_DB_QUERY_ERROR | RES_ERROR |
* @return RES_OK |
| 1044 |
|
* @return RES_DB_NOT_INITIALIZED |
| 1045 |
|
* @return RES_NO_SUCH_SESSION |
| 1046 |
|
* @return RES_DB_QUERY_ERROR |
| 1047 |
|
* @return RES_ERROR |
| 1048 |
* |
* |
| 1049 |
*/ |
*/ |
| 1050 |
result_t insertMember( sessionid_t sid, groupid_t gid, userid_t uid, bool admin ) |
result_t insertMember( sessionid_t sid, groupid_t gid, userid_t uid, bool admin ) |
| 1135 |
* グループの削除 |
* グループの削除 |
| 1136 |
* |
* |
| 1137 |
* @param |
* @param |
| 1138 |
* @return |
* @return RES_OK |
| 1139 |
|
* @return RES_DB_QUERY_ERROR |
| 1140 |
|
* @return RES_NO_SUCH_SESSION |
| 1141 |
|
* @return RES_DB_NOT_INITIALIZED |
| 1142 |
* |
* |
| 1143 |
*/ |
*/ |
| 1144 |
result_t deleteGroup( sessionid_t sid, groupid_t gid ) |
result_t deleteGroup( sessionid_t sid, groupid_t gid ) |
| 1161 |
* |
* |
| 1162 |
* グループの登録 |
* グループの登録 |
| 1163 |
* |
* |
| 1164 |
* @param |
* @param sid セッションID |
| 1165 |
* @return |
* @param group 登録したいグループの情報 |
| 1166 |
|
* @return RES_OK |
| 1167 |
|
* @return RES_DB_NOT_INITIALIZED |
| 1168 |
|
* @return RES_NO_SUCH_SESSION |
| 1169 |
|
* @return RES_DB_QUERY_ERROR |
| 1170 |
* |
* |
| 1171 |
*/ |
*/ |
| 1172 |
result_t insertGroup( sessionid_t sid, const group_t* group ) |
result_t insertGroup( sessionid_t sid, const group_t* group ) |
| 1188 |
|
|
| 1189 |
/** |
/** |
| 1190 |
* |
* |
| 1191 |
* グループの変更 |
* グループ情報を変更する |
| 1192 |
* |
* |
| 1193 |
* @param |
* @param sid セッションID |
| 1194 |
* @return |
* @param group 新しいグループ情報 |
| 1195 |
|
* @return RES_OK |
| 1196 |
|
* @return RES_ERROR |
| 1197 |
|
* @return RES_DB_NOT_INITIALIZED |
| 1198 |
|
* @return RES_NO_SUCH_SESSION |
| 1199 |
|
* @return RES_NO_SUCH_GROUP |
| 1200 |
|
* @return RES_DB_QUERY_ERROR |
| 1201 |
* |
* |
| 1202 |
*/ |
*/ |
| 1203 |
result_t updateGroup( sessionid_t sid, const group_t* group ) |
result_t updateGroup( sessionid_t sid, const group_t* group ) |
| 1204 |
{ |
{ |
| 1205 |
if( mysql == NULL ) return RES_DB_NOT_INITIALIZED; |
if( mysql == NULL ) return RES_DB_NOT_INITIALIZED; |
| 1206 |
|
if( group == NULL ) return RES_ERROR; |
| 1207 |
if( !isValidSessionID( sid ) ) return RES_NO_SUCH_SESSION; |
if( !isValidSessionID( sid ) ) return RES_NO_SUCH_SESSION; |
| 1208 |
|
if( !gidExists( group -> getGID( ) ) ) return RES_NO_SUCH_GROUP; |
| 1209 |
|
|
| 1210 |
string sql; |
string sql; |
| 1211 |
sql = "UPDATE " + dbprefix + "_vpaccount_groups SET "; |
sql = "UPDATE " + dbprefix + "_vpaccount_groups SET "; |
| 1224 |
* |
* |
| 1225 |
* グループ情報取得 |
* グループ情報取得 |
| 1226 |
* |
* |
| 1227 |
* @param |
* @param sid セッションID |
| 1228 |
* @return |
* @param gid 取得したいグループのGID |
| 1229 |
|
* @param group 取得したグループ情報のアドレスを書き込むポインタ |
| 1230 |
|
* @return RES_OK |
| 1231 |
|
* @return RES_DB_NOT_INITIALIZED |
| 1232 |
|
* @return RES_NO_SUCH_SESSION |
| 1233 |
|
* @return RES_NO_SUCH_GROUP |
| 1234 |
|
* @return RES_DB_QUERY_ERROR |
| 1235 |
* |
* |
| 1236 |
*/ |
*/ |
| 1237 |
result_t getGroup( sessionid_t sid, groupid_t gid, const group_t** group ) |
result_t getGroup( sessionid_t sid, groupid_t gid, const group_t** group ) |
| 1245 |
|
|
| 1246 |
/** |
/** |
| 1247 |
* |
* |
| 1248 |
* グループ情報取得 |
* 複数のグループ情報を一度に取得する. |
| 1249 |
* |
* |
| 1250 |
* @param |
* @param sid セッションID |
| 1251 |
* @return |
* @param gids 取得したいグループのGIDの配列 |
| 1252 |
|
* @param gidsLen gids配列の要素数 |
| 1253 |
|
* @param cri 結果の取得範囲,ソート条件を指定 |
| 1254 |
|
* @param groups 取得結果のグループ情報の配列のアドレスを書き込むポインタ |
| 1255 |
|
* @param groupsLen 取得結果の配列の要素数 |
| 1256 |
|
* @return RES_OK |
| 1257 |
|
* @return RES_DB_NOT_INITIALIZED |
| 1258 |
|
* @return RES_NO_SUCH_SESSION |
| 1259 |
|
* @return RES_DB_QUERY_ERROR |
| 1260 |
* |
* |
| 1261 |
*/ |
*/ |
| 1262 |
result_t getGroups( sessionid_t sid, groupid_t* gids, int gidsLen, criteria_t* cri, const group_t** groups, int* groupsLen ) |
result_t getGroups( sessionid_t sid, groupid_t* gids, int gidsLen, criteria_t* cri, const group_t** groups, int* groupsLen ) |
| 1361 |
* |
* |
| 1362 |
* @param uname IDを取得したいユーザー名 |
* @param uname IDを取得したいユーザー名 |
| 1363 |
* @param uid IDを代入したい変数のポインタ |
* @param uid IDを代入したい変数のポインタ |
| 1364 |
* @return RES_ERROR | RES_OK |
* @return RES_ERROR |
| 1365 |
|
* @return RES_OK |
| 1366 |
* @refer result_t |
* @refer result_t |
| 1367 |
* |
* |
| 1368 |
*/ |
*/ |
| 1608 |
void freeResult( const account_t* ptr ){ delete[] ( account_t* )ptr; } |
void freeResult( const account_t* ptr ){ delete[] ( account_t* )ptr; } |
| 1609 |
void freeResult( const group_t* ptr ){ delete[] ( group_t* )ptr; } |
void freeResult( const group_t* ptr ){ delete[] ( group_t* )ptr; } |
| 1610 |
void freeResult( const session_t* ptr ){ delete[] ( session_t* )ptr; } |
void freeResult( const session_t* ptr ){ delete[] ( session_t* )ptr; } |
| 1611 |
void freeResult( const unsigned int* ptr ){ delete[] ( unsigned int* )ptr; } |
void freeResult( const int* ptr ){ delete[] ( int* )ptr; } |
| 1612 |
|
|
| 1613 |
static string errstr; |
static string errstr; |
| 1614 |
const char* getLastErrorString() |
const char* getLastErrorString() |