| 20 |
#include "database.h" |
#include "database.h" |
| 21 |
#include "log.h" |
#include "log.h" |
| 22 |
#include <stdio.h> |
#include <stdio.h> |
|
#include <mysql.h> |
|
| 23 |
#include <stdlib.h> |
#include <stdlib.h> |
| 24 |
|
#include <mysql/mysql.h> |
| 25 |
|
|
| 26 |
BBS_user_priv BBS_priv; |
BBS_user_priv BBS_priv; |
| 27 |
|
|
| 103 |
return (sid >= 0 ? p_priv->g_priv : S_NONE); |
return (sid >= 0 ? p_priv->g_priv : S_NONE); |
| 104 |
} |
} |
| 105 |
|
|
| 106 |
int load_priv(MYSQL *db, BBS_user_priv *p_priv, long int uid) |
int load_priv(MYSQL *db, BBS_user_priv *p_priv, int uid) |
| 107 |
{ |
{ |
| 108 |
MYSQL_RES *rs; |
MYSQL_RES *rs; |
| 109 |
MYSQL_ROW row; |
MYSQL_ROW row; |
| 121 |
|
|
| 122 |
// Permission |
// Permission |
| 123 |
snprintf(sql, sizeof(sql), |
snprintf(sql, sizeof(sql), |
| 124 |
"SELECT p_post, p_msg FROM user_list WHERE UID = %ld AND verified", |
"SELECT p_post, p_msg FROM user_list WHERE UID = %d AND verified", |
| 125 |
uid); |
uid); |
| 126 |
if (mysql_query(db, sql) != 0) |
if (mysql_query(db, sql) != 0) |
| 127 |
{ |
{ |
| 142 |
|
|
| 143 |
// Admin |
// Admin |
| 144 |
snprintf(sql, sizeof(sql), |
snprintf(sql, sizeof(sql), |
| 145 |
"SELECT major FROM admin_config WHERE UID = %ld " |
"SELECT major FROM admin_config WHERE UID = %d " |
| 146 |
"AND enable AND (NOW() BETWEEN begin_dt AND end_dt)", |
"AND enable AND (NOW() BETWEEN begin_dt AND end_dt)", |
| 147 |
uid); |
uid); |
| 148 |
if (mysql_query(db, sql) != 0) |
if (mysql_query(db, sql) != 0) |
| 166 |
snprintf(sql, sizeof(sql), |
snprintf(sql, sizeof(sql), |
| 167 |
"SELECT section_master.SID, major FROM section_master " |
"SELECT section_master.SID, major FROM section_master " |
| 168 |
"INNER JOIN section_config ON section_master.SID = section_config.SID " |
"INNER JOIN section_config ON section_master.SID = section_config.SID " |
| 169 |
"WHERE UID = %ld AND section_master.enable AND section_config.enable " |
"WHERE UID = %d AND section_master.enable AND section_config.enable " |
| 170 |
"AND (NOW() BETWEEN begin_dt AND end_dt)", |
"AND (NOW() BETWEEN begin_dt AND end_dt)", |
| 171 |
uid); |
uid); |
| 172 |
if (mysql_query(db, sql) != 0) |
if (mysql_query(db, sql) != 0) |
| 224 |
|
|
| 225 |
// Section ban |
// Section ban |
| 226 |
snprintf(sql, sizeof(sql), |
snprintf(sql, sizeof(sql), |
| 227 |
"SELECT SID FROM ban_user_list WHERE UID = %ld AND enable " |
"SELECT SID FROM ban_user_list WHERE UID = %d AND enable " |
| 228 |
"AND (NOW() BETWEEN ban_dt AND unban_dt)", |
"AND (NOW() BETWEEN ban_dt AND unban_dt)", |
| 229 |
uid); |
uid); |
| 230 |
if (mysql_query(db, sql) != 0) |
if (mysql_query(db, sql) != 0) |
| 246 |
|
|
| 247 |
// User favor section |
// User favor section |
| 248 |
snprintf(sql, sizeof(sql), |
snprintf(sql, sizeof(sql), |
| 249 |
"SELECT SID FROM section_favorite WHERE UID = %ld", |
"SELECT SID FROM section_favorite WHERE UID = %d", |
| 250 |
uid); |
uid); |
| 251 |
if (mysql_query(db, sql) != 0) |
if (mysql_query(db, sql) != 0) |
| 252 |
{ |
{ |