11<?php
2+ ini_set ("display_errors " , "On " ); //set this to "On" for debugging ,especially when no reason blank shows up.
23require_once ("admin-header.php " );
34if (!(isset ($ _SESSION [$ OJ_NAME . '_ ' . 'administrator ' ]) || isset ($ _SESSION [$ OJ_NAME . '_problem_importer ' ]))) {
45 echo "<a href='../loginpage.php'>Please Login First!</a> " ;
@@ -17,7 +18,9 @@ function get_extension($file) {
1718 return $ info ['extension ' ];
1819}
1920function import_user ($ filename ) {
21+ global $ OJ_EXPIRY_DAYS ,$ MSG_EXPIRY_DATE ;
2022 $ check =false ;
23+ $ expire =false ;
2124 if (($ h = fopen ("{$ filename }" , "r " )) !== FALSE ) {
2225 // 文件中的每一行数据都被转换为我们调用的单个数组$data
2326 // 数组的每个元素以逗号分隔
@@ -27,27 +30,31 @@ function import_user($filename) {
2730 $ check =true ;
2831 echo "导入名单:<hr> \n" ;
2932 $ gb2312 =false ;
33+ if (isset ($ data [6 ])) $ expire =($ data [6 ]==$ MSG_EXPIRY_DATE );
3034 continue ;
31- }else if (iconv ("gbk " ,"utf-8 " ,$ data [0 ])=="学号 " ) {
35+ }else if (iconv ("gb2312 " ,"utf-8 " ,$ data [0 ])=="学号 " ) {
3236 $ check =true ;
3337 $ gb2312 =true ;
38+ $ expire =(iconv ("gb2312 " ,"utf-8 " ,$ data [6 ])==$ MSG_EXPIRY_DATE );
3439 continue ;
3540 }
3641 if ($ check ){
37- echo $ data [0 ] . "<br> \n" ;
3842 $ user_id = mb_trim ($ data [0 ]);
3943 $ nick = $ data [1 ];
4044 $ password = pwGen (trim ($ data [2 ]));
4145 $ school = "" ;
4246 $ email = "" ;
4347 $ group_name ="" ;
48+ $ expiry_date =addDays ($ OJ_EXPIRY_DAYS );
4449 if (isset ($ data [3 ])) $ school = $ data [3 ];
4550 if (isset ($ data [4 ])) $ email = $ data [4 ];
4651 if (isset ($ data [5 ])) $ group_name = $ data [5 ];
52+ if (isset ($ data [6 ])) $ expiry_date = $ data [6 ];
4753 if ($ gb2312 ) {
48- $ nick =iconv ("gbk " ,"utf-8 " ,$ nick );
49- $ school =iconv ("gbk " ,"utf-8 " ,$ school );
50- $ group_name =iconv ("gbk " ,"utf-8 " ,$ group_name );
54+ $ nick =iconv ("gb2312 " ,"utf-8 " ,$ nick );
55+ $ school =iconv ("gb2312 " ,"utf-8 " ,$ school );
56+ $ group_name =iconv ("gb2312 " ,"utf-8 " ,$ group_name );
57+ $ expiry_date =iconv ("gb2312 " ,"utf-8 " ,$ expiry_date );
5158 }
5259 if (mb_strlen ($ nick , 'utf-8 ' ) > 20 ) {
5360 $ new_len = mb_strlen ($ nick , 'utf-8 ' );
@@ -59,8 +66,9 @@ function import_user($filename) {
5966 }
6067
6168 $ ip = "127.0.0.1 " ;
62- $ sql = "INSERT INTO `users`( " . "`user_id`,`email`,`ip`,`accesstime`,`password`,`reg_time`,`nick`,`school`,`group_name`) " . "VALUES(?,?,?,NOW(),?,NOW(),?,?,?)on DUPLICATE KEY UPDATE `email`=?,`ip`=?,`accesstime`=NOW(),`password`=?,`reg_time`=now(),nick=?,`school`=?,`group_name`=? " ;
63- pdo_query ($ sql , $ user_id , $ email , $ ip , $ password , $ nick , $ school ,$ group_name , $ email , $ ip , $ password , $ nick , $ school ,$ group_name );
69+ $ sql = "INSERT INTO `users`( " . "`user_id`,`email`,`ip`,`accesstime`,`password`,`reg_time`,`nick`,`school`,`group_name`,`expiry_date`) " . "VALUES(?,?,?,NOW(),?,NOW(),?,?,?,?)on DUPLICATE KEY UPDATE `email`=?,`ip`=?,`accesstime`=NOW(),`password`=?,`reg_time`=now(),nick=?,`school`=?,`group_name`=?,expiry_date=? " ;
70+ $ ret =pdo_query ($ sql , $ user_id , $ email , $ ip , $ password , $ nick , $ school ,$ group_name ,$ expiry_date , $ email , $ ip , $ password , $ nick , $ school ,$ group_name ,$ expiry_date );
71+ echo "$ user_id : $ expiry_date : $ ret <br> \n" ;
6472
6573 }else {
6674 echo "<h1>请用下载的模板填写,保存为UTF-8编码。</h1> " ;
@@ -121,6 +129,7 @@ function import_user($filename) {
121129 </center>
122130 <?php require_once ("../include/set_post_key.php " ); ?>
123131 </form>
124- <a href="users.csv">下载模板</a>
132+ <h2><a href="users.csv">下载模板</a></h2>
133+ <h3>请用下载的模板填写,保存为UTF-8编码。</h3>
125134<?php
126135} ?>
0 commit comments