| 2 |
* |
* |
| 3 |
* $Revision$ |
* $Revision$ |
| 4 |
* $Log$ |
* $Log$ |
| 5 |
|
* Revision 1.25 2004/12/06 07:24:33 youi |
| 6 |
|
* insertAccount, insertGroup: |
| 7 |
|
* 新規追加した情報に対応するユーザID,グループIDを第三引数に書き込む. |
| 8 |
|
* |
| 9 |
* Revision 1.24 2004/12/06 01:45:50 aga |
* Revision 1.24 2004/12/06 01:45:50 aga |
| 10 |
* ・コメントつけ. |
* ・コメントつけ. |
| 11 |
* ・開放忘れ修正. |
* ・開放忘れ修正. |
| 515 |
|
|
| 516 |
/** |
/** |
| 517 |
* |
* |
| 518 |
* アカウント登録 |
* アカウント登録. |
| 519 |
|
* ユーザ情報をデータベースに登録します. |
| 520 |
|
* 登録したユーザ情報に対応するユーザIDをuidに格納します. |
| 521 |
* |
* |
| 522 |
* @param sid セッション |
* @param sid セッション |
| 523 |
* @param account 登録するアカウント情報 |
* @param account 登録するアカウント情報 |
| 524 |
|
* @param uid 登録したアカウント情報に対応するユーザID |
| 525 |
* @return RES_OK |
* @return RES_OK |
| 526 |
* @return RES_NO_SUCH_SESSION |
* @return RES_NO_SUCH_SESSION |
| 527 |
* @return RES_DB_QUERY_ERROR |
* @return RES_DB_QUERY_ERROR |
| 528 |
* @return RES_ERROR |
* @return RES_ERROR |
| 529 |
* |
* |
| 530 |
*/ |
*/ |
| 531 |
result_t insertAccount( sessionid_t sid, const account_t* account ) |
result_t insertAccount( sessionid_t sid, const account_t* account, userid_t* uid ) |
| 532 |
{ |
{ |
| 533 |
if( mysql == NULL ) return RES_DB_NOT_INITIALIZED; |
if( mysql == NULL ) return RES_DB_NOT_INITIALIZED; |
| 534 |
if( !isValidSessionID( sid ) ) return RES_NO_SUCH_SESSION; |
if( !isValidSessionID( sid ) ) return RES_NO_SUCH_SESSION; |
| 587 |
} |
} |
| 588 |
|
|
| 589 |
//ユーザIDを取得する |
//ユーザIDを取得する |
| 590 |
userid_t uid; |
*uid = mysql_insert_id( mysql ); |
|
if( getUid( account -> getUname( ), &uid ) != RES_OK ){ |
|
|
return RES_ERROR; |
|
|
} |
|
| 591 |
|
|
| 592 |
//vpaccountのユーザテーブルに残りの情報を書き込む |
//vpaccountのユーザテーブルに残りの情報を書き込む |
| 593 |
sql = "INSERT INTO " + dbprefix + "_vpaccount_users (uid, activate, address, division, tel, company_name, country, zipcode, fax, base_url, notice_mail, notice_mail_since) VALUES ("; |
sql = "INSERT INTO " + dbprefix + "_vpaccount_users (uid, activate, address, division, tel, company_name, country, zipcode, fax, base_url, notice_mail, notice_mail_since) VALUES ("; |
| 594 |
snprintf( buf, 12, "%d", uid ); |
snprintf( buf, 12, "%d", *uid ); |
| 595 |
sql += string( buf ) + ", "; |
sql += string( buf ) + ", "; |
| 596 |
if( account -> getActivate() ){ |
if( account -> getActivate() ){ |
| 597 |
sql += "1, "; |
sql += "1, "; |
| 615 |
fprintf( stderr, "%d %s\n", mysql_errno(mysql), mysql_error(mysql) ); |
fprintf( stderr, "%d %s\n", mysql_errno(mysql), mysql_error(mysql) ); |
| 616 |
//xoops_usersへinsertしたレコードを削除する |
//xoops_usersへinsertしたレコードを削除する |
| 617 |
sql = "DELETE FROM " + dbprefix + "_users where uid="; |
sql = "DELETE FROM " + dbprefix + "_users where uid="; |
| 618 |
snprintf( buf, 12, "%d", uid ); |
snprintf( buf, 12, "%d", *uid ); |
| 619 |
sql += string( buf ); |
sql += string( buf ); |
| 620 |
mysql_query( mysql, sql.c_str( ) ); |
mysql_query( mysql, sql.c_str( ) ); |
| 621 |
return RES_DB_QUERY_ERROR; |
return RES_DB_QUERY_ERROR; |
| 1178 |
|
|
| 1179 |
/** |
/** |
| 1180 |
* |
* |
| 1181 |
* グループの登録 |
* グループ登録. |
| 1182 |
|
* グループの情報をデータベースに記録します. |
| 1183 |
|
* 登録したグループに対応するグループIDをgidに格納します. |
| 1184 |
* |
* |
| 1185 |
* @param sid セッションID |
* @param sid セッションID |
| 1186 |
* @param group 登録したいグループの情報 |
* @param group 登録したいグループの情報 |
| 1187 |
|
* @param gid 登録したグループに対応するグループID |
| 1188 |
* @return RES_OK |
* @return RES_OK |
| 1189 |
* @return RES_DB_NOT_INITIALIZED |
* @return RES_DB_NOT_INITIALIZED |
| 1190 |
* @return RES_NO_SUCH_SESSION |
* @return RES_NO_SUCH_SESSION |
| 1191 |
* @return RES_DB_QUERY_ERROR |
* @return RES_DB_QUERY_ERROR |
| 1192 |
* |
* |
| 1193 |
*/ |
*/ |
| 1194 |
result_t insertGroup( sessionid_t sid, const group_t* group ) |
result_t insertGroup( sessionid_t sid, const group_t* group, groupid_t* gid ) |
| 1195 |
{ |
{ |
| 1196 |
if( mysql == NULL ) return RES_DB_NOT_INITIALIZED; |
if( mysql == NULL ) return RES_DB_NOT_INITIALIZED; |
| 1197 |
if( !isValidSessionID( sid ) ) return RES_NO_SUCH_SESSION; |
if( !isValidSessionID( sid ) ) return RES_NO_SUCH_SESSION; |
| 1205 |
fprintf( stderr, "%d %s\n", mysql_errno(mysql), mysql_error(mysql) ); |
fprintf( stderr, "%d %s\n", mysql_errno(mysql), mysql_error(mysql) ); |
| 1206 |
return RES_DB_QUERY_ERROR; |
return RES_DB_QUERY_ERROR; |
| 1207 |
} |
} |
| 1208 |
|
*gid = mysql_insert_id( mysql ); |
| 1209 |
return RES_OK; |
return RES_OK; |
| 1210 |
} |
} |
| 1211 |
|
|