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.23 by aga, Sat Dec 4 09:21:10 2004 UTC revision 1.24 by aga, Mon Dec 6 01:45:50 2004 UTC
# Line 2  Line 2 
2   *   *
3   * $Revision$   * $Revision$
4   * $Log$   * $Log$
5     * Revision 1.24  2004/12/06 01:45:50  aga
6     * ・コメントつけ.
7     * ・開放忘れ修正.
8     *
9   * Revision 1.23  2004/12/04 09:21:10  aga   * Revision 1.23  2004/12/04 09:21:10  aga
10   * ・vp_config → vpaccount_config.   * ・vp_config → vpaccount_config.
11   *   *
# Line 1433  static result_t addSession( userid_t uid Line 1437  static result_t addSession( userid_t uid
1437   * @param uname ログイン名   * @param uname ログイン名
1438   * @param passwd パスワード   * @param passwd パスワード
1439   * @param session sessionid_tを受け取るためのポインタ。   * @param session sessionid_tを受け取るためのポインタ。
1440   * @return RES_OK ログイン成功。sessionにsessionid_tを書き込んだ。   * @return RES_OK ログイン成功。sessionにsessionid_tを書き込んだ。<br>
1441   * @return RES_LOGIN_FAILURE unameまたはpasswdが異常   * @return RES_LOGIN_FAILURE unameまたはpasswdが異常<br>
1442   * @return RES_DB_QUERY_ERROR DB問い合わせ中のエラー   * @return RES_DB_QUERY_ERROR DB問い合わせ中のエラー
1443   *   *
1444   */   */
# Line 1480  result_t loginUser(const char* uname, co Line 1484  result_t loginUser(const char* uname, co
1484   */   */
1485  void logoutUser( sessionid_t sid )  void logoutUser( sessionid_t sid )
1486  {  {
1487        if( mysql == NULL ) return; // RES_DB_NOT_INITIALIZED;
1488        
1489      result_t ret;      result_t ret;
1490      string sql;      string sql;
1491            
# Line 1500  void logoutUser( sessionid_t sid ) Line 1506  void logoutUser( sessionid_t sid )
1506  /**  /**
1507   *   *
1508   * セッションの作成.<br>   * セッションの作成.<br>
1509   * XOOPSのsessionテーブルに記録されたsess_idと引数sessionidが等しけれ   * XOOPSのsessionテーブルに記録されたsess_idと引数sess_idが等しけれ
1510   * ば,session_tを作成する。   * ば,session_tを作成する。
1511   * データベースにセッションと引数の情報を記録する   * データベースにセッションと引数の情報を記録する
1512   *   *
1513   * @param sessionid xoopsのsession_id   * @param sessionid xoopsのsession_id
1514   * @param uid  xoops_usersのuid   * @param uid  xoops_usersのuid
1515   * @param session sessionid_tを受け取るためのポインタ。   * @param session sessionid_tを受け取るためのポインタ。
1516   * @return RES_OK   * @return RES_OK 成功。<br>
1517   * @return RES_ERROR   * @return RES_ERROR
1518   * @return RES_DB_QUERY_ERROR   * @return RES_DB_QUERY_ERROR
1519   *   *
1520   */   */
1521  result_t createSession( const char* sessionid, userid_t uid, sessionid_t* session )  result_t createSession( const char* sess_id, userid_t uid, sessionid_t* session )
1522  {  {
1523      if( mysql == NULL ) return RES_DB_NOT_INITIALIZED;      if( mysql == NULL ) return RES_DB_NOT_INITIALIZED;
1524            
1525      result_t ret;      result_t ret;
1526      string sql;      string sql;
1527            
1528      string escSessionid = addSlashes(sessionid);      string escSess_id = addSlashes(sess_id);
1529      sql = "SELECT sess_id from " + dbprefix + "_session where sess_id='" + escSessionid + "'";      sql = "SELECT sess_id from " + dbprefix + "_session where sess_id='" + escSess_id + "'";
1530      if( 0 == mysql_query( mysql, sql.c_str( ) ) ){      if( 0 == mysql_query( mysql, sql.c_str( ) ) ){
1531          MYSQL_RES* result = mysql_store_result( mysql );          MYSQL_RES* result = mysql_store_result( mysql );
1532          if( result ){          if( result ){
# Line 1545  result_t createSession( const char* sess Line 1551  result_t createSession( const char* sess
1551   *   *
1552   * セッションの詳細をsession_tで取得する.<br>   * セッションの詳細をsession_tで取得する.<br>
1553   *   *
1554   * @param sess_id   * @param sid セッションID
1555   * @param session   * @param ppsession sessionid_t*を受け取るためのポインタ。
1556   * @return   * @return RES_OK 成功。freeResult(*ppsession)が必要。<br>
1557     * @return RES_NO_SUCH_SESSION<br>
1558     * @return RES_DB_QUERY_ERROR<br>
1559     * @return RES_DB_NOT_INITIALIZED
1560   *   *
1561   */   */
1562  result_t getSession( sessionid_t sess_id, const session_t** ppsession )  result_t getSession( sessionid_t sid, const session_t** ppsession )
1563  {  {
1564      if( mysql == NULL ) return RES_DB_NOT_INITIALIZED;      if( mysql == NULL ) return RES_DB_NOT_INITIALIZED;
1565            
# Line 1558  result_t getSession( sessionid_t sess_id Line 1567  result_t getSession( sessionid_t sess_id
1567      string sql;      string sql;
1568            
1569      sql = "SELECT sid, uid, unix_timestamp(timestamp) from " + dbprefix +      sql = "SELECT sid, uid, unix_timestamp(timestamp) from " + dbprefix +
1570        "_vpaccount_session where sid=" + unsignedIntToString((unsigned int)sess_id);        "_vpaccount_session where sid=" + unsignedIntToString((unsigned int)sid);
1571      if( 0 == mysql_query( mysql, sql.c_str( ) ) ){      if( 0 == mysql_query( mysql, sql.c_str( ) ) ){
1572          MYSQL_RES* result = mysql_store_result( mysql );          MYSQL_RES* result = mysql_store_result( mysql );
1573          if( result ){          if( result ){
1574              MYSQL_ROW row = mysql_fetch_row(result);              MYSQL_ROW row = mysql_fetch_row(result);
1575              if( row ){              if( row ){
1576                  session_t *p = new session[1];                  session_t *p = new session[1];
1577                  p->setSessionID(sess_id);                  p->setSessionID(sid);
1578                  p->setUserID(atoi(row[1]));                  p->setUserID(atoi(row[1]));
1579                  p->setDate(atoi(row[2]));                  p->setDate(atoi(row[2]));
1580                  *ppsession = p;                  *ppsession = p;
# Line 1608  bool isValidSessionID( sessionid_t sid ) Line 1617  bool isValidSessionID( sessionid_t sid )
1617      }      }
1618      MYSQL_RES* result = mysql_store_result( mysql ) ;      MYSQL_RES* result = mysql_store_result( mysql ) ;
1619      MYSQL_ROW row = mysql_fetch_row(result);      MYSQL_ROW row = mysql_fetch_row(result);
1620        mysql_free_result( result );
1621      if( row ){      if( row ){
1622          return true;          return true;
1623      }else{      }else{
1624          return false;          return false;
1625      }      }
     mysql_free_result( result );  
1626  }  }
1627    
1628  void freeResult( const account_t* ptr ){ delete[] ( account_t* )ptr; }  void freeResult( const account_t* ptr ){ delete[] ( account_t* )ptr; }

Legend:
Removed from v.1.23  
changed lines
  Added in v.1.24

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