Develop and Download Open Source Software

Browse CVS Repository

Annotation of /xoonips/AL/commonal.cc

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


Revision 1.5 - (hide 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 youi 1.1 /*
2     *
3 aga 1.5 * $Revision: 1.4 $
4 youi 1.2 * $Log: commonal.cc,v $
5 aga 1.5 * Revision 1.4 2004/11/25 12:14:29 youi
6     * getUid縺ョ蜃ヲ逅?r螳夂セゥ縺励◆.
7     *
8 youi 1.4 * Revision 1.3 2004/11/25 11:13:59 youi
9     * getLastErrorString/setLastErrorString繧貞ョ夂セゥ.
10     *
11 youi 1.3 * Revision 1.2 2004/11/25 08:55:19 youi
12     * 蠑墓焚縺ョ蝙九r菫ョ豁」.
13     * freeResult繧定ソス蜉?.
14     *
15 youi 1.2 * Revision 1.1 2004/11/25 05:14:58 youi
16     * initial version
17     *
18 youi 1.1 *
19     */
20    
21     #include <stdio.h>
22     #include <string.h>
23     #include <mysql.h>
24 youi 1.3 #include <string>
25 youi 1.1
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 aga 1.5
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 youi 1.1
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 youi 1.2 return RES_OK;
82 youi 1.1 }
83    
84    
85     /**
86     *
87     * Platform繝ヲ繝シ繧カ謇ソ隱咲憾諷句叙蠕?/span>
88     *
89     * @param
90     * @return
91     *
92     */
93 youi 1.2 bool isActivated( sessionid_t sid, userid_t uid )
94 youi 1.1 {
95     return false;
96     }
97    
98     /**
99     *
100     * Platform繝ヲ繝シ繧カ謇ソ隱咲憾諷句、画峩
101     *
102     * @param
103     * @return
104     *
105     */
106 youi 1.2 result_t activate( sessionid_t sid, userid_t uid, bool activate )
107 youi 1.1 {
108     return RES_ERROR;
109     }
110    
111     /**
112     *
113     * 繧「繧ォ繧ヲ繝ウ繝域焚
114     *
115     * @param
116     * @return
117     *
118     */
119 youi 1.2 int getAccountCount( sessionid_t sid )
120 youi 1.1 {
121     return 0;
122     }
123    
124     /**
125     *
126     * 繧「繧ォ繧ヲ繝ウ繝亥炎髯、
127     *
128     * @param
129     * @return
130     *
131     */
132 youi 1.2 result_t deleteAccount( sessionid_t sid, userid_t uid )
133 youi 1.1 {
134     return RES_ERROR;
135     }
136    
137     /**
138     *
139     * 繧「繧ォ繧ヲ繝ウ繝域ュ蝣ア蜿門セ?/span>
140     *
141     * @param
142     * @return
143     *
144     */
145 youi 1.2 result_t getAccount( sessionid_t sid, userid_t uid, const account_t** )
146 youi 1.1 {
147     return RES_ERROR;
148     }
149    
150     /**
151     *
152     * 繧「繧ォ繧ヲ繝ウ繝域ュ蝣ア蜿門セ?/span>
153     *
154     * @param
155     * @return
156     *
157     */
158 youi 1.2 result_t getAccounts( sessionid_t sid, const userid_t* uids, int uidsLen, const criteria_t* cri, const account_t** accounts, int* accountsLen )
159 youi 1.1 {
160     return RES_ERROR;
161     }
162    
163     /**
164     *
165     * 繧「繧ォ繧ヲ繝ウ繝育匳骭イ
166     *
167     * @param
168     * @return
169     *
170     */
171 youi 1.2 result_t insertAccount( sessionid_t sid, const account_t* account )
172 youi 1.1 {
173     return RES_ERROR;
174     }
175    
176     /**
177     *
178     * 繧「繧ォ繧ヲ繝ウ繝亥、画峩
179     *
180     * @param
181     * @return
182     *
183     */
184 youi 1.2 result_t updateAccount( sessionid_t sid, const account_t* account )
185 youi 1.1 {
186     return RES_ERROR;
187     }
188    
189     /**
190     *
191     * 繝ヲ繝シ繧カID荳?隕ァ
192     *
193     * @param
194     * @return
195     *
196     */
197 youi 1.2 result_t dumpUids( sessionid_t sid, const criteria_t* cri, userid_t** uids, int* uidsLen )
198 youi 1.1 {
199     return RES_ERROR;
200     }
201    
202     /**
203     *
204     * 繧ー繝ォ繝シ繝玲焚
205     *
206     * @param
207     * @return
208     *
209     */
210 youi 1.2 int getGroupCount( sessionid_t sid )
211 youi 1.1 {
212     return 0;
213     }
214    
215     /**
216     *
217     * 謇?螻槭げ繝ォ繝シ繝嶺ク?隕ァ蜿門セ?/span>
218     *
219     * @param
220     * @return
221     *
222     */
223 youi 1.2 result_t getGroupsByUid( sessionid_t sid, userid_t uid, const criteria_t* cri, groupid_t** gids, int* gidsLen )
224 youi 1.1 {
225     return RES_ERROR;
226     }
227    
228     /**
229     *
230     * 繧ー繝ォ繝シ繝礼ョ。逅?ィゥ髯仙撫蜷医○
231     *
232     * @param
233     * @return
234     *
235     */
236 youi 1.2 bool isGroupAdmin( sessionid_t sid, groupid_t gid, userid_t uid )
237 youi 1.1 {
238     return RES_ERROR;
239     }
240    
241     /**
242     *
243     * 繧ー繝ォ繝シ繝悠D荳?隕ァ
244     *
245     * @param
246     * @return
247     *
248     */
249 youi 1.2 result_t dumpGids( sessionid_t sid, const criteria_t* cri, groupid_t** gids, int* gidsLen )
250 youi 1.1 {
251     return RES_ERROR;
252     }
253    
254     /**
255     *
256     * 繧ー繝ォ繝シ繝礼ョ。逅???D蜿門セ?/span>
257     *
258     * @param
259     * @return
260     *
261     */
262 youi 1.2 result_t dumpGroupAdmins( sessionid_t sid, groupid_t gid, const criteria_t* cri, userid_t** uids, int* uidsLen )
263 youi 1.1 {
264     return RES_ERROR;
265     }
266    
267     /**
268     *
269     * 繧ー繝ォ繝シ繝玲園螻槭Θ繝シ繧カ蜑企勁
270     *
271     * @param
272     * @return
273     *
274     */
275 youi 1.2 result_t deleteMember( sessionid_t sid, groupid_t gid, userid_t uid )
276 youi 1.1 {
277     return RES_ERROR;
278     }
279    
280     /**
281     *
282     * 繧ー繝ォ繝シ繝玲園螻槭Θ繝シ繧カ霑ス蜉?
283     *
284     * @param
285     * @return
286     *
287     */
288 youi 1.2 result_t insertMember( sessionid_t sid, groupid_t gid, userid_t uid )
289 youi 1.1 {
290     return RES_ERROR;
291     }
292    
293     /**
294     *
295     * 繧ー繝ォ繝シ繝玲園螻槭Θ繝シ繧カ蜿門セ?/span>
296     *
297     * @param
298     * @return
299     *
300     */
301 youi 1.2 result_t getMembers( sessionid_t sid, groupid_t gid, const criteria_t* cri, userid_t** uids, int* uidsLen )
302 youi 1.1 {
303     return RES_ERROR;
304     }
305    
306     /**
307     *
308     * 繧ー繝ォ繝シ繝励?蜑企勁
309     *
310     * @param
311     * @return
312     *
313     */
314 youi 1.2 result_t deleteGroup( sessionid_t sid, groupid_t gid )
315 youi 1.1 {
316     return RES_ERROR;
317     }
318    
319     /**
320     *
321     * 繧ー繝ォ繝シ繝励?逋サ骭イ
322     *
323     * @param
324     * @return
325     *
326     */
327 youi 1.2 result_t insertGroup( sessionid_t sid, const group_t* group )
328 youi 1.1 {
329     return RES_ERROR;
330     }
331    
332     /**
333     *
334     * 繧ー繝ォ繝シ繝励?螟画峩
335     *
336     * @param
337     * @return
338     *
339     */
340 youi 1.2 result_t updateGroup( sessionid_t sid, const group_t* group )
341 youi 1.1 {
342     return RES_ERROR;
343     }
344    
345     /**
346     *
347     * 繧ー繝ォ繝シ繝玲ュ蝣ア蜿門セ?/span>
348     *
349     * @param
350     * @return
351     *
352     */
353 youi 1.2 result_t getGroup( sessionid_t sid, groupid_t gid, const group_t** group )
354 youi 1.1 {
355     return RES_ERROR;
356     }
357    
358     /**
359     *
360     * 繧ー繝ォ繝シ繝玲ュ蝣ア蜿門セ?/span>
361     *
362     * @param
363     * @return
364     *
365     */
366 youi 1.2 result_t getGroups( sessionid_t sid, groupid_t* gids, int gidsLen, const criteria_t* cri, const group_t** groups, int* groupsLen )
367 youi 1.1 {
368     return RES_ERROR;
369     }
370    
371     /**
372     *
373     * 繝「繝?Ξ繝シ繧ソ讓ゥ髯仙撫蜷医○
374     *
375     * @param
376     * @return
377     *
378     */
379 youi 1.2 bool isModerator( sessionid_t sid, userid_t uid )
380 youi 1.1 {
381     return RES_ERROR;
382     }
383    
384     /**
385     *
386     * 繝ヲ繝シ繧カID蜿門セ?/span>
387     *
388     * @param
389     * @return
390     *
391     */
392 youi 1.2 result_t getUid( const char* uname, userid_t* uid )
393 youi 1.1 {
394 youi 1.4 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 youi 1.1 }
411    
412     /**
413     *
414     * 繝ュ繧ー繧、繝ウ隱崎ィシ縺ィ繧サ繝?す繝ァ繝ウ菴懈?
415     *
416     * @param
417     * @return
418     *
419     */
420 youi 1.2 result_t loginUser(const char* uname, const char* passwd, sessionid_t* sessions )
421 youi 1.1 {
422     return RES_ERROR;
423     }
424    
425     /**
426     *
427     * 繝ュ繧ー繧「繧ヲ繝医→繧サ繝?す繝ァ繝ウ邨ゆコ?/span>
428     *
429     * @param
430     * @return
431     *
432     */
433 youi 1.2 void logoutUser( sessionid_t sid ){}
434 youi 1.1
435     /**
436     *
437     * 繧サ繝?す繝ァ繝ウ縺ョ菴懈?.<br>
438     * XOOPS縺ョsession繝??繝悶Ν縺ォ險倬鹸縺輔l縺殱ess_id縺ィ蠑墓焚sessionid縺檎ュ峨@縺代l
439     * 縺ー?茎ession_t繧剃ス懈?縺吶k縲?/span>
440 youi 1.2 * 繝??繧ソ繝吶?繧ケ縺ォ繧サ繝?す繝ァ繝ウ縺ィ蠑墓焚縺ョ諠??ア繧定ィ倬鹸縺吶k
441 youi 1.1 *
442     * @param
443     * @return
444     *
445     */
446 youi 1.2 result_t createSession( const char* sessionid, userid_t uid, unsigned long remoteHost, sessionid_t* sessions )
447 youi 1.1 {
448     return RES_ERROR;
449     }
450    
451     /**
452     *
453     * 繧サ繝?す繝ァ繝ウ縺ョ隧ウ邏ー繧痴ession_t縺ァ蜿門セ励☆繧?<br>
454     *
455     * @param
456     * @return
457     *
458     */
459 youi 1.2 result_t getSessionDetail( sessionid_t sess_id, const session_t** session )
460 youi 1.1 {
461     return RES_ERROR;
462     }
463 youi 1.2
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 youi 1.3 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