Develop and Download Open Source Software

Browse CVS Repository

Diff of /xoonips/AL/commonal.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.17 by youi, Sat Nov 27 09:35:49 2004 UTC revision 1.18 by aga, Tue Nov 30 05:46:32 2004 UTC
# Line 2  Line 2 
2   *   *
3   * $Revision$   * $Revision$
4   * $Log$   * $Log$
5     * Revision 1.18  2004/11/30 05:46:32  aga
6     * ・sessionからremoteHostを削除.
7     *
8   * Revision 1.17  2004/11/27 09:35:49  youi   * Revision 1.17  2004/11/27 09:35:49  youi
9   * isActivatedを定義.   * isActivatedを定義.
10   * activateを定義.   * activateを定義.
# Line 986  result_t getUid( const char* uname, user Line 989  result_t getUid( const char* uname, user
989   * セッションを作成しxoops_vpaccount_sessionに書き込む。 sessionid_tをsessionに返す。   * セッションを作成しxoops_vpaccount_sessionに書き込む。 sessionid_tをsessionに返す。
990   *   *
991   * @param uid xoops_usersのuid   * @param uid xoops_usersのuid
  * @param remoteHost remote ip (host order)  
992   * @param session sessionid_tを受け取るためのポインタ。   * @param session sessionid_tを受け取るためのポインタ。
993   * @return RES_OK 成功   * @return RES_OK 成功
994   * @return RES_DB_QUERY_ERROR DB問い合わせ中のエラー   * @return RES_DB_QUERY_ERROR DB問い合わせ中のエラー
995   */   */
996  static result_t addSession( userid_t uid, unsigned long remoteHost, sessionid_t* session )  static result_t addSession( userid_t uid, sessionid_t* session )
997  {  {
998      result_t ret;      result_t ret;
999      string sql = "INSERT INTO " + dbprefix + "_vpaccount_session (uid,remote_host) values (" +      string sql = "INSERT INTO " + dbprefix + "_vpaccount_session (uid) values (" +
1000        unsignedIntToString(uid) + "," + unsignedIntToString((unsigned int)remoteHost) + ")";        unsignedIntToString(uid) + ")";
1001      if ( 0 == mysql_query( mysql, sql.c_str() ) ){      if ( 0 == mysql_query( mysql, sql.c_str() ) ){
1002          *session = (int)mysql_insert_id(mysql);          *session = (int)mysql_insert_id(mysql);
1003          ret = RES_OK;          ret = RES_OK;
# Line 1036  result_t loginUser(const char* uname, co Line 1038  result_t loginUser(const char* uname, co
1038              MYSQL_ROW row = mysql_fetch_row(result);              MYSQL_ROW row = mysql_fetch_row(result);
1039              if( row ){              if( row ){
1040                  userid_t uid = atoi(row[0]);                  userid_t uid = atoi(row[0]);
1041                  ret = addSession( uid, 0, session );                  ret = addSession( uid, session );
1042              }else{              }else{
1043                  ret = RES_LOGIN_FAILURE;                  ret = RES_LOGIN_FAILURE;
1044              }              }
# Line 1087  void logoutUser( sessionid_t sid ) Line 1089  void logoutUser( sessionid_t sid )
1089   *   *
1090   * @param sessionid xoopsのsession_id   * @param sessionid xoopsのsession_id
1091   * @param uid  xoops_usersのuid   * @param uid  xoops_usersのuid
  * @param remoteHost remote ip (host order)  
1092   * @param session sessionid_tを受け取るためのポインタ。   * @param session sessionid_tを受け取るためのポインタ。
1093   * @return RES_OK   * @return RES_OK
1094   * @return RES_ERROR   * @return RES_ERROR
1095   * @return RES_DB_QUERY_ERROR   * @return RES_DB_QUERY_ERROR
1096   *   *
1097   */   */
1098  result_t createSession( const char* sessionid, userid_t uid, unsigned long remoteHost, sessionid_t* session )  result_t createSession( const char* sessionid, userid_t uid, sessionid_t* session )
1099  {  {
1100      if( mysql == NULL ) return RES_DB_NOT_INITIALIZED;      if( mysql == NULL ) return RES_DB_NOT_INITIALIZED;
1101            
# Line 1108  result_t createSession( const char* sess Line 1109  result_t createSession( const char* sess
1109          if( result ){          if( result ){
1110              MYSQL_ROW row = mysql_fetch_row(result);              MYSQL_ROW row = mysql_fetch_row(result);
1111              if( row ){              if( row ){
1112                  ret = addSession( uid, remoteHost, session );                  ret = addSession( uid, session );
1113              }else{              }else{
1114                  ret = RES_ERROR;                  ret = RES_ERROR;
1115              }              }
# Line 1139  result_t getSession( sessionid_t sess_id Line 1140  result_t getSession( sessionid_t sess_id
1140      result_t ret;      result_t ret;
1141      string sql;      string sql;
1142            
1143      sql = "SELECT sid, uid, unix_timestamp(timestamp), remote_host from " + dbprefix +      sql = "SELECT sid, uid, unix_timestamp(timestamp) from " + dbprefix +
1144        "_vpaccount_session where sid=" + unsignedIntToString((unsigned int)sess_id);        "_vpaccount_session where sid=" + unsignedIntToString((unsigned int)sess_id);
1145      if( 0 == mysql_query( mysql, sql.c_str( ) ) ){      if( 0 == mysql_query( mysql, sql.c_str( ) ) ){
1146          MYSQL_RES* result = mysql_store_result( mysql );          MYSQL_RES* result = mysql_store_result( mysql );
# Line 1150  result_t getSession( sessionid_t sess_id Line 1151  result_t getSession( sessionid_t sess_id
1151                  p->setSessionID(sess_id);                  p->setSessionID(sess_id);
1152                  p->setUserID(atoi(row[1]));                  p->setUserID(atoi(row[1]));
1153                  p->setDate(atoi(row[2]));                  p->setDate(atoi(row[2]));
                 p->setRemoteHost(atoi(row[3]));  
1154                  *ppsession = p;                  *ppsession = p;
1155                  ret = RES_OK;                  ret = RES_OK;
1156              }else{              }else{

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26