User.java
上传用户:sdtxjx
上传日期:2022-07-09
资源大小:2937k
文件大小:37k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. /***************************************************
  2.  *  
  3.  *  源文件名:  User.java
  4.  *  功    能: 梦想年华新闻系统 - 用户管理类
  5.  * 作者:梦想年华 [DreamTime]
  6.  * Email:fanwsp@126.com
  7.  *  QQ:122142023 
  8.  *  CopyRight(c)2005-2006 by DreamTime 
  9.  *
  10.  ****************************************************
  11. */
  12. package dreamtime.dreamnews; //指定类所在的包
  13. import java.sql.*;
  14. import dreamtime.dreamnews.Function;
  15. import dreamtime.dreamnews.DBConnection;
  16. import dreamtime.dreamnews.MD5;
  17. public class User
  18. {
  19.     DBConnection DBConn = new DBConnection();
  20.     Function Fun = new Function(); 
  21.     MD5 md5 = new MD5();
  22. public String AdminName,AdminPwd,UserName,UserSex,UserTel;
  23. public String UserQQ,UserEmail,UserAddress,UserZip,UserInfo;
  24. public String AddTime,LastLoginTime,LastLoginIP;
  25. public String sAdminType,UserBirthday;
  26. public int AdminType,BirthYear,BirthMonth,BirthDay;
  27. public int NewsNum,LoginNum;
  28. public String [] sType = new String[4];
  29.     
  30.     
  31.     public User()
  32.     {
  33.      sType[1] = "普通管理员";
  34.      sType[2] = "系统管理员";
  35.      sType[3] = "超级管理员";  
  36.     }
  37.     
  38.     
  39.     public boolean ReadUser(int AdminID)
  40.     {
  41.     try{
  42.      Connection Conn = DBConn.getConn();
  43.      Statement stmt = Conn.createStatement(1004,1007);
  44.      ResultSet rs = null;
  45.      String Sql = "select * from Admin where AdminID=" + AdminID;
  46.      rs = stmt.executeQuery(Sql);
  47.      rs.next();
  48.      AdminName = rs.getString("AdminName");
  49.      AdminType = rs.getInt("AdminType");
  50.      UserName = rs.getString("UserName");
  51.      UserSex = rs.getString("UserSex");
  52.      UserBirthday = rs.getString("UserBirthday");
  53.      UserTel = rs.getString("UserTel");
  54.      UserQQ = rs.getString("UserQQ");
  55.      UserEmail = rs.getString("UserEmail");
  56.      UserAddress = rs.getString("UserAddress");
  57.      UserZip = rs.getString("UserZip");
  58.      UserInfo = rs.getString("UserInfo");
  59.      AddTime = rs.getString("AddTime");
  60.      LastLoginTime = rs.getString("LastLoginTime");
  61.      LastLoginIP = rs.getString("LastLoginIP");
  62.      NewsNum = rs.getInt("NewsNum");
  63.      LoginNum = rs.getInt("LoginNum");
  64.     
  65.      String [] s = UserBirthday.split("-");
  66.      BirthYear = Fun.StrToInt(s[0]);
  67.      BirthMonth = Fun.StrToInt(s[1]);
  68.      BirthDay = Fun.StrToInt(s[2]);
  69.      rs.close();
  70.      stmt.close();
  71.      Conn.close();
  72.      return true;
  73.      }catch(Exception e){ return false;}
  74.     }
  75.     
  76.     
  77.     
  78.    /***********************************************************
  79. * 函数名:UserList
  80. * 作  用:管理员用户列表
  81. * 参  数:sPage,页面地址; strPage,第几页
  82. * 返回值:字符串
  83. ***********************************************************/
  84.     public String UserList(String sPage,String strPage)
  85.     {
  86.      try
  87.      {
  88.      Connection Conn = DBConn.getConn();
  89.      Statement stmt = Conn.createStatement(1004,1007);
  90.      ResultSet rs = null;
  91.      String sSql = null;
  92.      StringBuffer sb = new StringBuffer();
  93. int i;
  94. int intPage = 1; 
  95. int intPageSize = 10;
  96. if (Fun.ReadConfig() && Fun.AdminUserListNum>0) intPageSize = Fun.AdminUserListNum;
  97.      sSql = "select * from Admin order by AdminID desc";
  98.      rs = stmt.executeQuery(sSql);     
  99.       
  100.      sb.append("<br><br><table width="90%"  border="1" align="center" cellpadding="2" cellspacing="">rn");
  101. sb.append("<tr background="images/bg.gif">rn");
  102. sb.append("<td height="27" colspan="7" background="images/bg.gif"><div align="center" class="title">");
  103. sb.append("<strong>所有管理员用户列表</strong></div></td>rn");
  104. sb.append("</tr>rn");
  105. sb.append("<tr height="25" class="chinese">rn");
  106. sb.append("<td width="5%"><div align="center"><b>ID</b></div></td>rn");
  107. sb.append("<td width="12%"><div align="center"><b>用户名</b></div></td>rn");
  108. sb.append("<td width="13%"><div align="center"><b>用户权限</b></div></td>rn");
  109. sb.append("<td width="12%"><div align="center"><b>真实姓名</div></td>rn");
  110. sb.append("<td width="26%"><div align="center"><b>添加日期</b></div></td>rn");
  111. sb.append("<td width="8%"><div align="center"><b>新闻</b></div></td>rn");
  112. sb.append("<td width="24%">rn");
  113. sb.append("<div align="center">操作 </div></td>rn");
  114. sb.append("</tr>rn");
  115. //如果表中没有任何记录,刚给出提示信息
  116. if (!rs.next())
  117. sb.append("<tr height="25" bgcolor="#d6dff7"  class="info1"><td colspan="7">rn");
  118. sb.append("<div align="center">暂时没有管理用户!</div></td></tr>rn");
  119. }
  120. else 
  121. {
  122. //取得待显示页码 
  123. intPage = Fun.StrToInt(strPage);
  124. sPage = Fun.CheckReplace(sPage);
  125. if (intPage==0) intPage=1;
  126. //将记录指针定位到待显示页的第一条记录上 
  127. rs.absolute((intPage-1) * intPageSize+1);
  128. i = 0; 
  129. while(i < intPageSize && !rs.isAfterLast())
  130. {
  131. int AdminID = rs.getInt("AdminID");
  132. AdminType = rs.getInt("AdminType");
  133. sAdminType = sType[AdminType];
  134. sb.append("<tr height="25" bgcolor="#d6dff7" class="chinese">rn");
  135. sb.append("<td><div align="center" class="chinese">" + AdminID + "</div></td>rn");
  136. sb.append("<td><div align="center" class="chinese">" + rs.getString("AdminName") + "</div></td>rn");
  137. sb.append("<td><div align="center" class="chinese">" + sAdminType + "</div></td>rn");
  138. sb.append("<td><div align="center" class="chinese">" + rs.getString("UserName") + "</div></td>rn");
  139. sb.append("<td><div align="center" class="chinese">" + rs.getString("AddTime") + "</div></td>rn");
  140. sb.append("<td><div align="center" class="chinese">" + rs.getInt("NewsNum") + "</div></td>rn");
  141. sb.append("<td><div align="center" class="chinese">[<a href="Admin_User.jsp?Action=View&AdminID=" + AdminID + "">浏览</a>]");
  142. sb.append("[<a href="Admin_User.jsp?Action=Edit&AdminID=" + AdminID + "">修改</a>]");
  143. sb.append("[<a href="Admin_User.jsp?Action=Del&AdminID="+ AdminID + "">删除</a>]</div></td>rn");
  144. sb.append("</tr>rn");
  145. rs.next(); 
  146. i++;
  147. }
  148. sb.append("</table>rn");
  149. sb.append(Fun.Page(sPage,rs,intPage,intPageSize));
  150. sb.append("<br><br>");
  151. }
  152. rs.close();
  153.      stmt.close();
  154.      Conn.close();
  155. return sb.toString();
  156. }catch(Exception e)
  157. {
  158. //e.printStackTrace();
  159. return "No";
  160. //return e.getMessage().toString(); 
  161. }
  162.     }
  163.     
  164.    
  165.    /*********************************************************
  166. * 函数名:AddUser
  167. * 作  用:添加管理员表单
  168. * 参  数:无
  169. * 返回值:字符串
  170. ***********************************************************/    
  171.     public String AddUser()
  172.     {
  173. try{
  174. StringBuffer sb = new StringBuffer();
  175.        sb.append("<br><br><form  name="User" method="POST" action="Admin_User.jsp" onSubmit="return CheckUser();">rn");
  176. sb.append("<table width="90%"  border="1" align="center" cellpadding="2" cellspacing="0">rn");
  177. sb.append("<tr background="images/bg.gif">rn");
  178. sb.append("<td height="25" colspan="2" class="chinese" background="images/bg.gif"><div align="center"><span class="title">");
  179. sb.append("<strong>添加新的管理用户</strong></span><span class="info1">  (打 * 为必填项)</span></div></td>rn");
  180. sb.append("</tr>rn");
  181. sb.append("<tr bgcolor="#d6dff7">rn");
  182. sb.append("<td width="35%" height="25" class="chinese"><div align="right">用户名:</div></td>rn");
  183. sb.append("<td width="65%"><input name="AdminName" type="text" class="chinese" id="AdminName" size="20" maxlength="16">");
  184. sb.append("<span class="info1"> * </span></td></tr>rn");
  185. sb.append("<tr bgcolor="#d6dff7">rn");
  186. sb.append("<td height="25" class="chinese"><div align="right">密码:</div></td>rn");
  187. sb.append("<td><input name="AdminPwd" type="password" class="chinese" id="AdminPwd" size="20" maxlength="16">");
  188. sb.append("<span class="info1"> * (4-16位)</span></td></tr>rn");
  189. sb.append("<tr bgcolor="#d6dff7">rn");
  190. sb.append("<td height="25" class="chinese"><div align="right">确认密码:</div></td>rn");
  191. sb.append("<td><input name="AdminPwd2" type="password" class="chinese" id="AdminPwd2" size="20" maxlength="16">");
  192. sb.append("<span class="info1"> * </span></td></tr>rn");
  193. sb.append("<tr bgcolor="#d6dff7">rn");
  194. sb.append("<td height="25" class="chinese"><div align="right">权限设置:</div></td>rn");
  195. sb.append("<td><select name="AdminType" class="chinese" id="AdminType">rn");
  196. sb.append("<option value="1" selected>普通管理员</option>rn");
  197. sb.append("<option value="2">系统管理员</option>rn");
  198. sb.append("<option value="3">超级管理员</option>rn");
  199. sb.append("</select></td>rn");
  200. sb.append("</tr>rn");
  201. sb.append("<tr bgcolor="#d6dff7">rn");
  202. sb.append("<td height="25" class="chinese"><div align="right">真实姓名:</div></td>rn");
  203. sb.append("<td><input name="UserName" type="text" class="chinese" id="UserName" size="20" maxlength="16">");
  204. sb.append("<span class="info1"> * </span></td></tr>rn");
  205. sb.append("<tr bgcolor="#d6dff7">rn");
  206. sb.append("<td height="25" class="chinese"><div align="right">性别:</div></td>rn");
  207. sb.append("<td class="chinese"><input name="UserSex" type="radio" value="男" checked>男rn");
  208. sb.append("<input name="UserSex" type="radio" value="女">女</td>rn");
  209. sb.append("</tr>rn");
  210. sb.append("<tr bgcolor="#d6dff7">rn");
  211. sb.append("<td height="25" class="chinese"><div align="right">出生日期:</div></td>rn");
  212. sb.append("<td class="chinese"><select name="Year" class="chinese" id="Year">rn");
  213. for(int Year=1900;Year<=2000;Year++)
  214. {
  215. sb.append("<option value="" + Year + "">" + Year + "</option>");
  216. }
  217. sb.append("rn");
  218. sb.append("</select>年rn");
  219. sb.append("<select name="Month" class="chinese" id="Month">rn");
  220. for(int Month=1;Month<=12;Month++)
  221. {
  222. sb.append("<option value="" + Month + "">" + Month + "</option>");
  223. }
  224. sb.append("rn");
  225. sb.append("</select>月rn");
  226. sb.append("<select name="Day" class="chinese" id="Day">rn");
  227. for(int Day=1;Day<=31;Day++)
  228. {
  229. sb.append("<option value="" + Day + "">" + Day + "</option>");
  230. }
  231. sb.append("rn");
  232. sb.append("</select>日</td>rn");
  233. sb.append("</tr>rn");
  234. sb.append("<tr bgcolor="#d6dff7">rn");
  235. sb.append("<td height="25" class="chinese"><div align="right">电子邮件:</div></td>rn");
  236. sb.append("<td><input name="UserEmail" type="text" class="chinese" id="UserEmail" size="20" maxlength="50">");
  237. sb.append("<span class="info1"> * </span></td></tr>rn");
  238. sb.append("<tr bgcolor="#d6dff7">rn");
  239. sb.append("<td height="25" class="chinese"><div align="right">联系电话:</div></td>rn");
  240. sb.append("<td><input name="UserTel" type="text" class="chinese" id="UserTel" size="20" maxlength="11"></td>rn");
  241. sb.append("</tr>rn");
  242. sb.append("<tr bgcolor="#d6dff7">rn");
  243. sb.append("<td height="25" class="chinese"><div align="right">QQ:</div></td>rn");
  244. sb.append("<td><input name="UserQQ" type="text" class="chinese" id="UserQQ" size="20" maxlength="10"></td>rn");
  245. sb.append("</tr>rn");
  246. sb.append("<tr bgcolor="#d6dff7">rn");
  247. sb.append("<td height="25" class="chinese"><div align="right">通讯地址:</div></td>rn");
  248. sb.append("<td><input name="UserAddress" type="text" class="chinese" id="UserAddress" size="40" maxlength="80"></td>rn");
  249. sb.append("</tr>rn");
  250. sb.append("<tr bgcolor="#d6dff7">rn");
  251. sb.append("<td height="25" class="chinese"><div align="right">邮编:</div></td>rn");
  252. sb.append("<td><input name="UserZip" type="text" class="chinese" id="UserZip" size="20" maxlength="6"></td>rn");
  253. sb.append("</tr>rn");
  254. sb.append("<tr bgcolor="#d6dff7">rn");
  255. sb.append("<td height="25" class="chinese"><div align="right">个人简介:</div></td>rn");
  256. sb.append("<td><textarea name="UserInfo" cols="40" rows="4" class="chinese" id="UserInfo"></textarea></td>rn");
  257. sb.append("</tr>rn");
  258. sb.append("<tr>rn");
  259. sb.append("<td height="25" colspan="2"><div align="center">rn");
  260. sb.append("<input name="Submit" type="submit" class="button" value=" 确 定 ">&nbsp;rn");
  261. sb.append("<input name="Action" type="hidden" id="Action" value="SaveAdd">");
  262. sb.append("<input name="Reset" type="reset" class="button" id="Reset" value=" 重 填 ">rn");
  263. sb.append("<input name="Return" type="button" class="button" id="Return"");
  264. sb.append("onClick="javascript:location.href='Admin_User.jsp'" value="返回用户列表">rn");
  265. sb.append("</div></td>rn");
  266. sb.append("</tr>rn");
  267. sb.append("</table>rn");
  268. sb.append("</form><br><br>rn");
  269. return sb.toString();
  270. }catch(Exception e){
  271. ////e.printStackTrace();
  272. //System.out.print(e.getMessage());
  273.      return "No";
  274.      }
  275.     }
  276.     
  277.     
  278.    /*********************************************************
  279. * 函数名:EditUser
  280. * 作  用:编辑管理员信息
  281. * 参  数:s,字符串型,管理员ID
  282. *         b, 布尔型 是否允许修改密码
  283. * 返回值:字符串
  284. ***********************************************************/
  285.     public String EditUser(String s,boolean b)
  286.     {
  287.     try{
  288.     
  289. String sError = "";
  290. boolean OK = true;
  291. String sAction = "Person.jsp";
  292. String sModType = "修改个人资料";
  293. String sCheck = "onSubmit="return CheckPerson();"";
  294. if(b) 
  295. {
  296. sAction = "Admin_User.jsp";
  297. sModType = "修改管理员用户资料";
  298. sCheck = "onSubmit="return CheckEditUser();"";
  299. }
  300. int AdminID = Fun.StrToInt(Fun.CheckReplace(s));
  301. if (AdminID==0)
  302. {
  303. OK = false;
  304. sError = "No";
  305. }
  306. if(OK)
  307. {
  308. if(!ReadUser(AdminID))
  309. {
  310. OK = false;
  311. sError = "No";
  312. }
  313. }
  314. if(OK)
  315. {   
  316.      StringBuffer sb = new StringBuffer();
  317. sb.append("<br><br>rn");
  318. sb.append("<form name="User" method="POST" action="");
  319. sb.append(sAction);
  320. sb.append("" " + sCheck + ">rn");
  321. sb.append("<table width="90%"  border="1" align="center" cellpadding="2" cellspacing="0">rn");
  322. sb.append("<tr background="images/bg.gif">rn");
  323. sb.append("<td height="25" colspan="2" class="chinese" background="images/bg.gif"><div align="center"><span class="title">");
  324. sb.append("<strong>" + sModType + "</strong></span><span class="info1">  (打 * 为必填项)</span></div></td>rn");
  325. sb.append("</tr>rn");
  326. sb.append("<tr bgcolor="#d6dff7">rn");
  327. sb.append("<td width="34%" height="25" class="chinese"><div align="right">用户名:</div></td>rn");
  328. sb.append("<td width="66%"><input name="AdminName" readonly type="text" class="chinese" id="AdminName" value="");
  329. sb.append(AdminName);
  330. sb.append("" size="20" maxlength="16"><input name="AdminID" type="hidden" id="AdminID" value="");
  331. sb.append(AdminID);
  332. sb.append(""></td></tr>rn");
  333. if(b)
  334. {
  335. sb.append("<tr bgcolor="#d6dff7">rn");
  336. sb.append("<td height="25" class="chinese"><div align="right">密码:</div></td>rn");
  337. sb.append("<td><input name="AdminPwd" type="password" class="chinese" id="AdminPwd" value="");
  338. //sb.append(AdminPwd);
  339. sb.append("" size="20" maxlength="16"><span class="info1">  (留空则表示不修改密码)</span></td>rn");
  340. sb.append("</tr>rn");
  341. sb.append("<tr bgcolor="#d6dff7">rn");
  342. sb.append("<td height="25" class="chinese"><div align="right">确认密码:</div></td>rn");
  343. sb.append("<td class="chinese"><input name="AdminPwd2" type="password" class="chinese" id="AdminPwd" value="");
  344. //sb.append(AdminPwd2);
  345. sb.append("" size="20" maxlength="16"> </td>rn");
  346. sb.append("</tr>rn");
  347. sb.append("<tr bgcolor="#d6dff7">rn");
  348. sb.append("<td height="25" class="chinese"><div align="right">权限设置:</div></td>rn");
  349. sb.append("<td><select name="AdminType" class="chinese" id="AdminType">rn");
  350. sb.append("  <option value="1" ");
  351. sb.append(((Integer.toString(AdminType).equals("1"))?"SELECTED":""));
  352. sb.append(">普通管理员</option>rn");
  353. sb.append("  <option value="2" ");
  354. sb.append(((Integer.toString(AdminType).equals("2"))?"SELECTED":""));
  355. sb.append(">系统管理员</option>rn");
  356. sb.append("  <option value="3" ");
  357. sb.append(((Integer.toString(AdminType).equals("3"))?"SELECTED":""));
  358. sb.append(">超级管理员</option>rn");
  359. sb.append("</select></td>rn");
  360. sb.append("</tr>rn");
  361. }
  362. sb.append("<tr bgcolor="#d6dff7">rn");
  363. sb.append("<td height="25" class="chinese"><div align="right">真实姓名:</div></td>rn");
  364. sb.append("<td><input name="UserName" type="text" class="chinese" value="");
  365. sb.append(UserName);
  366. sb.append(""  size="20" maxlength="16"></td>rn");
  367. sb.append("</tr>rn");
  368. sb.append("<tr bgcolor="#d6dff7">rn");
  369. sb.append("<td height="25" class="chinese"><div align="right">性别:</div></td>rn");
  370. sb.append("<td class="chinese"><input ");
  371. sb.append((UserSex.equals("男"))?"CHECKED":"");
  372. sb.append(" name="UserSex" type="radio" value="男" checked>rn");
  373. sb.append("男rn");
  374. sb.append("<input ");
  375. sb.append((UserSex.equals("女"))?"CHECKED":"");
  376. sb.append(" name="UserSex" type="radio" value="女">rn");
  377. sb.append("女</td>rn");
  378. sb.append("</tr>rn");
  379. sb.append("<tr bgcolor="#d6dff7">rn");
  380. sb.append("<td height="25" class="chinese"><div align="right">出生日期:</div></td>rn");
  381. sb.append("<td class="chinese"><select name="Year" class="chinese" id="Year">rn");
  382. for(int Year=1900;Year<=2000;Year++)
  383. {
  384. String sSelect = (Year==BirthYear)?"SELECTED":"";
  385. sb.append("<option value="" + Year + """ + sSelect + ">" + Year + "</option>");
  386. }
  387. sb.append("rn");
  388. sb.append("</select>年rn");
  389. sb.append("<select name="Month" class="chinese" id="Month">rn");
  390. for(int Month=1;Month<=12;Month++)
  391. {
  392. String sSelect = (Month==BirthMonth)?"SELECTED":"";
  393. sb.append("<option value="" + Month + """ + sSelect + ">" + Month + "</option>");
  394. }
  395. sb.append("rn");
  396. sb.append("</select>月rn");
  397. sb.append("<select name="Day" class="chinese" id="Day">rn");
  398. for(int Day=1;Day<=31;Day++)
  399. {
  400. String sSelect = (Day==BirthDay)?"SELECTED":"";
  401. sb.append("<option value="" + Day + """ + sSelect + ">" + Day + "</option>");
  402. }
  403. sb.append("rn");
  404. sb.append("</select>日</td>rn");
  405. sb.append("</tr>rn");
  406. sb.append("<tr bgcolor="#d6dff7">rn");
  407. sb.append("<td height="25" class="chinese"><div align="right">电子邮件:</div></td>rn");
  408. sb.append("<td><input name="UserEmail" type="text" class="chinese" id="UserEmail2" value="");
  409. sb.append(UserEmail);
  410. sb.append("" size="20" maxlength="50"></td>rn");
  411. sb.append("</tr>rn");
  412. sb.append("<tr bgcolor="#d6dff7">rn");
  413. sb.append("<td height="25" class="chinese"><div align="right">联系电话:</div></td>rn");
  414. sb.append("<td><input name="UserTel" type="text" class="chinese" id="UserTel2" value="");
  415. sb.append(UserTel);
  416. sb.append("" size="20" maxlength="11"></td>rn");
  417. sb.append("</tr>rn");
  418. sb.append("<tr bgcolor="#d6dff7">rn");
  419. sb.append("<td height="25" class="chinese"><div align="right">QQ:</div></td>rn");
  420. sb.append("<td><input name="UserQQ" type="text" class="chinese" id="UserQQ2" value="");
  421. sb.append(UserQQ);
  422. sb.append("" size="20" maxlength="10"></td>rn");
  423. sb.append("</tr>rn");
  424. sb.append("<tr bgcolor="#d6dff7">rn");
  425. sb.append("<td height="25" class="chinese"><div align="right">通讯地址:</div></td>rn");
  426. sb.append("<td><input name="UserAddress" type="text" class="chinese" id="UserAddress2" value="");
  427. sb.append(UserAddress);
  428. sb.append("" size="20" maxlength="50"></td>rn");
  429. sb.append("</tr>rn");
  430. sb.append("<tr bgcolor="#d6dff7">rn");
  431. sb.append("<td height="25" class="chinese"><div align="right">邮编:</div></td>rn");
  432. sb.append("<td><input name="UserZip" type="text" class="chinese" id="UserZip2" value="");
  433. sb.append(UserZip);
  434. sb.append("" size="20" maxlength="6"></td>rn");
  435. sb.append("</tr>rn");
  436. sb.append("<tr bgcolor="#d6dff7">rn");
  437. sb.append("<td height="25" class="chinese"><div align="right">个人简介:</div></td>rn");
  438. sb.append("<td><textarea name="UserInfo" cols="40" rows="4" class="chinese" id="textarea">");
  439. sb.append(UserInfo);
  440. sb.append("</textarea></td>rn");
  441. sb.append("</tr>rn");
  442. sb.append("<tr>rn");
  443. sb.append("<td height="30" colspan="2"><div align="center">rn");
  444. sb.append("<input name="Submit" type="submit" class="button" value=" 确 定 ">&nbsp;rn");
  445. sb.append("<input name="Action" type="hidden" id="Action" value="SaveEdit">rn");
  446. sb.append("<input name="Return" type="button" class="button" id="Return"");
  447. sb.append("onClick="javascript:history.go(-1)" value="取消返回">rn");
  448. sb.append("</div></td>rn");
  449. sb.append("</tr>rn");
  450. sb.append("</table>rn");
  451. sb.append("</form><br><br>rn");
  452. return sb.toString();
  453. }else return sError;
  454. }catch(Exception e){
  455. ////e.printStackTrace();
  456. //System.out.print(e.getMessage());
  457.      return "No";
  458.      }
  459. }
  460.    /*********************************************************
  461. * 函数名:ViewUser
  462. * 作  用:查看管理员详细信息
  463. * 参  数:字符串 s 管理员ID
  464. * 返回值:字符串
  465. ***********************************************************/
  466. public String ViewUser(String s)
  467.     {
  468.     try{
  469. StringBuffer sb = new StringBuffer();
  470. String sError = "";
  471. boolean OK = true;
  472. int AdminID = Fun.StrToInt(Fun.CheckReplace(s));
  473. if (AdminID==0)
  474. {
  475. OK = false;
  476. //sError = "非法的参数传递";
  477. sError = "No";
  478. }
  479. if(OK)
  480. {
  481. if(!ReadUser(AdminID))
  482. {
  483. OK = false;
  484. //sError = "数据库操作出错,请重试!";
  485. sError = "No";
  486. }
  487. }
  488. if(OK)
  489. {
  490. sAdminType = sType[AdminType];
  491. sb.append("<br><br>rn");
  492. sb.append("<table width="90%" border="1" align="center" cellpadding="4" cellspacing="0">rn");
  493. sb.append("<tr background="images/bg.gif">rn");
  494. sb.append("<td class="chinese" colspan="4" background="images/bg.gif"><div align="center"><span class="title">");
  495. sb.append("<strong>浏览管理用户详细信息</strong></span></div></td>rn");
  496. sb.append("</tr>rn");
  497. sb.append("<tr bgcolor="#d6dff7">rn");
  498. sb.append("<td bgcolor="#d6dff7" class="chinese"><div align="right">用户ID:</div></td>rn");
  499. sb.append("<td class="chinese">&nbsp;");
  500. sb.append(AdminID);
  501. sb.append("</td>rn");
  502. sb.append("<td bgcolor="#d6dff7" class="chinese"><div align="right">添加时间:</div></td>rn");
  503. sb.append("<td class="chinese">&nbsp;");
  504. sb.append(AddTime);
  505. sb.append("</td>rn");
  506. sb.append("</tr>rn");
  507. sb.append("<tr bgcolor="#d6dff7">rn");
  508. sb.append("<td width="18%" class="chinese"><div align="right">用户名: </div></td>rn");
  509. sb.append("<td width="30%" class="chinese">&nbsp;");
  510. sb.append(AdminName);
  511. sb.append("</td>rn");
  512. sb.append("<td width="22%" class="chinese"><div align="right">登录次数:</div></td>rn");
  513. sb.append("<td width="30%"><span class="chinese">&nbsp;");
  514. sb.append(LoginNum);
  515. sb.append(" </span></td>rn");
  516. sb.append("</tr>rn");
  517. sb.append("<tr bgcolor="#d6dff7">rn");
  518. sb.append("<td class="chinese"><div align="right">管理员权限: </div></td>rn");
  519. sb.append("<td class="chinese">&nbsp;");
  520. sb.append(sAdminType);
  521. sb.append("</td>rn");
  522. sb.append("<td class="chinese"><div align="right">最后登录的时间:</div></td>rn");
  523. sb.append("<td class="chinese"><span class="chinese">&nbsp;");
  524. sb.append(LastLoginTime);
  525. sb.append(" </span></td>rn");
  526. sb.append("</tr>rn");
  527. sb.append("<tr bgcolor="#d6dff7">rn");
  528. sb.append("<td class="chinese"><div align="right">性别: </div></td>rn");
  529. sb.append("<td class="chinese">&nbsp;");
  530. sb.append(UserSex);
  531. sb.append(" </td>rn");
  532. sb.append("<td class="chinese"><div align="right">最后登录的IP:</div></td>rn");
  533. sb.append("<td class="chinese">&nbsp;");
  534. sb.append(LastLoginIP);
  535. sb.append(" </td>rn");
  536. sb.append("</tr>rn");
  537. sb.append("<tr bgcolor="#d6dff7">rn");
  538. sb.append("<td class="chinese"><div align="right">出生日期: </div></td>rn");
  539. sb.append("<td class="chinese">&nbsp;");
  540. sb.append(UserBirthday);
  541. sb.append(" </td>rn");
  542. sb.append("<td class="chinese"><div align="right">发表的新闻数:</div></td>rn");
  543. sb.append("<td class="chinese">&nbsp;");
  544. sb.append(NewsNum);
  545. sb.append(" </td>rn");
  546. sb.append("</tr>rn");
  547. sb.append("<tr bgcolor="#d6dff7">rn");
  548. sb.append("<td class="chinese"><div align="right">电子邮件: </div></td>rn");
  549. sb.append("<td><span class="chinese">&nbsp;");
  550. sb.append(UserEmail);
  551. sb.append(" </span></td>rn");
  552. sb.append("<td colspan="2"><div align="center" class="chinese">管理员其它信息</div></td>rn");
  553. sb.append("</tr>rn");
  554. sb.append("<tr bgcolor="#d6dff7">rn");
  555. sb.append("<td class="chinese"><div align="right">联系电话: </div></td>rn");
  556. sb.append("<td><span class="chinese">&nbsp;");
  557. sb.append(UserTel);
  558. sb.append(" </span></td>rn");
  559. sb.append("<td colspan="2" rowspan="4" valign="top"><div align="right"></div>      rn");
  560. sb.append("<div align="left"><span class="chinese">");
  561. sb.append(UserInfo);
  562. sb.append("</span></di></td>rn");
  563. sb.append("</tr>rn");
  564. sb.append("<tr bgcolor="#d6dff7">rn");
  565. sb.append("<td class="chinese"><div align="right">QQ: </div></td>rn");
  566. sb.append("<td><span class="chinese">&nbsp;");
  567. sb.append(UserQQ);
  568. sb.append(" </span></td>rn");
  569. sb.append("</tr>rn");
  570. sb.append("<tr bgcolor="#d6dff7">rn");
  571. sb.append("<td class="chinese"><div align="right">通讯地址: </div></td>rn");
  572. sb.append("<td><span class="chinese">&nbsp;");
  573. sb.append(UserAddress);
  574. sb.append(" </span></td>rn");
  575. sb.append("</tr>rn");
  576. sb.append("<tr bgcolor="#d6dff7">rn");
  577. sb.append("<td class="chinese"><div align="right">邮编: </div></td>rn");
  578. sb.append("<td><span class="chinese">&nbsp;");
  579. sb.append(UserZip);
  580. sb.append("</span></td>rn");
  581. sb.append("</tr>rn");
  582. sb.append("<tr bgcolor="#d6dff7">rn");
  583. sb.append("<td colspan="4" class="chinese"><div align="center"><a href="#"");
  584. sb.append("onClick="javascript:history.go(-1)"><strong>返回</strong></a></div></td>rn");
  585. sb.append("</tr>rn");
  586. sb.append("</table>rn");
  587. sb.append("<br><br>rn");
  588. return sb.toString();
  589. }else return sError;
  590.      }catch(Exception e){return "No";}
  591.     }
  592. /*********************************************************
  593. * 函数名:SaveAdd()
  594. * 作  用:添加用户
  595. * 参  数:s,字符串数组,添加用户的各项参数
  596. *        s1:管理员;s2:IP地址
  597. * 返回值:字符串型。返回操作结果的信息
  598. ***********************************************************/
  599. public String SaveAdd(String [] s,String s1,String s2)
  600.     {
  601. String NowTime = (new java.util.Date()).toLocaleString();
  602. String [] sLog = new String[5];
  603. sLog[0] = s1;
  604. sLog[2] = NowTime;
  605. sLog[3] = s2; 
  606.     try{
  607.      boolean OK = true;
  608.      String sError = "";
  609.      Connection Conn = DBConn.getConn();
  610.      Statement stmt = Conn.createStatement(1004,1007);
  611.      ResultSet rs = null;
  612.      for(int i=0;i<s.length;i++)
  613.      {
  614.      s[i] = Fun.getStrCN(Fun.CheckReplace(s[i]));
  615.      }
  616.      String [] sa1 = new String [4];
  617.      String [] sa2 = new String [4];
  618.      sa1[0] = s[0];
  619.      sa1[1] = s[1];
  620.      sa1[2] = s[4];
  621.      sa1[3] = s[7];
  622.      sa2[0] = "管理员用户名";
  623.      sa2[1] = "管理员密码";
  624.      sa2[2] = "管理员真实姓名";
  625.      sa2[3] = "电子邮件";
  626.      int iAdminType = Fun.StrToInt(s[2]);
  627.      if (iAdminType == 0) iAdminType = 1;
  628.     
  629.      String sOK = Fun.CheckDate(sa1,sa2);
  630.      if (!sOK.equals("Yes"))
  631.      {
  632.      OK = false;
  633.      sError = sOK; 
  634.      }
  635.      String sql1 = "select * from Admin where AdminName='" + s[0] + "'";
  636.      ResultSet rs1 = stmt.executeQuery(sql1);
  637.      if (rs1.next()) 
  638.      {
  639.      OK = false;
  640.      sError = "该用户名已经存在,请重新输入!";
  641.      }
  642.     
  643.      if(OK)
  644.      {
  645.      s[1] = md5.getMD5ofStr(md5.getMD5ofStr(s[1]));
  646. String sql = "insert into Admin (AdminName,AdminPwd,AdminType,AddTime,UserName,UserSex,";
  647. sql += "UserBirthday,UserEmail,UserQQ,UserTel,UserAddress,UserZip,UserInfo) values (";
  648. sql += "'" + s[0] + "',";
  649. sql += "'" + s[1] + "',";
  650. sql += iAdminType + ",";
  651. sql += "'" + s[3] + "',";
  652. sql += "'" + s[4] + "',";
  653. sql += "'" + s[5] + "',";
  654. sql += "'" + s[6] + "',";
  655. sql += "'" + s[7] + "',";
  656. sql += "'" + s[8] + "',";
  657. sql += "'" + s[9] + "',";
  658. sql += "'" + s[10] + "',";
  659. sql += "'" + s[11] + "',";
  660. sql += "'" + s[12] + "')";
  661. //out.println(sql);
  662. stmt.executeUpdate(sql);
  663. stmt.close();
  664. Conn.close();
  665. sLog[1] = "添加新的管理员用户["+s[0]+"]";
  666. sLog[4] = "Yes";
  667. Fun.AddLog(sLog);
  668.      return "Yes";
  669.     }
  670.     else return sError;
  671.      }catch(Exception e){
  672.      sLog[1] = "添加新的管理员用户["+s[0]+"]操作失败";
  673.      sLog[4] = "No";
  674. Fun.AddLog(sLog);
  675.      ////e.printStackTrace();
  676.      //System.out.print(e.getMessage());
  677.      //System.out.print(sql);
  678.      return "添加用户操作出错,请核对你的输入!";
  679.      }
  680. }
  681. /*********************************************************
  682. * 函数名:SaveEdit()
  683. * 作  用:修改用户资料,
  684. * 参  数:s,字符串数组,修改用户的各项参数
  685. *         s1:管理员;s2:IP地址,
  686. *   b:布尔型,是否超级管理员
  687. * 返回值:字符串型。返回操作结果的信息
  688. ***********************************************************/
  689. public String SaveEdit(String [] s,String s1,String s2,boolean b)
  690.     {
  691.     
  692.      String NowTime = (new java.util.Date()).toLocaleString();
  693. String [] sLog = new String[5];
  694. sLog[0] = s1;
  695. sLog[2] = NowTime;
  696. sLog[3] = s2; 
  697. sLog[1] = "修改ID为 [" + s[0] + " ] 的管理员用户资料";
  698.      try{
  699.     
  700.      boolean OK = true;
  701.      String sError = "";
  702.     
  703.      for(int i=0;i<s.length;i++)
  704.      {
  705.      s[i] = Fun.getStrCN(Fun.CheckReplace(s[i]));
  706.      }
  707.     
  708.      String [] sa1 = new String [3];
  709.      String [] sa2 = new String [3];
  710.      sa1[0] = s[0];
  711.      sa1[1] = s[4];
  712.      sa1[2] = s[7];
  713.      sa2[0] = "管理员用户名";
  714.      sa2[1] = "管理员真实姓名";
  715.      sa2[2] = "电子邮件";
  716.     
  717.      String sOK = Fun.CheckDate(sa1,sa2);
  718.      if (!sOK.equals("Yes"))
  719.      {
  720.      OK = false;
  721.      sError = sOK; 
  722.      }
  723. if(OK)
  724. {
  725.      Connection Conn = DBConn.getConn();
  726.      Statement stmt = Conn.createStatement(1004,1007);
  727.      ResultSet rs = null;
  728.      int iAdminType = Fun.StrToInt(s[2]);
  729.      if (iAdminType == 0) iAdminType = 1;
  730.      String sql = "update Admin set ";
  731.      sql += "AddTime='" + s[3] + "',";
  732.      sql += "UserName='" + s[4] + "',";
  733.      sql += "UserSex='" + s[5] + "',";
  734.      sql += "UserBirthday='" + s[6] + "',";
  735.      sql += "UserEmail='" + s[7] + "',";
  736.      sql += "UserQQ='" + s[8] + "',";
  737.      sql += "UserTel='" + s[9] + "',";
  738.      sql += "UserAddress='" + s[10] + "',";
  739.      sql += "UserZip='" + s[11] + "',";
  740.      sql += "UserInfo='" + s[12] + "'";
  741.      String sql1 = " where AdminID=" + s[0];
  742.      if(b)
  743.     {
  744.      sql += ",AdminType=" + iAdminType;
  745.      if (s[1]!=null && !s[1].equals("")) 
  746.      {
  747.      s[1] = md5.getMD5ofStr(md5.getMD5ofStr(s[1]));
  748.      sql += ",AdminPwd='" + s[1] + "'";
  749.      sLog[1] += "和密码!";
  750.      }
  751.     }
  752.      sql += sql1;
  753. stmt.executeUpdate(sql);
  754. stmt.close();
  755. Conn.close();
  756. sLog[4] = "Yes";
  757. Fun.AddLog(sLog);
  758.      return "Yes";
  759.     } return sError;
  760.      }catch(Exception e){
  761.      sLog[4] = "No";
  762. Fun.AddLog(sLog);
  763.      ////e.printStackTrace();
  764.      //System.out.print(e.getMessage());
  765.      //System.out.print(sql);
  766.      return "修改用户操作出错,请核对你的输入!";
  767.      }
  768.     }
  769. /*********************************************************
  770. * 函数名:SaveEditPwd()
  771. * 作  用:修改用户密码
  772. * 参  数: s[0],旧密码