diff options
| author | Paul Buetow <paul@buetow.org> | 2013-04-06 13:14:44 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2013-04-06 13:14:44 +0200 |
| commit | c8b2ef7b899766d04562f7e04a84251cea8fa701 (patch) | |
| tree | 52816b17c17e2db0cf89e68537ad1a52392f1510 /src/data/data.cpp | |
| parent | ca28c0e618890330d429c0dc12429255b20f0c90 (diff) | |
tagging ychat-0.8.0ychat-0.8.0
Diffstat (limited to 'src/data/data.cpp')
| -rw-r--r-- | src/data/data.cpp | 133 |
1 files changed, 66 insertions, 67 deletions
diff --git a/src/data/data.cpp b/src/data/data.cpp index cfde735..fa509dd 100644 --- a/src/data/data.cpp +++ b/src/data/data.cpp @@ -34,11 +34,11 @@ data::select_query( string s_query, string s_where_rule, vector<string>& vec_ele iter++; while ( iter != vec_elements.end() ) - { - s_mysql_query.append( secure_query(*iter) ); - if ( ++iter != vec_elements.end() ) - s_mysql_query.append( ", " ); - } + { + s_mysql_query.append( secure_query(*iter) ); + if ( ++iter != vec_elements.end() ) + s_mysql_query.append( ", " ); + } s_mysql_query.append(" FROM " + s_table + s_where_rule ); print_query( MYSQLQU + s_mysql_query ); @@ -46,17 +46,16 @@ data::select_query( string s_query, string s_where_rule, vector<string>& vec_ele MYSQL_RES* p_result = NULL; if ( 0 == mysql_query( p_con->p_mysql, (const char*)s_mysql_query.c_str() ) ) - { - p_result = mysql_store_result( p_con->p_mysql ); - push_con( p_con ); - } - + { + p_result = mysql_store_result( p_con->p_mysql ); + push_con( p_con ); + } else - { - wrap::system_message( MYSQLQU + string( mysql_error(p_con->p_mysql) ) ); - if (p_con != NULL) - delete p_con; - } + { + wrap::system_message( MYSQLQU + string( mysql_error(p_con->p_mysql) ) ); + if (p_con != NULL) + delete p_con; + } return p_result; } @@ -66,28 +65,28 @@ data::parse_result( MYSQL_RES* p_result, vector<string>& vec_elements ) { hashmap<string> map_ret; if ( p_result != NULL ) - { - MYSQL_ROW row; - vector<string>::iterator vec_iter = vec_elements.begin(); - vec_iter++; + { + MYSQL_ROW row; + vector<string>::iterator vec_iter = vec_elements.begin(); + vec_iter++; - while( (row = mysql_fetch_row(p_result)) ) - for ( int i=0; i < mysql_num_fields(p_result); i++, vec_iter++ ) - map_ret[*vec_iter] = string(row[i]); + while( (row = mysql_fetch_row(p_result)) ) + for ( int i=0; i < mysql_num_fields(p_result); i++, vec_iter++ ) + map_ret[*vec_iter] = string(row[i]); - mysql_free_result( p_result ); - } + mysql_free_result( p_result ); + } return map_ret; } void -data::insert_user_data( string s_user, string s_query, hashmap<string> insert_map ) +data::insert_user_data( string s_user, string s_query, map<string,string> insert_map ) { insert_query( s_query, insert_map ); } void -data::insert_query( string s_query, hashmap<string> map_insert ) +data::insert_query( string s_query, map<string,string> map_insert ) { vector<string> vec_elements = map_queries[s_query]; vector<string>::iterator iter = vec_elements.begin(); @@ -97,26 +96,26 @@ data::insert_query( string s_query, hashmap<string> map_insert ) string s_mysql_query = "INSERT INTO " + s_table + " ("; while ( iter != vec_elements.end() ) - { - s_mysql_query.append( *iter ); + { + s_mysql_query.append( *iter ); - if ( ++iter != vec_elements.end() ) - s_mysql_query.append( ", " ); - else - s_mysql_query.append( ") VALUES(" ); - } + if ( ++iter != vec_elements.end() ) + s_mysql_query.append( ", " ); + else + s_mysql_query.append( ") VALUES(" ); + } iter = vec_elements.begin(); iter++; while ( iter != vec_elements.end() ) - { - s_mysql_query.append( "\"" + secure_query(map_insert[*iter]) + "\"" ); - if ( ++iter != vec_elements.end() ) - s_mysql_query.append( ", " ); - else - s_mysql_query.append( ")" ); - } + { + s_mysql_query.append( "\"" + secure_query(map_insert[*iter]) + "\"" ); + if ( ++iter != vec_elements.end() ) + s_mysql_query.append( ", " ); + else + s_mysql_query.append( ")" ); + } print_query( MYSQLQU + s_mysql_query ); @@ -148,33 +147,33 @@ data::update_user_data( string s_user, string s_query, hashmap<string> update_ma bool b_flag = 0; while ( iter != vec_elements.end() ) + { + if ( update_map[*iter] == "" ) // Dont update data if it has not been changed / if its empty! { - if ( update_map[*iter] == "" ) // Dont update data if it has not been changed / if its empty! - { - iter++; - continue; - } - - if ( iter != iter_second && b_flag ) - s_mysql_query.append( ", " ); - - s_mysql_query.append( *iter + "=\"" + secure_query(update_map[*iter]) + "\"" ); - b_flag = 1; iter++; + continue; } + if ( iter != iter_second && b_flag ) + s_mysql_query.append( ", " ); + + s_mysql_query.append( *iter + "=\"" + secure_query(update_map[*iter]) + "\"" ); + b_flag = 1; + iter++; + } + if ( b_flag ) - { - s_mysql_query.append( " WHERE nick=\"" + tool::to_lower(s_user) + "\"" ); + { + s_mysql_query.append( " WHERE nick=\"" + tool::to_lower(s_user) + "\"" ); - con* p_con = get_con(); - print_query( MYSQLQU + s_mysql_query ); + con* p_con = get_con(); + print_query( MYSQLQU + s_mysql_query ); - if ( 0 != mysql_query( p_con->p_mysql, (const char*)s_mysql_query.c_str() ) ) - wrap::system_message( MYSQLQU + string( mysql_error(p_con->p_mysql) ) ); + if ( 0 != mysql_query( p_con->p_mysql, (const char*)s_mysql_query.c_str() ) ) + wrap::system_message( MYSQLQU + string( mysql_error(p_con->p_mysql) ) ); - push_con( p_con ); - } + push_con( p_con ); + } } string @@ -184,18 +183,18 @@ data::secure_query( string s_mysql_query ) unsigned i_pos = s_mysql_query.find("\\"); while ( i_pos != string::npos ) - { - s_mysql_query.replace( i_pos, 1, "/" ); - i_pos = s_mysql_query.find("\\"); - } + { + s_mysql_query.replace( i_pos, 1, "/" ); + i_pos = s_mysql_query.find("\\"); + } i_pos = s_mysql_query.find("\""); while ( i_pos != string::npos ) - { - s_mysql_query.replace( i_pos, 1, "'" ); - i_pos = s_mysql_query.find("\""); - } + { + s_mysql_query.replace( i_pos, 1, "'" ); + i_pos = s_mysql_query.find("\""); + } return s_mysql_query; } |
