Develop and Download Open Source Software

Browse CVS Repository

Contents of /xoonips/AL/commonal.cc

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


Revision 1.5 - (show annotations) (download) (as text)
Fri Nov 26 01:08:25 2004 UTC (19 years, 4 months ago) by aga
Branch: MAIN
Changes since 1.4: +21 -1 lines
File MIME type: text/x-c++src
。ヲaddSlashes()コ?ョ.

1 /*
2 *
3 * $Revision: 1.4 $
4 * $Log: commonal.cc,v $
5 * Revision 1.4 2004/11/25 12:14:29 youi
6 * getUid縺ョ蜃ヲ逅?r螳夂セゥ縺励◆.
7 *
8 * Revision 1.3 2004/11/25 11:13:59 youi
9 * getLastErrorString/setLastErrorString繧貞ョ夂セゥ.
10 *
11 * Revision 1.2 2004/11/25 08:55:19 youi
12 * 蠑墓焚縺ョ蝙九r菫ョ豁」.
13 * freeResult繧定ソス蜉?.
14 *
15 * Revision 1.1 2004/11/25 05:14:58 youi
16 * initial version
17 *
18 *
19 */
20
21 #include <stdio.h>
22 #include <string.h>
23 #include <mysql.h>
24 #include <string>
25
26 #include "common.h"
27 #include "account.h"
28 #include "group.h"
29 #include "session.h"
30 #include "criteria.h"
31 #include "commonal.h"
32
33 static MYSQL* mysql = NULL; //!< MySQL縺ョ繝上Φ繝峨Ν
34
35 /**
36 *
37 * php縺ョaddslashes縺ィ蜷後§縲?/span>
38 *
39 * @param addslashes縺吶∋縺肴枚蟄怜?縲?ULL謖?ョ壻ク榊庄縲?/span>
40 * @return addslashes縺輔l縺滓枚蟄怜?
41 */
42 string addSlashes( const char *str )
43 {
44 int len = strlen(str);
45 char *buf = new char[len*2+1];
46 int bufLen = mysql_real_escape_string( mysql, buf, str, len );
47 string s( buf, bufLen );
48 return s;
49 }
50
51
52 /**
53 *
54 * 繝??繧ソ繝吶?繧ケ縺ョ蛻晄悄蛹?/span>
55 *
56 * @param host 繝??繧ソ繝吶?繧ケ縺ョ繝帙せ繝亥錐
57 * @param user 繝??繧ソ繝吶?繧ケ縺ォ繧「繧ッ繧サ繧ケ縺吶k繝ヲ繝シ繧カ蜷?/span>
58 * @param password 荳願ィ倥Θ繝シ繧カ縺ョ繝代せ繝ッ繝シ繝?/span>
59 * @param dbname 繝??繧ソ繝吶?繧ケ縺ョ蜷榊燕
60 * @param prefix XOOPS繝??繧ソ繝吶?繧ケ繝??繝悶Ν縺ョPREFIX
61 * @return result_t
62 * @refer result_t
63 */
64 result_t initializeDB( const char* host, const char* user, const char* password, const char* dbname, const char* prefix )
65 {
66 // 譌「縺ォ謗・邯壻クュ縺ェ繧峨?∽ク?譌ヲ蛻?妙
67 if ( mysql != NULL )
68 mysql_close( mysql );
69
70 // 蛻晄悄蛹悶→謗・邯?/span>
71 mysql = mysql_init(NULL);
72 if ( mysql == NULL ){
73 return RES_DB_INITIALIZE_ERROR;
74 }
75 char *unix_socket = NULL; // ?
76 uint flag = 0; // ?
77 if ( NULL == mysql_real_connect( mysql, host, user, password, dbname, 3306, unix_socket, flag ) ){
78 return RES_DB_CONNECT_ERROR;
79 }
80
81 return RES_OK;
82 }
83
84
85 /**
86 *
87 * Platform繝ヲ繝シ繧カ謇ソ隱咲憾諷句叙蠕?/span>
88 *
89 * @param
90 * @return
91 *
92 */
93 bool isActivated( sessionid_t sid, userid_t uid )
94 {
95 return false;
96 }
97
98 /**
99 *
100 * Platform繝ヲ繝シ繧カ謇ソ隱咲憾諷句、画峩
101 *
102 * @param
103 * @return
104 *
105 */
106 result_t activate( sessionid_t sid, userid_t uid, bool activate )
107 {
108 return RES_ERROR;
109 }
110
111 /**
112 *
113 * 繧「繧ォ繧ヲ繝ウ繝域焚
114 *
115 * @param
116 * @return
117 *
118 */
119 int getAccountCount( sessionid_t sid )
120 {
121 return 0;
122 }
123
124 /**
125 *
126 * 繧「繧ォ繧ヲ繝ウ繝亥炎髯、
127 *
128 * @param
129 * @return
130 *
131 */
132 result_t deleteAccount( sessionid_t sid, userid_t uid )
133 {
134 return RES_ERROR;
135 }
136
137 /**
138 *
139 * 繧「繧ォ繧ヲ繝ウ繝域ュ蝣ア蜿門セ?/span>
140 *
141 * @param
142 * @return
143 *
144 */
145 result_t getAccount( sessionid_t sid, userid_t uid, const account_t** )
146 {
147 return RES_ERROR;
148 }
149
150 /**
151 *
152 * 繧「繧ォ繧ヲ繝ウ繝域ュ蝣ア蜿門セ?/span>
153 *
154 * @param
155 * @return
156 *
157 */
158 result_t getAccounts( sessionid_t sid, const userid_t* uids, int uidsLen, const criteria_t* cri, const account_t** accounts, int* accountsLen )
159 {
160 return RES_ERROR;
161 }
162
163 /**
164 *
165 * 繧「繧ォ繧ヲ繝ウ繝育匳骭イ
166 *
167 * @param
168 * @return
169 *
170 */
171 result_t insertAccount( sessionid_t sid, const account_t* account )
172 {
173 return RES_ERROR;
174 }
175
176 /**
177 *
178 * 繧「繧ォ繧ヲ繝ウ繝亥、画峩
179 *
180 * @param
181 * @return
182 *
183 */
184 result_t updateAccount( sessionid_t sid, const account_t* account )
185 {
186 return RES_ERROR;
187 }
188
189 /**
190 *
191 * 繝ヲ繝シ繧カID荳?隕ァ
192 *
193 * @param
194 * @return
195 *
196 */
197 result_t dumpUids( sessionid_t sid, const criteria_t* cri, userid_t** uids, int* uidsLen )
198 {
199 return RES_ERROR;
200 }
201
202 /**
203 *
204 * 繧ー繝ォ繝シ繝玲焚
205 *
206 * @param
207 * @return
208 *
209 */
210 int getGroupCount( sessionid_t sid )
211 {
212 return 0;
213 }
214
215 /**
216 *
217 * 謇?螻槭げ繝ォ繝シ繝嶺ク?隕ァ蜿門セ?/span>
218 *
219 * @param
220 * @return
221 *
222 */
223 result_t getGroupsByUid( sessionid_t sid, userid_t uid, const criteria_t* cri, groupid_t** gids, int* gidsLen )
224 {
225 return RES_ERROR;
226 }
227
228 /**
229 *
230 * 繧ー繝ォ繝シ繝礼ョ。逅?ィゥ髯仙撫蜷医○
231 *
232 * @param
233 * @return
234 *
235 */
236 bool isGroupAdmin( sessionid_t sid, groupid_t gid, userid_t uid )
237 {
238 return RES_ERROR;
239 }
240
241 /**
242 *
243 * 繧ー繝ォ繝シ繝悠D荳?隕ァ
244 *
245 * @param
246 * @return
247 *
248 */
249 result_t dumpGids( sessionid_t sid, const criteria_t* cri, groupid_t** gids, int* gidsLen )
250 {
251 return RES_ERROR;
252 }
253
254 /**
255 *
256 * 繧ー繝ォ繝シ繝礼ョ。逅???D蜿門セ?/span>
257 *
258 * @param
259 * @return
260 *
261 */
262 result_t dumpGroupAdmins( sessionid_t sid, groupid_t gid, const criteria_t* cri, userid_t** uids, int* uidsLen )
263 {
264 return RES_ERROR;
265 }
266
267 /**
268 *
269 * 繧ー繝ォ繝シ繝玲園螻槭Θ繝シ繧カ蜑企勁
270 *
271 * @param
272 * @return
273 *
274 */
275 result_t deleteMember( sessionid_t sid, groupid_t gid, userid_t uid )
276 {
277 return RES_ERROR;
278 }
279
280 /**
281 *
282 * 繧ー繝ォ繝シ繝玲園螻槭Θ繝シ繧カ霑ス蜉?
283 *
284 * @param
285 * @return
286 *
287 */
288 result_t insertMember( sessionid_t sid, groupid_t gid, userid_t uid )
289 {
290 return RES_ERROR;
291 }
292
293 /**
294 *
295 * 繧ー繝ォ繝シ繝玲園螻槭Θ繝シ繧カ蜿門セ?/span>
296 *
297 * @param
298 * @return
299 *
300 */
301 result_t getMembers( sessionid_t sid, groupid_t gid, const criteria_t* cri, userid_t** uids, int* uidsLen )
302 {
303 return RES_ERROR;
304 }
305
306 /**
307 *
308 * 繧ー繝ォ繝シ繝励?蜑企勁
309 *
310 * @param
311 * @return
312 *
313 */
314 result_t deleteGroup( sessionid_t sid, groupid_t gid )
315 {
316 return RES_ERROR;
317 }
318
319 /**
320 *
321 * 繧ー繝ォ繝シ繝励?逋サ骭イ
322 *
323 * @param
324 * @return
325 *
326 */
327 result_t insertGroup( sessionid_t sid, const group_t* group )
328 {
329 return RES_ERROR;
330 }
331
332 /**
333 *
334 * 繧ー繝ォ繝シ繝励?螟画峩
335 *
336 * @param
337 * @return
338 *
339 */
340 result_t updateGroup( sessionid_t sid, const group_t* group )
341 {
342 return RES_ERROR;
343 }
344
345 /**
346 *
347 * 繧ー繝ォ繝シ繝玲ュ蝣ア蜿門セ?/span>
348 *
349 * @param
350 * @return
351 *
352 */
353 result_t getGroup( sessionid_t sid, groupid_t gid, const group_t** group )
354 {
355 return RES_ERROR;
356 }
357
358 /**
359 *
360 * 繧ー繝ォ繝シ繝玲ュ蝣ア蜿門セ?/span>
361 *
362 * @param
363 * @return
364 *
365 */
366 result_t getGroups( sessionid_t sid, groupid_t* gids, int gidsLen, const criteria_t* cri, const group_t** groups, int* groupsLen )
367 {
368 return RES_ERROR;
369 }
370
371 /**
372 *
373 * 繝「繝?Ξ繝シ繧ソ讓ゥ髯仙撫蜷医○
374 *
375 * @param
376 * @return
377 *
378 */
379 bool isModerator( sessionid_t sid, userid_t uid )
380 {
381 return RES_ERROR;
382 }
383
384 /**
385 *
386 * 繝ヲ繝シ繧カID蜿門セ?/span>
387 *
388 * @param
389 * @return
390 *
391 */
392 result_t getUid( const char* uname, userid_t* uid )
393 {
394 string sql;
395
396 sql = "SELECT uid FROM " + dbprefix + "_users WHERE uname='" + uname + "'";
397 if( mysql_query( mysql, sql.c_str( ) ) ){
398 return RES_DB_QUERY_ERROR;
399 }
400 MYSQL_RES* result = mysql_use_result( mysql ) ;
401 MYSQL_ROW row = mysql_fetch_row(result);
402 if( row ){
403 *uid = atoi( row[0] );
404 mysql_free_result( result );
405 return RES_OK;
406 }else{
407 mysql_free_result( result );
408 return RES_NO_SUCH_USER;
409 }
410 }
411
412 /**
413 *
414 * 繝ュ繧ー繧、繝ウ隱崎ィシ縺ィ繧サ繝?す繝ァ繝ウ菴懈?
415 *
416 * @param
417 * @return
418 *
419 */
420 result_t loginUser(const char* uname, const char* passwd, sessionid_t* sessions )
421 {
422 return RES_ERROR;
423 }
424
425 /**
426 *
427 * 繝ュ繧ー繧「繧ヲ繝医→繧サ繝?す繝ァ繝ウ邨ゆコ?/span>
428 *
429 * @param
430 * @return
431 *
432 */
433 void logoutUser( sessionid_t sid ){}
434
435 /**
436 *
437 * 繧サ繝?す繝ァ繝ウ縺ョ菴懈?.<br>
438 * XOOPS縺ョsession繝??繝悶Ν縺ォ險倬鹸縺輔l縺殱ess_id縺ィ蠑墓焚sessionid縺檎ュ峨@縺代l
439 * 縺ー?茎ession_t繧剃ス懈?縺吶k縲?/span>
440 * 繝??繧ソ繝吶?繧ケ縺ォ繧サ繝?す繝ァ繝ウ縺ィ蠑墓焚縺ョ諠??ア繧定ィ倬鹸縺吶k
441 *
442 * @param
443 * @return
444 *
445 */
446 result_t createSession( const char* sessionid, userid_t uid, unsigned long remoteHost, sessionid_t* sessions )
447 {
448 return RES_ERROR;
449 }
450
451 /**
452 *
453 * 繧サ繝?す繝ァ繝ウ縺ョ隧ウ邏ー繧痴ession_t縺ァ蜿門セ励☆繧?<br>
454 *
455 * @param
456 * @return
457 *
458 */
459 result_t getSessionDetail( sessionid_t sess_id, const session_t** session )
460 {
461 return RES_ERROR;
462 }
463
464 void freeResult( account_t* ptr ){ delete[] ptr; }
465
466 void freeResult( group_t* ptr ){ delete[] ptr; }
467
468 void freeResult( session_t* ptr ){ delete[] ptr; }
469
470 void freeResult( int* ptr ){ delete[] ptr; }
471
472 using namespace std;
473 static string errstr;
474 const char* getLastErrorString()
475 {
476 return errstr.c_str( );
477 }
478
479 void setLastErrorString( const char* str )
480 {
481 errstr = str;
482 }

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