1 42 package com.mvnforum.admin; 43 44 import java.io.File ; 45 import java.io.IOException ; 46 import java.sql.Date ; 47 import java.sql.Timestamp ; 48 import java.util.*; 49 50 52 import com.mvnforum.*; 53 import com.mvnforum.auth.*; 54 import com.mvnforum.common.*; 55 import com.mvnforum.db.*; 56 import com.mvnforum.search.member.MemberIndexer; 57 import com.mvnforum.search.member.MemberSearchQuery; 58 59 import net.myvietnam.mvncore.exception.*; 60 import net.myvietnam.mvncore.interceptor.InterceptorService; 61 import net.myvietnam.mvncore.security.Encoder; 62 import net.myvietnam.mvncore.util.*; 63 64 import net.myvietnam.mvncore.web.GenericRequest; 65 import net.myvietnam.mvncore.web.GenericResponse; 66 import org.apache.commons.logging.Log; 67 import org.apache.commons.logging.LogFactory; 68 69 public class MemberWebHandler { 70 71 private static Log log = LogFactory.getLog(MemberWebHandler.class); 72 73 private OnlineUserManager onlineUserManager = OnlineUserManager.getInstance(); 74 75 public MemberWebHandler() { 76 } 77 78 public void processAdd(GenericRequest request) 79 throws BadInputException, ObjectNotFoundException, CreateException, DatabaseException, DuplicateKeyException, 80 ForeignKeyNotFoundException, AuthenticationException, AssertionException, InterceptorException { 81 82 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 83 MVNForumPermission permission = onlineUser.getPermission(); 84 permission.ensureCanAdminSystem(); 85 86 Locale locale = I18nUtil.getLocaleInRequest(request); 87 88 Timestamp now = DateUtil.getCurrentGMTTimestamp(); 89 90 String memberName = GenericParamUtil.getParameterSafe(request, "MemberName", true); 92 if ( memberName.equalsIgnoreCase(MVNForumConfig.getDefaultGuestName()) || 93 memberName.equalsIgnoreCase("Guest") || 94 memberName.equalsIgnoreCase("Administrator") || 95 memberName.equalsIgnoreCase("Moderator") ) { 96 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.cannot_register_with_reserved_name", new Object [] {memberName}); 97 throw new BadInputException(localizedMessage); 98 } 100 StringUtil.checkGoodName(memberName); 101 InterceptorService.getInstance().validateLoginID(memberName); 102 if (memberName.length() > MVNForumGlobal.MAX_MEMBER_LOGIN_LENGTH) { 103 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.member_name_too_long"); 104 throw new BadInputException(localizedMessage); 105 } 107 108 String memberPassword1 = GenericParamUtil.getParameterPassword(request, "MemberMatkhau", 3, 0); 109 String memberPassword2 = GenericParamUtil.getParameterPassword(request, "MemberMatkhauConfirm", 3, 0); 110 if (!memberPassword1.equals(memberPassword2)) { 111 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.confirmed_password_is_not_match"); 112 throw new BadInputException(localizedMessage); 113 } 115 String memberPassword = Encoder.getMD5_Base64(memberPassword1); 116 117 String memberEmail = GenericParamUtil.getParameterEmail(request, "MemberEmail"); 118 String memberEmailConfirm = GenericParamUtil.getParameterEmail(request, "MemberEmailConfirm"); 119 if (!memberEmail.equals(memberEmailConfirm)) { 120 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.confirmed_email_is_not_match"); 121 throw new BadInputException(localizedMessage); 122 } 124 if (memberEmail.length() > MVNForumGlobal.MAX_MEMBER_EMAIL_LENGTH) { 125 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.member_email_too_long"); 126 throw new BadInputException(localizedMessage); 127 } 129 String memberFirstEmail = memberEmail; 130 InterceptorService.getInstance().validateMail(memberFirstEmail); 131 132 int memberEmailVisible = MemberBean.MEMBER_EMAIL_INVISIBLE; 133 int memberNameVisible = MemberBean.MEMBER_NAME_VISIBLE; 134 String memberFirstIP = request.getRemoteAddr(); 135 String memberLastIP = memberFirstIP; 136 int memberOption = 0; int memberStatus = 0; String memberActivateCode = ""; int memberMessageOption = 0; int memberPostsPerPage = 10; Date memberBirthday = new java.sql.Date (now.getTime()); 142 Timestamp memberCreationDate= now; 143 Timestamp memberModifiedDate= now; 144 Timestamp memberExpireDate = memberCreationDate; if (MVNForumConfig.getEnableCompany()) { 146 memberExpireDate = DateUtil.getCurrentGMTTimestampExpiredDay(MVNForumConfig.getExpireDateTutor()); 147 } 148 149 DAOFactory.getMemberDAO().create(memberName, memberPassword, memberFirstEmail, 150 memberEmail, memberEmailVisible, memberNameVisible, 151 memberFirstIP, memberLastIP, 0, 152 0, memberCreationDate, memberModifiedDate,memberExpireDate, 153 now, memberOption, memberStatus, 154 memberActivateCode, "", 0, 155 memberMessageOption, memberPostsPerPage, 0, 156 0, 0, 0, 157 "", 0, "", 158 "", "", "", 159 " ", " ", 1, 160 memberBirthday, "", "", 161 "", "", "", 162 "", "", "", 163 "", "", "", 164 "", "", "", 165 ""); 166 167 int memberID = DAOFactory.getMemberDAO().getMemberIDFromMemberName(memberName); 169 int folderStatus = 0; 170 int folderOption = 0; 171 int folderType = 0; 172 DAOFactory.getMessageFolderDAO().create(MVNForumConstant.MESSAGE_FOLDER_INBOX, memberID, 0, folderStatus, folderOption, folderType, now, now); 173 DAOFactory.getMessageFolderDAO().create(MVNForumConstant.MESSAGE_FOLDER_DRAFT, memberID, 1, folderStatus, folderOption, folderType, now, now); 174 DAOFactory.getMessageFolderDAO().create(MVNForumConstant.MESSAGE_FOLDER_SENT, memberID, 2, folderStatus, folderOption, folderType, now, now); 175 DAOFactory.getMessageFolderDAO().create(MVNForumConstant.MESSAGE_FOLDER_TRASH, memberID, 3, folderStatus, folderOption, folderType, now, now); 176 177 MemberBean memberBean = null; 179 try { 180 memberBean = DAOFactory.getMemberDAO().getMember_forPublic(memberID); 181 } catch(ObjectNotFoundException ex) { 182 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 183 throw new ObjectNotFoundException(localizedMessage); 184 } 185 MemberIndexer.scheduleAddMemberTask(memberBean); 186 187 if (MVNForumConfig.getRequireActivation()) { 191 String serverName = ParamUtil.getServerPath(); try { 193 SendMailUtil.sendActivationCodeEmail(memberID, serverName); 194 } catch (Exception ex) { 195 log.error("Cannot send mail after registration!", ex); 196 request.setAttribute("mvnforum.mail.failed", "Cannot send activation email after registration!"); 197 } 199 } 200 } 201 202 public void processUpdateMemberStatus(GenericRequest request) 203 throws BadInputException, ObjectNotFoundException, DatabaseException { 204 205 int memberID = GenericParamUtil.getParameterInt(request, "memberid"); 207 208 int memberStatus= GenericParamUtil.getParameterInt(request, "status"); 210 211 Locale locale = I18nUtil.getLocaleInRequest(request); 212 213 if ( memberStatus != MemberBean.MEMBER_STATUS_ENABLE 215 && memberStatus != MemberBean.MEMBER_STATUS_DISABLE) { 216 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.cannot_update_member_status.unknown_status", new Object [] { new Integer (memberStatus)}); 217 throw new BadInputException(localizedMessage); 218 } 220 221 if (memberID == MVNForumConstant.MEMBER_ID_OF_ADMIN) { 223 memberStatus = MemberBean.MEMBER_STATUS_ENABLE; 224 } 225 try { 227 DAOFactory.getMemberDAO().updateStatus(memberID, memberStatus); 229 } catch (ObjectNotFoundException e) { 230 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 231 throw new ObjectNotFoundException(localizedMessage); 232 } 233 } 234 235 public void prepareEdit(GenericRequest request) 236 throws BadInputException, ObjectNotFoundException, DatabaseException, 237 AssertionException, AuthenticationException { 238 239 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 240 MVNForumPermission permission = onlineUser.getPermission(); 241 permission.ensureCanAdminSystem(); 242 243 Locale locale = I18nUtil.getLocaleInRequest(request); 244 245 int memberID = GenericParamUtil.getParameterInt(request, "memberid"); 246 247 MemberBean memberBean = null; 248 try { 249 memberBean = DAOFactory.getMemberDAO().getMember_forEditCurrentMember(memberID); 251 } catch (ObjectNotFoundException e) { 252 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 253 throw new ObjectNotFoundException(localizedMessage); 254 } 255 256 request.setAttribute("MemberBean", memberBean); 257 } 258 259 public void processEdit(GenericRequest request, GenericResponse response) 260 throws BadInputException, ObjectNotFoundException, DatabaseException, 261 AssertionException, AuthenticationException { 262 263 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 264 MVNForumPermission permission = onlineUser.getPermission(); 265 permission.ensureCanAdminSystem(); 266 267 MyUtil.saveVNTyperMode(request, response); 268 269 int memberID = GenericParamUtil.getParameterInt(request, "memberid"); 270 271 Timestamp now = DateUtil.getCurrentGMTTimestamp(); 272 273 int memberEmailVisible = GenericParamUtil.getParameterBoolean(request, "MemberEmailVisible")? MemberBean.MEMBER_EMAIL_VISIBLE : MemberBean.MEMBER_EMAIL_INVISIBLE; 275 int memberNameVisible = GenericParamUtil.getParameterBoolean(request, "MemberNameVisible") ? MemberBean.MEMBER_NAME_VISIBLE : MemberBean.MEMBER_NAME_INVISIBLE; 276 int memberOption = 0; int memberStatus = GenericParamUtil.getParameterInt(request, "MemberStatus"); 278 int memberMessageOption = 0; int memberPostsPerPage = GenericParamUtil.getParameterInt(request, "MemberPostsPerPage"); 280 if (memberPostsPerPage < 5) { 281 memberPostsPerPage = 5; 282 } 283 double memberTimeZone = GenericParamUtil.getParameterTimeZone(request, "MemberTimeZone"); 284 String memberSkin = GenericParamUtil.getParameterSafe(request, "MemberSkin", false); 285 String memberLanguage = GenericParamUtil.getParameterSafe(request, "MemberLanguage", false); 286 String memberFirstname = GenericParamUtil.getParameterSafe(request, "MemberFirstname", true); 287 String memberLastname = GenericParamUtil.getParameterSafe(request, "MemberLastname", true); 288 int memberGender = GenericParamUtil.getParameterBoolean(request, "MemberGender")? 1 : 0; 289 Date memberBirthday = GenericParamUtil.getParameterDate(request, "MemberBirthday"); 290 String memberAddress = GenericParamUtil.getParameterSafe(request, "MemberAddress", false); 291 String memberCity = GenericParamUtil.getParameterSafe(request, "MemberCity", false); 292 String memberState = GenericParamUtil.getParameterSafe(request, "MemberState", false); 293 String memberCountry = GenericParamUtil.getParameterSafe(request, "MemberCountry", false); 294 String memberPhone = GenericParamUtil.getParameterSafe(request, "MemberPhone", false); 295 String memberMobile = GenericParamUtil.getParameterSafe(request, "MemberMobile", false); 296 String memberFax = GenericParamUtil.getParameterSafe(request, "MemberFax", false); 297 String memberCareer = GenericParamUtil.getParameterSafe(request, "MemberCareer", false); 298 String memberHomepage = GenericParamUtil.getParameterUrl(request, "MemberHomepage"); 299 String memberYahoo = GenericParamUtil.getParameterSafe(request, "MemberYahoo", false); 300 String memberAol = GenericParamUtil.getParameterSafe(request, "MemberAol", false); 301 String memberIcq = GenericParamUtil.getParameterSafe(request, "MemberIcq", false); 302 String memberMsn = GenericParamUtil.getParameterSafe(request, "MemberMsn", false); 303 String memberCoolLink1 = GenericParamUtil.getParameterUrl(request, "MemberCoolLink1"); 304 String memberCoolLink2 = GenericParamUtil.getParameterUrl(request, "MemberCoolLink2"); 305 306 try { 307 DAOFactory.getMemberDAO().update(memberID, memberEmailVisible, memberNameVisible, now, 309 memberOption, memberStatus, memberMessageOption, 310 memberPostsPerPage, memberTimeZone, memberSkin, 311 memberLanguage, memberFirstname, memberLastname, 312 memberGender, memberBirthday, memberAddress, 313 memberCity, memberState, memberCountry, 314 memberPhone, memberMobile, memberFax, 315 memberCareer, memberHomepage, memberYahoo, 316 memberAol, memberIcq, memberMsn, 317 memberCoolLink1, memberCoolLink2); 318 } catch(ObjectNotFoundException ex) { 319 Locale locale = I18nUtil.getLocaleInRequest(request); 320 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 321 throw new ObjectNotFoundException(localizedMessage); 322 } 323 324 MemberBean justEditedMemberBean = DAOFactory.getMemberDAO().getMember_forPublic(memberID); 325 326 MemberIndexer.scheduleUpdateMemberTask(justEditedMemberBean); 327 } 329 330 public void prepareView(GenericRequest request) 331 throws BadInputException, ObjectNotFoundException, DatabaseException, 332 AssertionException, AuthenticationException { 333 334 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 335 MVNForumPermission permission = onlineUser.getPermission(); 336 permission.ensureCanAdminSystem(); 337 338 Locale locale = I18nUtil.getLocaleInRequest(request); 339 340 String strMemberID = GenericParamUtil.getParameter(request, "memberid", false); 341 String strMemberName = GenericParamUtil.getParameter(request, "member", false); 342 String strMemberEmail = GenericParamUtil.getParameter(request, "memberemail", false); 343 344 int memberID; 345 346 if (strMemberID.length() > 0) { 347 memberID = GenericParamUtil.getParameterInt(request, "memberid"); 348 } else if (strMemberName.length() > 0){ 349 351 StringUtil.checkGoodName(strMemberName); try { 353 memberID = DAOFactory.getMemberDAO().getMemberIDFromMemberName(strMemberName); 354 } catch (ObjectNotFoundException e) { 355 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.membername_not_exists", new Object [] {strMemberName}); 356 throw new ObjectNotFoundException(localizedMessage); 357 } 358 } else if (strMemberEmail.length() > 0){ 359 String memberEmail = GenericParamUtil.getParameterEmail(request, "memberemail"); try { 361 memberID = DAOFactory.getMemberDAO().getMemberIDFromMemberEmail(memberEmail); 362 } catch (ObjectNotFoundException e) { 363 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberemail_not_exists", new Object [] {memberEmail}); 364 throw new ObjectNotFoundException(localizedMessage); 365 } 366 } else { 367 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.cannot_get_member_info"); 368 throw new BadInputException(localizedMessage); 369 } 371 372 try { 375 StatisticsUtil.updateMemberStatistics(memberID); 376 } catch (ObjectNotFoundException e) { 377 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 378 throw new ObjectNotFoundException(localizedMessage); 379 } 380 381 int toMessageCount = 0; 382 int fromMessageCount = 0; 383 384 String toDay = GenericParamUtil.getParameter(request, "toDay", false); 385 String toMonth = GenericParamUtil.getParameter(request, "toMonth", false); 386 String toYear = GenericParamUtil.getParameter(request, "toYear", false); 387 388 String fromDay = GenericParamUtil.getParameter(request, "fromDay", false); 389 String fromMonth = GenericParamUtil.getParameter(request, "fromMonth", false); 390 String fromYear = GenericParamUtil.getParameter(request, "fromYear", false); 391 392 if ( !toDay.equals("") && 393 !toMonth.equals("") && 394 !toYear.equals("") && 395 !fromDay.equals("") && 396 !fromMonth.equals("") && 397 !fromYear.equals("")) { 398 Timestamp from = new Timestamp (GenericParamUtil.getParameterDate(request, "fromDay", "fromMonth", "fromYear").getTime()); 399 Timestamp to = new Timestamp (GenericParamUtil.getParameterDate(request, "toDay", "toMonth", "toYear").getTime()); 400 401 toMessageCount = DAOFactory.getMessageStatisticsDAO().getNumberOfBeans_inToID_supportTimestamp(memberID, from, to); 402 fromMessageCount = DAOFactory.getMessageStatisticsDAO().getNumberOfBeans_inFromID_supportTimestamp(memberID, from, to); 403 } else { 404 toMessageCount = DAOFactory.getMessageStatisticsDAO().getNumberOfBeans_inToID(memberID); 405 fromMessageCount = DAOFactory.getMessageStatisticsDAO().getNumberOfBeans_inFromID(memberID); 406 } 407 408 MemberBean memberBean = null; 409 try { 410 memberBean = DAOFactory.getMemberDAO().getMember_forPublic(memberID); 412 } catch (ObjectNotFoundException e) { 413 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 414 throw new ObjectNotFoundException(localizedMessage); 415 } 416 int watchCount = DAOFactory.getWatchDAO().getNumberOfWatches_forMember(memberID); 417 418 request.setAttribute("MemberBean", memberBean); 419 request.setAttribute("WatchCount", new Integer (watchCount)); 420 421 request.setAttribute("ToMessageCount", new Integer (toMessageCount)); 422 request.setAttribute("FromMessageCount", new Integer (fromMessageCount)); 423 request.setAttribute("toDay", toDay); 424 request.setAttribute("toMonth", toMonth); 425 request.setAttribute("toYear", toYear); 426 request.setAttribute("fromDay", fromDay); 427 request.setAttribute("fromMonth", fromMonth); 428 request.setAttribute("fromYear", toYear); 429 } 430 431 public void processUpdateMemberTitle(GenericRequest request, GenericResponse response) 432 throws BadInputException, DatabaseException, ObjectNotFoundException, 433 AuthenticationException, AssertionException { 434 435 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 436 MVNForumPermission permission = onlineUser.getPermission(); 437 permission.ensureCanAdminSystem(); 438 439 MyUtil.saveVNTyperMode(request, response); 440 441 int memberID = GenericParamUtil.getParameterInt(request, "MemberID"); 443 444 String memberTitle = GenericParamUtil.getParameterSafe(request, "MemberTitle", false); 446 Locale locale = I18nUtil.getLocaleInRequest(request); 447 try { 448 DAOFactory.getMemberDAO().updateTitle(memberID, memberTitle); 449 } catch (ObjectNotFoundException e) { 450 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 451 throw new ObjectNotFoundException(localizedMessage); 452 } 453 } 454 455 public void processResetMemberSignature(GenericRequest request) 456 throws BadInputException, DatabaseException, ObjectNotFoundException, 457 AuthenticationException, AssertionException { 458 459 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 460 MVNForumPermission permission = onlineUser.getPermission(); 461 permission.ensureCanAdminSystem(); 462 Locale locale = I18nUtil.getLocaleInRequest(request); 463 int memberID = GenericParamUtil.getParameterInt(request, "memberid"); 464 try { 465 DAOFactory.getMemberDAO().updateSignature(memberID, ""); 466 } catch (ObjectNotFoundException e) { 467 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 468 throw new ObjectNotFoundException(localizedMessage); 469 } 470 471 request.setAttribute("MemberID", new Integer (memberID)); 472 } 473 474 public void processResetMemberAvatar(GenericRequest request) 475 throws BadInputException, DatabaseException, ObjectNotFoundException, 476 AuthenticationException, AssertionException { 477 478 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 479 MVNForumPermission permission = onlineUser.getPermission(); 480 permission.ensureCanAdminSystem(); 481 482 Locale locale = I18nUtil.getLocaleInRequest(request); 483 int memberID = GenericParamUtil.getParameterInt(request, "memberid"); 484 try { 485 DAOFactory.getMemberDAO().updateAvatar(memberID, ""); 486 } catch (ObjectNotFoundException e) { 487 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 488 throw new ObjectNotFoundException(localizedMessage); 489 } 490 491 request.setAttribute("MemberID", new Integer (memberID)); 492 } 493 494 public void processResetMemberActivation(GenericRequest request) 495 throws BadInputException, DatabaseException, ObjectNotFoundException, 496 AuthenticationException, AssertionException { 497 498 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 499 MVNForumPermission permission = onlineUser.getPermission(); 500 permission.ensureCanAdminSystem(); 501 502 Locale locale = I18nUtil.getLocaleInRequest(request); 503 int memberID = GenericParamUtil.getParameterInt(request, "memberid"); 504 try { 505 DAOFactory.getMemberDAO().updateActivateCode(memberID, ""); 506 } catch (ObjectNotFoundException e) { 507 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 508 throw new ObjectNotFoundException(localizedMessage); 509 } 510 511 request.setAttribute("MemberID", new Integer (memberID)); 512 } 513 514 public void processDeleteMember(GenericRequest request) 515 throws BadInputException, DatabaseException, ObjectNotFoundException, 516 AuthenticationException, AssertionException { 517 518 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 519 MVNForumPermission permission = onlineUser.getPermission(); 520 permission.ensureCanAdminSystem(); 521 522 Locale locale = I18nUtil.getLocaleInRequest(request); 523 524 MyUtil.ensureCorrectCurrentPassword(request); 526 527 int memberID = GenericParamUtil.getParameterInt(request, "memberid"); 528 if ((memberID==MVNForumConstant.MEMBER_ID_OF_ADMIN) || 529 (memberID==0) || 530 (memberID==MVNForumConstant.MEMBER_ID_OF_GUEST)) { 531 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.cannot_delete_admin_or_guest"); 532 throw new BadInputException(localizedMessage); 533 } 535 536 boolean deleteSentMessages = GenericParamUtil.getParameterBoolean(request, "deletesentmessages"); 537 538 MemberBean memberBean = null; 539 try { 540 memberBean = DAOFactory.getMemberDAO().getMember_forPublic(memberID); 541 } catch (ObjectNotFoundException e) { 542 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 543 throw new ObjectNotFoundException(localizedMessage); 544 } 545 546 MemberWebHandler.deleteMember(memberBean, deleteSentMessages, request, locale); 547 548 595 } 596 597 600 public void prepareShowUserManagement(GenericRequest request) 601 throws DatabaseException, AssertionException, BadInputException, AuthenticationException { 602 603 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 604 MVNForumPermission permission = onlineUser.getPermission(); 605 permission.ensureCanAdminSystem(); 606 607 Locale locale = I18nUtil.getLocaleInRequest(request); 608 609 String sort = GenericParamUtil.getParameter(request, "sort"); 611 String order = GenericParamUtil.getParameter(request, "order"); 612 if (sort.length() == 0) sort = "MemberCreationDate"; 613 if (order.length()== 0) order = "DESC"; 614 615 int postsPerPage = onlineUser.getPostsPerPage(); 617 int offset = 0; 618 try { 619 offset = GenericParamUtil.getParameterInt(request, "offset"); 620 } catch (BadInputException e) { 621 } 623 624 int totalMembers = DAOFactory.getMemberDAO().getNumberOfMembers(); 625 if (offset > totalMembers) { 626 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.offset_greater_than_total_rows"); 627 throw new BadInputException(localizedMessage); 628 } 630 631 Collection memberBeans = DAOFactory.getMemberDAO().getMembers_withSortSupport_limit(offset, postsPerPage, sort, order); 632 int enabledMembers = DAOFactory.getMemberDAO().getNumberOfMembers_inMemberStatus(MemberBean.MEMBER_STATUS_ENABLE); 633 int disabledMembers = DAOFactory.getMemberDAO().getNumberOfMembers_inMemberStatus(MemberBean.MEMBER_STATUS_DISABLE); 634 int activatedMembers = DAOFactory.getMemberDAO().getNumberOfMembers_inActivationStatus(true); 635 int nonactivatedMembers = DAOFactory.getMemberDAO().getNumberOfMembers_inActivationStatus(false); 636 637 if ((disabledMembers + enabledMembers) != totalMembers) { 638 throw new AssertionException("Assertion: (disabledMembers + enabledMembers) == totalMembers"); 640 } 641 if ((activatedMembers + nonactivatedMembers) != totalMembers) { 642 throw new AssertionException("Assertion: (activatedMembers + nonactivatedMembers) == totalMembers"); 644 } 645 646 request.setAttribute("MemberBeans", memberBeans); 647 request.setAttribute("TotalMembers", new Integer (totalMembers)); 648 request.setAttribute("EnabledMembers", new Integer (enabledMembers)); 649 request.setAttribute("DisabledMembers", new Integer (disabledMembers)); 650 request.setAttribute("ActivatedMembers", new Integer (activatedMembers)); 651 request.setAttribute("NonActivatedMembers", new Integer (nonactivatedMembers)); 652 request.setAttribute("offset", new Integer (offset)); 653 } 654 655 public void prepareListUserExpire(GenericRequest request) 656 throws DatabaseException, AssertionException, BadInputException, AuthenticationException { 657 658 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 659 MVNForumPermission permission = onlineUser.getPermission(); 660 permission.ensureCanAdminSystem(); 661 662 String sort = GenericParamUtil.getParameter(request, "sort"); 664 String order = GenericParamUtil.getParameter(request, "order"); 665 if (sort.length() == 0) sort = "MemberExpireDate"; 666 if (order.length()== 0) order = "ASC"; 667 668 int postsPerPage = onlineUser.getPostsPerPage(); 670 int offset = 0; 671 try { 672 offset = GenericParamUtil.getParameterInt(request, "offset"); 673 } catch (BadInputException e) { 674 } 676 Timestamp expiresoonDate = DateUtil.getCurrentGMTTimestampExpiredDay(MVNForumConfig.getUserTutorExpireSoonDate()); 677 678 int totalExpireMembers = DAOFactory.getMemberDAO().getNumberOfMembers_inExpire(expiresoonDate); 679 if (offset > totalExpireMembers) { 680 throw new BadInputException("The offset is not allowed to be greater than total members."); 682 } 683 684 Collection expireMemberBeans = DAOFactory.getMemberDAO().getMembers_inExpire_limit(expiresoonDate, offset, postsPerPage, sort, order); 685 686 request.setAttribute("TotalMembers", new Integer (totalExpireMembers)); 687 request.setAttribute("ExpireMemberBeans", expireMemberBeans); 688 request.setAttribute("offset", new Integer (offset)); 689 } 690 691 public void updateMemberExpireProcess(GenericRequest request) 692 throws DatabaseException, BadInputException, ObjectNotFoundException, 693 AssertionException, AuthenticationException { 694 695 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 696 MVNForumPermission permission = onlineUser.getPermission(); 697 permission.ensureCanAdminSystem(); 698 699 String renew = GenericParamUtil.getParameter(request, "renew"); 701 String disable = GenericParamUtil.getParameter(request, "disable"); 702 String enable = GenericParamUtil.getParameter(request, "enable"); 703 int expiredDays = GenericParamUtil.getParameterUnsignedInt(request, "addtime"); 704 705 String [] checkList = request.getParameterValues("selectedmember"); 706 if (checkList == null) return; 707 708 if (renew.equals("Renew")) { 709 long offsetDate = expiredDays * DateUtil.DAY; 711 Timestamp now = DateUtil.getCurrentGMTTimestamp(); 712 for (int i = 0; (checkList != null) && (i < checkList.length); i++) { 713 int memberID = Integer.parseInt(checkList[i]); 714 log.debug("Renew expiration date for MemberID = " + memberID); 715 try { 716 MemberBean memberBean = DAOFactory.getMemberDAO().getMember_forPublic(memberID); 717 Timestamp expireDate = memberBean.getMemberExpireDate(); 718 if (expireDate == null) { 719 expireDate = now; 720 } 721 Timestamp memberExpireDate = new Timestamp (expireDate.getTime() + offsetDate); 722 DAOFactory.getMemberDAO().updateMember_expireDate(memberID, memberExpireDate); 723 } catch (ObjectNotFoundException e) { 724 Locale locale = I18nUtil.getLocaleInRequest(request); 725 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 726 throw new ObjectNotFoundException(localizedMessage); 727 } 728 } 729 } else if (disable.equals("Disable")) { 730 for (int i = 0; (checkList != null) && (i < checkList.length); i++) { 731 int memberID = Integer.parseInt(checkList[i]); 732 log.debug("Disable member with MemberID = " + memberID); 733 try { 734 DAOFactory.getMemberDAO().updateStatus(memberID, MemberBean.MEMBER_STATUS_DISABLE); 735 } catch (ObjectNotFoundException e) { 736 Locale locale = I18nUtil.getLocaleInRequest(request); 737 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 738 throw new ObjectNotFoundException(localizedMessage); 739 } 740 } 741 } else if (enable.equals("Enable")) { 742 for (int i = 0; (checkList != null) && (i < checkList.length); i++) { 743 int memberID = Integer.parseInt(checkList[i]); 744 log.debug("Enable member with MemberID = " + memberID); 745 try { 746 DAOFactory.getMemberDAO().updateStatus(memberID, MemberBean.MEMBER_STATUS_ENABLE); 747 } catch (ObjectNotFoundException e) { 748 Locale locale = I18nUtil.getLocaleInRequest(request); 749 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 750 throw new ObjectNotFoundException(localizedMessage); 751 } 752 } 753 } 754 } 755 756 public void processSearch(GenericRequest request) 757 throws BadInputException, IOException , DatabaseException, ObjectNotFoundException, 758 AuthenticationException, AssertionException { 759 760 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 761 MVNForumPermission permission = onlineUser.getPermission(); 762 permission.ensureCanAdminSystem(); 763 764 String memberNameKey = GenericParamUtil.getParameter(request, "membername", false); 765 String memberEmailKey = GenericParamUtil.getParameter(request, "email", false); 766 String memberLastNameKey = GenericParamUtil.getParameter(request, "lastname", false); 767 String memberFirstNameKey = GenericParamUtil.getParameter(request, "firstname", false); 768 String memberCountryKey = GenericParamUtil.getParameter(request, "country", false); 769 770 Locale locale = I18nUtil.getLocaleInRequest(request); 771 772 int defaultRows = onlineUser.getPostsPerPage(); 773 774 int offset = GenericParamUtil.getParameterUnsignedInt(request, "offset", 0); 775 int rows = GenericParamUtil.getParameterUnsignedInt(request, "rows", defaultRows); 776 if (rows == 0) { 777 rows = defaultRows; } 779 780 offset = (offset / rows) * rows; 782 783 MemberSearchQuery query = new MemberSearchQuery(); 784 boolean isNullKey = true; 785 if (memberNameKey.length() > 0) { 786 query.setMemberNameKey(memberNameKey); 787 isNullKey = false; 788 } 789 if (memberEmailKey.length() > 0) { 790 query.setMemberEmailKey(memberEmailKey); 791 isNullKey = false; 792 } 793 if (memberLastNameKey.length() > 0) { 794 query.setMemberLastNameKey(memberLastNameKey); 795 isNullKey = false; 796 } 797 if (memberFirstNameKey.length() > 0){ 798 query.setMemberFirstNameKey(memberFirstNameKey); 799 isNullKey = false; 800 } 801 if (memberCountryKey.length() > 0) { 802 query.setCountry(memberCountryKey); 803 isNullKey = false; 804 } 805 if (isNullKey) { 806 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.cannot_search.key_is_null"); 807 throw new BadInputException(localizedMessage); 808 } 809 810 int searchDate = GenericParamUtil.getParameterUnsignedInt(request, "date", MemberSearchQuery.SEARCH_ANY_DATE); 811 int searchBeforeAfter = GenericParamUtil.getParameterInt(request, "beforeafter", MemberSearchQuery.SEARCH_NEWER); 812 813 if ((searchDate != MemberSearchQuery.SEARCH_ANY_DATE) && (searchDate < 365 * 10)) { long deltaTime = DateUtil.DAY * searchDate; 815 816 Timestamp now = DateUtil.getCurrentGMTTimestamp(); 817 Timestamp from = null; 818 Timestamp to = null; 819 820 long currentTime = now.getTime(); 821 822 if (searchBeforeAfter == MemberSearchQuery.SEARCH_NEWER) { 823 from = new Timestamp (currentTime - deltaTime); 824 } else { to = new Timestamp (currentTime - deltaTime); 826 } 827 828 query.setFromDate(from); 829 query.setToDate(to); 830 } 831 832 833 query.searchDocuments(offset, rows); 834 int hitCount = query.getHitCount(); 835 Collection result = query.getMemberResult(); 836 837 if (offset > hitCount) { 838 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.offset_greater_than_total_rows"); 839 throw new BadInputException(localizedMessage); 840 } 841 842 request.setAttribute("offset", new Integer (offset)); 843 request.setAttribute("rows", new Integer (rows)); 844 request.setAttribute("TotalMembers", new Integer (hitCount)); 845 request.setAttribute("MemberBeans", result); 846 request.setAttribute("MemberName", memberNameKey); 847 request.setAttribute("MemberEmail", memberEmailKey); request.setAttribute("DateOption", new Integer (searchDate)); request.setAttribute("BeforeAfterOption", new Integer (searchBeforeAfter)); } 851 852 public void preparePermissionSummary(GenericRequest request ) 853 throws DatabaseException, ObjectNotFoundException, AuthenticationException, AssertionException { 854 855 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 856 MVNForumPermission permission = onlineUser.getPermission(); 857 permission.ensureCanAdminSystem(); 858 859 Collection authorizedMembers = DAOFactory.getMemberDAO().getAuthorizedMembers(); 860 Collection forumsAuthorizedMembers = DAOFactory.getMemberDAO().getForumsAuthorizedMembers(); 861 862 Collection distinctAuthorizedGroups = DAOFactory.getGroupPermissionDAO().getDistinctGroups(); 863 Collection authorizedGroups = new ArrayList(distinctAuthorizedGroups.size()); 864 for (Iterator iter = distinctAuthorizedGroups.iterator(); iter.hasNext(); ) { 865 GroupPermissionBean item = (GroupPermissionBean) iter.next(); 866 GroupsBean groupBean = DAOFactory.getGroupsDAO().getGroup(item.getGroupID()); 867 authorizedGroups.add(groupBean); 868 } 869 870 Collection distinctForumAuthorizedGroups = DAOFactory.getGroupForumDAO().getDistinctGroups(); 871 Collection forumAuthorizedGroups = new ArrayList(distinctForumAuthorizedGroups.size()); 872 for (Iterator iter = distinctForumAuthorizedGroups.iterator(); iter.hasNext(); ) { 873 GroupForumBean item = (GroupForumBean) iter.next(); 874 GroupsBean groupBean = DAOFactory.getGroupsDAO().getGroup(item.getGroupID()); 875 forumAuthorizedGroups.add(groupBean); 876 } 877 878 request.setAttribute("AuthorizedMembers", authorizedMembers); 879 request.setAttribute("ForumsAuthorizedMembers", forumsAuthorizedMembers); 880 request.setAttribute("AuthorizedGroups", authorizedGroups); 881 request.setAttribute("ForumAuthorizedGroups", forumAuthorizedGroups); 882 } 883 884 public void prepareViewPermission(GenericRequest request ) 885 throws AuthenticationException, BadInputException, DatabaseException, AssertionException, ObjectNotFoundException { 886 887 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 888 MVNForumPermission permission = onlineUser.getPermission(); 889 permission.ensureCanAdminSystem(); 890 891 int memberID = GenericParamUtil.getParameterInt(request, "memberid"); 892 893 MemberBean member = null; 894 try { 895 member = DAOFactory.getMemberDAO().getMember_forPublic(memberID); 896 } catch (ObjectNotFoundException e) { 897 Locale locale = I18nUtil.getLocaleInRequest(request); 898 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 899 throw new ObjectNotFoundException(localizedMessage); 900 } 901 MVNForumPermission thisPermission = MVNForumPermissionFactory.getAuthenticatedPermission(memberID); 902 Collection groups = DAOFactory.getGroupsDAO().getMyGroups(memberID); 903 904 request.setAttribute("MemberBean", member); 905 request.setAttribute("MemberGroups", groups); 906 request.setAttribute("Permissions", thisPermission); 907 } 908 909 public void prepareChangePassword(GenericRequest request ) 910 throws DatabaseException, AuthenticationException, AssertionException, 911 ObjectNotFoundException, BadInputException { 912 913 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 914 MVNForumPermission permission = onlineUser.getPermission(); 915 permission.ensureCanAdminSystem(); 916 917 Locale locale = I18nUtil.getLocaleInRequest(request); 918 if ( ! MVNForumConfig.getEnableAdminCanChangePassword()) { 919 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.admin_can_change_password_is_disabled"); 920 throw new AssertionException(localizedMessage); 921 } 923 int memberID = GenericParamUtil.getParameterInt(request, "memberid"); 924 925 if ( memberID == MVNForumConstant.MEMBER_ID_OF_ADMIN ) { 926 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.cannot_change_root_password"); 927 throw new AssertionException(localizedMessage); 928 } 929 MemberBean memberBean = null; 930 try { 931 memberBean = DAOFactory.getMemberDAO().getMember_forPublic(memberID); 932 } catch (ObjectNotFoundException e) { 933 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 934 throw new ObjectNotFoundException(localizedMessage); 935 } 936 937 request.setAttribute("MemberBean", memberBean); 938 } 939 940 public void processChangePassword(GenericRequest request ) 941 throws DatabaseException, AuthenticationException, AssertionException, 942 ObjectNotFoundException, BadInputException { 943 944 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 945 MVNForumPermission permission = onlineUser.getPermission(); 946 permission.ensureCanAdminSystem(); 947 948 Locale locale = I18nUtil.getLocaleInRequest(request); 949 950 if ( ! MVNForumConfig.getEnableAdminCanChangePassword()) { 951 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.admin_can_change_password_is_disabled"); 952 throw new AssertionException(localizedMessage); 953 } 955 956 int memberID = GenericParamUtil.getParameterInt(request, "memberid"); 957 958 if ( memberID == MVNForumConstant.MEMBER_ID_OF_ADMIN ) { 959 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.AssertionException.cannot_change_root_password"); 960 throw new AssertionException(localizedMessage); 961 } 962 963 MyUtil.ensureCorrectCurrentPassword(request); 965 966 String password = GenericParamUtil.getParameterPassword(request, "MemberMatkhau", 3, 0); 967 String confirmword = GenericParamUtil.getParameterPassword(request, "MemberMatkhauConfirm", 3, 0); 968 if (!password.equals(confirmword)) { 969 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.confirmed_password_is_not_match"); 970 throw new BadInputException(localizedMessage); 971 } 973 password = Encoder.getMD5_Base64(password); 974 975 try { 976 DAOFactory.getMemberDAO().updatePassword(memberID, password); 977 } catch (ObjectNotFoundException e) { 978 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.ObjectNotFoundException.memberid_not_exists", new Object [] {new Integer (memberID)}); 979 throw new ObjectNotFoundException(localizedMessage); 980 } 981 982 request.setAttribute("MemberID", new Integer (memberID)); 983 } 984 985 public void prepareDeleteNonActivatedNoPostMembers(GenericRequest request) 986 throws DatabaseException, AuthenticationException, 987 AssertionException, BadInputException { 988 989 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 990 MVNForumPermission permission = onlineUser.getPermission(); 991 permission.ensureCanAdminSystem(); 992 993 int days = GenericParamUtil.getParameterUnsignedInt(request, "days"); 994 995 long delta = days * DateUtil.DAY; 996 Timestamp before = new Timestamp (DateUtil.getCurrentGMTTimestamp().getTime() - delta); 997 998 Collection members = DAOFactory.getMemberDAO().getNonActivatedNoPostMembers(before); 999 1000 request.setAttribute("DeleteMembers", members); 1001 } 1002 1003 public void processDeleteNonActivatedNoPostMembers(GenericRequest request) 1004 throws DatabaseException, ObjectNotFoundException, BadInputException, 1005 AuthenticationException, AssertionException { 1006 1007 OnlineUser onlineUser = onlineUserManager.getOnlineUser(request); 1008 MVNForumPermission permission = onlineUser.getPermission(); 1009 permission.ensureCanAdminSystem(); 1010 1011 Locale locale = I18nUtil.getLocaleInRequest(request); 1012 1013 MyUtil.ensureCorrectCurrentPassword(request); 1015 1016 int days = GenericParamUtil.getParameterUnsignedInt(request, "days"); 1017 1018 boolean deleteMessages = GenericParamUtil.getParameterBoolean(request, "deletesentmessages"); 1019 1020 long delta = days * DateUtil.DAY; 1021 Timestamp before = new Timestamp (DateUtil.getCurrentGMTTimestamp().getTime() - delta); 1022 1023 Collection members = DAOFactory.getMemberDAO().getNonActivatedNoPostMembers(before); 1024 1025 int deletedMembersCount = 0; 1026 for (Iterator iterator = members.iterator(); iterator.hasNext(); ) { 1027 MemberBean member = (MemberBean) iterator.next(); 1028 if ((member.getMemberID() != 0) && ( MyUtil.isRootAdminID(member.getMemberID()) == false)) { 1029 MemberWebHandler.deleteMember(member, deleteMessages, request, locale); 1030 deletedMembersCount++; 1031 } 1032 } 1033 log.debug("Total: Deleted " + deletedMembersCount + " members"); 1034 1035 request.setAttribute("DeletedMembersCount", new Integer (deletedMembersCount)); 1036 } 1037 1038 public static void deleteMember(MemberBean memberBean, boolean deleteSentMessages, GenericRequest request, Locale locale) 1039 throws DatabaseException, BadInputException, ObjectNotFoundException, AssertionException { 1040 1041 int memberID = memberBean.getMemberID(); 1042 if ((memberID==MVNForumConstant.MEMBER_ID_OF_ADMIN) || 1043 (memberID==0) || 1044 (memberID==MVNForumConstant.MEMBER_ID_OF_GUEST)) { 1045 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.cannot_delete_admin_or_guest"); 1046 throw new BadInputException(localizedMessage); 1047 } 1049 1050 if (memberBean.getMemberPostCount() > 0) { 1052 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.cannot_delete_member_has_a_post"); 1053 throw new BadInputException(localizedMessage); 1054 } 1056 1057 if (DAOFactory.getPostDAO().getNumberOfPosts_inMember(memberID) > 0) { 1059 String localizedMessage = MVNForumResourceBundle.getString(locale, "mvncore.exception.BadInputException.cannot_delete_member_has_a_post"); 1060 throw new BadInputException(localizedMessage); 1061 } 1063 1064 String memberName = memberBean.getMemberName(); 1066 1067 log.info("About to delete member with login = " + memberName + " and id = " + memberID + " with option deleteSentMessages = " + deleteSentMessages); 1068 1069 StringBuffer bufferPicFile = new StringBuffer (256); 1070 bufferPicFile.append(request.getRealPath(MVNForumGlobal.UPLOADED_AVATAR_DIR)); 1072 bufferPicFile.append(File.separatorChar).append(memberName).append(".jpg"); 1073 String picFile = bufferPicFile.toString(); 1074 1075 log.debug("Delete avatar = " + picFile); 1076 File file = new File (picFile); 1077 file.delete(); 1079 DAOFactory.getWatchDAO().delete_inMember(memberID); 1081 DAOFactory.getMemberForumDAO().delete_inMember(memberID); 1082 DAOFactory.getMemberGroupDAO().delete_inMember(memberID); 1083 DAOFactory.getMemberPermissionDAO().delete_inMember(memberID); 1084 DAOFactory.getFavoriteThreadDAO().delete_inMember(memberID); 1085 1086 PrivateMessageUtil.deleteMessageFoldersInDatabase(memberID); 1088 DAOFactory.getMessageStatisticsDAO().delete_inMember(memberID); 1089 if (deleteSentMessages) { 1090 DAOFactory.getMessageDAO().deleteSenderMessages(memberID); 1091 } 1092 1093 if (MVNForumConfig.getEnableCompany()) { 1095 DAOFactory.getMemberCompanyDAO().delete_inMember(memberID); 1096 DAOFactory.getMemberTutorDAO().deleteMembers_inTutor(memberID); 1097 try { 1098 DAOFactory.getMemberTutorDAO().delete(memberID); 1099 } catch (ObjectNotFoundException ex) { 1100 } 1102 } 1103 1104 DAOFactory.getMemberDAO().deleteByPrimaryKey(memberID); 1106 MemberIndexer.scheduleDeleteMemberTask(memberID); 1107 } 1108} 1109
| Popular Tags
|