1 28 29 30 package com.opencms.workplace; 31 32 import org.opencms.db.CmsUserSettings; 33 import org.opencms.file.CmsGroup; 34 import org.opencms.file.CmsObject; 35 import org.opencms.file.CmsRequestContext; 36 import org.opencms.file.CmsUser; 37 import org.opencms.main.CmsException; 38 import org.opencms.main.CmsLog; 39 import org.opencms.main.OpenCms; 40 41 import com.opencms.core.I_CmsSession; 42 import com.opencms.legacy.CmsLegacyException; 43 import com.opencms.legacy.CmsLegacySecurityException; 44 import com.opencms.legacy.CmsXmlTemplateLoader; 45 46 import java.util.Enumeration ; 47 import java.util.Hashtable ; 48 import java.util.List ; 49 import java.util.Vector ; 50 51 61 62 public class CmsAdminUsers extends CmsWorkplaceDefault { 63 64 74 75 private void changeGroups(CmsObject cms, CmsUser theUser, Vector newGroups) throws CmsException { 76 String username = theUser.getName(); 77 List oldGroups = cms.getGroupsOfUser(username); 78 List oldGroupnames = new Vector (); 79 80 cms.writeUser(theUser); theUser = cms.readUser(username); 82 if(oldGroups != null) { 83 for(int z = 0;z < oldGroups.size();z++) { 84 oldGroupnames.add(((CmsGroup)oldGroups.get(z)).getName()); 85 } 86 87 for(int z = 0;z < oldGroupnames.size();z++) { 89 String groupname = (String )oldGroupnames.get(z); 90 if(!newGroups.contains(groupname)) { 91 try { 92 cms.removeUserFromGroup(username, groupname); 93 }catch(CmsException e) { 94 } 96 } 97 } 98 } 99 if(newGroups != null) { 100 101 for(int z = 0;z < newGroups.size();z++) { 103 String groupname = (String )newGroups.elementAt(z); 104 if(!cms.userInGroup(username, groupname)) { 105 cms.addUserToGroup(username, groupname); 106 } 107 } 108 } 109 cms.writeUser(theUser); theUser = cms.readUser(username); 111 } 112 113 124 125 public byte[] getContent(CmsObject cms, String templateFile, String elementName, 126 Hashtable parameters, String templateSelector) throws CmsException { 127 128 if(CmsLog.getLog(this).isDebugEnabled() && C_DEBUG) { 129 CmsLog.getLog(this).debug("Getting content of element " + ((elementName==null)?"<root>":elementName)); 130 CmsLog.getLog(this).debug("Template file is: " + templateFile); 131 CmsLog.getLog(this).debug("Selected template section is: " + ((templateSelector==null)?"<default>":templateSelector)); 132 } 133 I_CmsSession session = CmsXmlTemplateLoader.getSession(cms.getRequestContext(), true); 134 CmsRequestContext reqCont = cms.getRequestContext(); 135 CmsXmlWpTemplateFile xmlTemplateDocument = new CmsXmlWpTemplateFile(cms, templateFile); 136 boolean userYetChanged = true; 137 boolean userYetEstablished = true; 138 139 String perspective = (String )parameters.get("perspective"); 141 if(perspective != null && perspective.equals("user")) { 142 session.removeValue("ERROR"); 143 if(CmsXmlTemplateLoader.getRequest(reqCont).getParameter("CHANGE") != null) { 144 145 perspective = "changeuser"; 147 userYetChanged = false; 148 }else { 149 if(CmsXmlTemplateLoader.getRequest(reqCont).getParameter("DELETE") != null) { 150 151 perspective = "deleteuser"; 153 }else { 154 if(CmsXmlTemplateLoader.getRequest(reqCont).getParameter("NEW") != null) { 155 156 perspective = "newuser"; 158 userYetEstablished = false; 159 } 160 } 161 } 162 } 163 if(perspective == null) { 164 165 perspective = new String ("user"); 167 } 168 if(perspective.equals("newuser") || perspective.equals("changeuser")) { 169 170 String firstname, desc, street, pwd, pwd2, user, userLastname, town, zipcode, 173 email, defaultGroup; 174 if(session.getValue("ERROR") == null) { 175 firstname = (String )parameters.get("USERFIRSTNAME"); 176 desc = (String )parameters.get("USERDESC"); 177 street = (String )parameters.get("USERSTREET"); 178 pwd = (String )parameters.get("PWD"); 179 pwd2 = (String )parameters.get("PWD2"); 180 user = (String )parameters.get("USER"); 181 userLastname = (String )parameters.get("USERNAME"); 182 town = (String )parameters.get("TOWN"); 183 zipcode = (String )parameters.get("ZIP"); 184 email = (String )parameters.get("USEREMAIL"); 185 defaultGroup = (String )parameters.get("DEFAULTGROUP"); 186 }else { 187 188 firstname = (String )session.getValue("USERFIRSTNAME"); 190 desc = (String )session.getValue("USERDESC"); 191 street = (String )session.getValue("USERSTREET"); 192 pwd = (String )session.getValue("PWD"); 193 pwd2 = (String )session.getValue("PWD2"); 194 user = (String )session.getValue("USER"); 195 userLastname = (String )session.getValue("USERNAME"); 196 town = (String )session.getValue("TOWN"); 197 zipcode = (String )session.getValue("ZIP"); 198 email = (String )session.getValue("USEREMAIL"); 199 defaultGroup = (String )session.getValue("DEFAULTGROUP"); 200 session.removeValue("ERROR"); 201 } 202 if(firstname == null) { 203 firstname = ""; 204 } 205 if(desc == null) { 206 desc = ""; 207 } 208 if(street == null) { 209 street = ""; 210 } 211 if(pwd == null) { 212 pwd = ""; 213 } 214 if(pwd2 == null) { 215 pwd2 = ""; 216 } 217 if(user == null) { 218 user = ""; 219 } 220 if(userLastname == null) { 221 userLastname = ""; 222 } 223 if(town == null) { 224 town = ""; 225 } 226 if(zipcode == null) { 227 zipcode = ""; 228 } 229 if(email == null) { 230 email = ""; 231 } 232 if(defaultGroup == null) { 233 defaultGroup = ""; 234 } 235 236 Vector selectedGroups = (Vector )session.getValue("selectedGroups"); 238 Vector notSelectedGroups = (Vector )session.getValue("notSelectedGroups"); 239 if(perspective.equals("newuser")) { 240 241 templateSelector = "newuser"; 243 if(!userYetEstablished) { 244 245 user = ""; 247 selectedGroups = new Vector (); 248 notSelectedGroups = new Vector (); 249 selectedGroups.addElement(OpenCms.getDefaultUsers().getGroupUsers()); List groups = cms.getGroups(); 251 for(int z = 0;z < groups.size();z++) { 252 String aName = ((CmsGroup)groups.get(z)).getName(); 253 if(!OpenCms.getDefaultUsers().getGroupUsers().equals(aName)) { 254 notSelectedGroups.addElement(aName); 255 } 256 } 257 session.putValue("selectedGroups", selectedGroups); 258 session.putValue("notSelectedGroups", notSelectedGroups); 259 } 260 if(CmsXmlTemplateLoader.getRequest(reqCont).getParameter("ADD") != null) { 261 262 String groupname = (String )parameters.get("notselectgroup"); 264 if(groupname != null) { 265 selectedGroups.addElement(groupname); 266 notSelectedGroups.removeElement(groupname); 267 } 268 session.putValue("selectedGroups", selectedGroups); 269 session.putValue("notSelectedGroups", notSelectedGroups); 270 }else { 271 if(CmsXmlTemplateLoader.getRequest(reqCont).getParameter("REMOVE") != null) { 272 273 String groupname = (String )parameters.get("selectgroup"); 276 if(groupname != null) { 277 notSelectedGroups.addElement(groupname); 278 selectedGroups.removeElement(groupname); 279 if(groupname.equals(defaultGroup)) { 280 defaultGroup = ""; 281 } 282 } 283 session.putValue("selectedGroups", selectedGroups); 284 session.putValue("notSelectedGroups", notSelectedGroups); 285 }else { 286 if(CmsXmlTemplateLoader.getRequest(reqCont).getParameter("OK") != null) { 287 288 try { 290 if(email.equals("") || userLastname.equals("") 291 || user.equals("")) { 292 throw new CmsLegacyException("user data missing", 293 CmsLegacyException.C_NO_USER); 294 } 295 if(!pwd.equals(pwd2)) { 296 throw new CmsLegacyException("unequal passwords", 297 CmsLegacyException.C_SECURITY_INVALID_PASSWORD); 298 } 299 cms.validatePassword(pwd); 301 302 Hashtable additionalInfo = new Hashtable (); 303 304 CmsUser newUser = cms.createUser(user, pwd, desc, additionalInfo); 307 newUser.setEmail(email); 308 newUser.setFirstname(firstname); 309 newUser.setLastname(userLastname); 310 newUser.setAddress(street); 311 newUser.setAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_ZIPCODE, zipcode); 312 newUser.setAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_CITY, town); 313 newUser.setAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_DEFAULTGROUP, defaultGroup); 314 for(int z = 0;z < selectedGroups.size();z++) { 315 String groupname = (String )selectedGroups.elementAt(z); 316 cms.addUserToGroup(user, groupname); 317 } 318 cms.writeUser(newUser); session.removeValue("selectedGroups"); 320 session.removeValue("notSelectedGroups"); 321 session.removeValue("ERROR"); 322 templateSelector = ""; }catch(CmsException e) { 324 325 session.putValue("ERROR", new String ("yes")); session.putValue("USERFIRSTNAME", firstname); 328 session.putValue("USERDESC", desc); 329 session.putValue("USERSTREET", street); 330 session.putValue("PWD", pwd); 331 session.putValue("PWD2", pwd2); 332 session.putValue("USER", user); 333 session.putValue("USERNAME", userLastname); 334 session.putValue("ZIP", zipcode); 335 session.putValue("TOWN", town); 336 session.putValue("USEREMAIL", email); 337 session.putValue("DEFAULTGROUP", defaultGroup); 338 if ((e instanceof CmsLegacySecurityException) && (((CmsLegacySecurityException)e).getType() == CmsLegacySecurityException.C_SECURITY_INVALID_PASSWORD)) { 339 if(e.getMessage().equals("unequal passwords")) { 340 templateSelector = "passworderror1"; 341 }else { 342 if(e.getMessage().equals("password too short")) { 343 templateSelector = "passworderror2"; 344 }else { 345 xmlTemplateDocument.setData("reasonOfError", e.getMessage()); 346 xmlTemplateDocument.setData("perspective", "newuser"); 347 templateSelector = "passworderror5"; 348 } 349 } 350 }else { 351 if ((e instanceof CmsLegacyException) && (((CmsLegacyException)e).getType() == CmsLegacyException.C_NO_GROUP)) { 352 templateSelector = "errornogroup1"; 353 }else { 354 if ((e instanceof CmsLegacyException) && (((CmsLegacyException)e).getType() == CmsLegacyException.C_NOT_FOUND && e.getMessage().equals("user data missing"))) { 355 templateSelector = "errordatamissing1"; 356 }else { 357 xmlTemplateDocument.setData("details", CmsException.getStackTraceAsString(e)); 359 templateSelector = "error"; 360 } 361 } 362 } 363 } } } 366 } 367 }else { 368 369 templateSelector = "changeuser"; 371 boolean disabled = false; 372 if(!userYetChanged) { 373 374 CmsUser theUser = cms.readUser(user); 377 if(theUser == null) { 378 throw new CmsLegacyException("user does not exist"); 379 } 380 firstname = theUser.getFirstname(); 381 desc = theUser.getDescription(); 382 street = theUser.getAddress(); 383 userLastname = theUser.getLastname(); 384 email = theUser.getEmail(); 385 disabled = !theUser.isEnabled(); 386 zipcode = (String )theUser.getAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_ZIPCODE); 387 town = (String )theUser.getAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_CITY); 388 defaultGroup = (String )theUser.getAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_DEFAULTGROUP); 389 List groups = cms.getDirectGroupsOfUser(user); 390 if(groups != null) { 391 selectedGroups = new Vector (); 392 for(int z = 0;z < groups.size();z++) { 393 selectedGroups.addElement(((CmsGroup)groups.get(z)).getName()); 394 } 395 }else { 396 throw new CmsLegacyException(CmsLegacyException.C_NO_GROUP); 397 } 398 groups = cms.getGroups(); 399 if(groups != null) { 400 notSelectedGroups = new Vector (); 401 for(int z = 0;z < groups.size();z++) { 402 String name = ((CmsGroup)groups.get(z)).getName(); 403 if(!selectedGroups.contains(name)) { 404 notSelectedGroups.addElement(name); 405 } 406 } 407 } 408 }else { 409 410 if((String )parameters.get("LOCK") != null) { 412 disabled = true; 413 } 414 if(CmsXmlTemplateLoader.getRequest(reqCont).getParameter("ADD") != null) { 415 416 String groupname = (String )parameters.get("notselectgroup"); 418 if(groupname != null) { 419 if(!selectedGroups.contains(groupname)){ 420 selectedGroups.addElement(groupname); 421 } 422 notSelectedGroups.removeElement(groupname); 423 } 424 }else { 425 if(CmsXmlTemplateLoader.getRequest(reqCont).getParameter("REMOVE") != null) { 426 427 String groupname = (String )parameters.get("selectgroup"); 430 if(groupname != null) { 431 if(!notSelectedGroups.contains(groupname)){ 432 notSelectedGroups.addElement(groupname); 433 if(groupname.equals(defaultGroup)) { 434 defaultGroup = ""; 435 } 436 } 437 selectedGroups.removeElement(groupname); 438 } 439 }else { 440 if(CmsXmlTemplateLoader.getRequest(reqCont).getParameter("OK") != null) { 441 442 try { 444 if(email.equals("") || userLastname.equals("") 445 || user.equals("")) { 446 throw new CmsLegacyException("user data missing", 447 CmsLegacyException.C_NO_USER); 448 } 449 if(!pwd.equals(pwd2)) { 450 throw new CmsLegacySecurityException("unequal passwords", 451 CmsLegacySecurityException.C_SECURITY_INVALID_PASSWORD); 452 } 453 if(!pwd.equals("")) { 454 cms.setPassword(user, pwd); 455 } CmsUser theUser = cms.readUser(user); 457 theUser.setEmail(email); 458 theUser.setDescription(desc); 459 theUser.setFirstname(firstname); 460 theUser.setLastname(userLastname); 461 theUser.setAddress(street); 462 theUser.setAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_ZIPCODE, zipcode); 463 theUser.setAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_CITY, town); 464 theUser.setAdditionalInfo(CmsUserSettings.ADDITIONAL_INFO_DEFAULTGROUP, defaultGroup); 465 if((OpenCms.getDefaultUsers().getUserAdmin().equals(theUser.getName())) 466 && (!selectedGroups.contains(OpenCms.getDefaultUsers().getGroupAdministrators()))) { 467 throw new CmsLegacyException("cant remove Admin from " 468 + OpenCms.getDefaultUsers().getGroupAdministrators(), CmsLegacyException.C_NOT_ADMIN); 469 } 470 if(disabled && selectedGroups.contains(OpenCms.getDefaultUsers().getGroupAdministrators())) { 471 throw new CmsLegacyException("disabled admin", 472 CmsLegacyException.C_NOT_ADMIN); 473 } 474 theUser.setEnabled(!disabled); 475 changeGroups(cms, theUser, selectedGroups); 476 session.removeValue("selectedGroups"); 477 session.removeValue("notSelectedGroups"); 478 session.removeValue("DEFAULTGROUP"); 479 session.removeValue("ERROR"); 480 templateSelector = ""; }catch(CmsException e) { 482 session.putValue("ERROR", new String ("yes")); session.putValue("USERFIRSTNAME", firstname); 484 session.putValue("USERDESC", desc); 485 session.putValue("USERSTREET", street); 486 session.putValue("PWD", pwd); 487 session.putValue("PWD2", pwd2); 488 session.putValue("USER", user); 489 session.putValue("USERNAME", userLastname); 490 session.putValue("ZIP", zipcode); 491 session.putValue("TOWN", town); 492 session.putValue("USEREMAIL", email); 493 session.putValue("DEFAULTGROUP", defaultGroup); 494 if ((e instanceof CmsLegacySecurityException) && (((CmsLegacySecurityException)e).getType() == CmsLegacyException.C_SECURITY_INVALID_PASSWORD)) { 495 if(e.getMessage().equals("unequal passwords")) { 496 templateSelector = "passworderror3"; 497 }else { 498 if(e.getMessage().equals("password too short")) { 499 templateSelector = "passworderror4"; 500 }else { 501 xmlTemplateDocument.setData("reasonOfError", e.getMessage()); 502 xmlTemplateDocument.setData("perspective", "changeuser"); 503 templateSelector = "passworderror5"; 504 } 505 } 506 }else { 507 if ((e instanceof CmsLegacyException) && (((CmsLegacyException)e).getType() == CmsLegacyException.C_NO_GROUP)) { 508 templateSelector = "errornogroup2"; 509 }else { 510 if ((e instanceof CmsLegacyException) && (((CmsLegacyException)e).getType() == CmsLegacyException.C_NO_USER && e.getMessage().equals("user data missing"))) { 511 templateSelector = "errordatamissing2"; 512 }else { 513 if ((e instanceof CmsLegacyException) && (((CmsLegacyException)e).getType() == CmsLegacyException.C_NOT_ADMIN && e.getMessage().equals("disabled admin"))) { 514 templateSelector = "errordisabledadmin"; 515 }else { 516 session.putValue("ERROR", new String ("yes")); 517 throw e; } 519 } 520 } 521 } 522 } } } 525 } 526 } session.putValue("selectedGroups", selectedGroups); 528 session.putValue("notSelectedGroups", notSelectedGroups); 529 session.putValue("DEFAULTGROUP", defaultGroup); 530 xmlTemplateDocument.setData("DISABLED", disabled ? "checked" : ""); 531 } 532 533 if(firstname == null) { 536 firstname = ""; 537 } 538 if(desc == null) { 539 desc = ""; 540 } 541 if(street == null) { 542 street = ""; 543 } 544 if(pwd == null) { 545 pwd = ""; 546 } 547 if(pwd2 == null) { 548 pwd2 = ""; 549 } 550 if(user == null) { 551 user = ""; 552 } 553 if(userLastname == null) { 554 userLastname = ""; 555 } 556 if(town == null) { 557 town = ""; 558 } 559 if(zipcode == null) { 560 zipcode = ""; 561 } 562 if(email == null) { 563 email = ""; 564 } 565 xmlTemplateDocument.setData("USERFIRSTNAME", firstname); 566 xmlTemplateDocument.setData("USERDESC", desc); 567 xmlTemplateDocument.setData("USERSTREET", street); 568 xmlTemplateDocument.setData("PWD", pwd); 569 xmlTemplateDocument.setData("PWD2", pwd2); 570 xmlTemplateDocument.setData("USER", user); 571 xmlTemplateDocument.setData("USERNAME", userLastname); 572 xmlTemplateDocument.setData("TOWN", town); 573 xmlTemplateDocument.setData("ZIP", zipcode); 574 xmlTemplateDocument.setData("EMAIL", email); 575 } else { 577 if(perspective.equals("deleteuser")) { 578 String user = (String )parameters.get("USER"); 579 xmlTemplateDocument.setData("USER", user); 580 templateSelector = "RUsureDelete"; 581 }else { 582 if(perspective.equals("reallydeleteuser")) { 583 584 String user = (String )parameters.get("USER"); 586 try { 587 cms.deleteUser(user); 588 templateSelector = ""; 589 }catch(Exception e) { 590 591 xmlTemplateDocument.setData("DELETEDETAILS", CmsException.getStackTraceAsString(e)); 593 templateSelector = "deleteerror"; 594 } 595 } } 597 } 598 599 return startProcessing(cms, xmlTemplateDocument, elementName, parameters, 601 templateSelector); 602 } 603 604 618 619 public Integer getGroups(CmsObject cms, CmsXmlLanguageFile lang, Vector names, 620 Vector values, Hashtable parameters) throws CmsException { 621 622 List groups = cms.getGroups(); 624 int retValue = -1; 625 626 for(int z = 0;z < groups.size();z++) { 628 String name = ((CmsGroup)groups.get(z)).getName(); 629 if(OpenCms.getDefaultUsers().getGroupUsers().equals(name)) { 630 retValue = z; 631 } 632 names.addElement(name); 633 values.addElement(name); 634 } 635 return new Integer (retValue); 636 } 637 638 651 652 public Integer getGroupsOfUser(CmsObject cms, CmsXmlLanguageFile lang, Vector names, 653 Vector values, Hashtable parameters) throws CmsException { 654 I_CmsSession session = CmsXmlTemplateLoader.getSession(cms.getRequestContext(), true); 655 String defaultGroup = (String )session.getValue("DEFAULTGROUP"); 656 if(defaultGroup == null) { 657 defaultGroup = ""; 658 } 659 getSelectedGroups(cms, lang, names, values, parameters); 660 getIndirectGroups(cms, lang, names, values, parameters); 661 return new Integer (names.indexOf(defaultGroup)); 662 } 663 664 678 679 public Integer getIndirectGroups(CmsObject cms, CmsXmlLanguageFile lang, Vector names, 680 Vector values, Hashtable parameters) throws CmsException { 681 I_CmsSession session = CmsXmlTemplateLoader.getSession(cms.getRequestContext(), true); 682 Vector selectedGroups = (Vector )session.getValue("selectedGroups"); 683 Vector indirectGroups = new Vector (); 684 String groupname, superGroupName; 685 CmsGroup superGroup; 686 if(selectedGroups != null) { 687 688 Enumeration enu = selectedGroups.elements(); 690 while(enu.hasMoreElements()) { 691 groupname = (String )enu.nextElement(); 692 superGroup = cms.getParent(groupname); 693 while((superGroup != null) && (!indirectGroups.contains(superGroup.getName()))) { 694 superGroupName = superGroup.getName(); 695 indirectGroups.addElement(superGroupName); 696 697 superGroup = cms.getParent(superGroupName); 699 } 700 } 701 702 for(int z = 0;z < selectedGroups.size();z++) { 704 String name = (String )selectedGroups.elementAt(z); 705 indirectGroups.removeElement(name); 706 } 707 } 708 for(int z = 0;z < indirectGroups.size();z++) { 709 String name = (String )indirectGroups.elementAt(z); 710 names.addElement(name); 711 values.addElement(name); 712 } 713 return new Integer (-1); } 715 716 730 731 public Integer getNotSelectedGroups(CmsObject cms, CmsXmlLanguageFile lang, Vector names, 732 Vector values, Hashtable parameters) throws CmsException { 733 int retValue = -1; 734 I_CmsSession session = CmsXmlTemplateLoader.getSession(cms.getRequestContext(), true); 735 Vector notSelectedGroups = (Vector )session.getValue("notSelectedGroups"); 736 if(notSelectedGroups != null) { 737 738 for(int z = 0;z < notSelectedGroups.size();z++) { 740 String name = (String )notSelectedGroups.elementAt(z); 741 if(OpenCms.getDefaultUsers().getGroupUsers().equals(name)) { 742 retValue = z; 743 } 744 names.addElement(name); 745 values.addElement(name); 746 } 747 } 748 749 return new Integer (retValue); 751 } 752 753 767 768 public Integer getSelectedGroups(CmsObject cms, CmsXmlLanguageFile lang, Vector names, 769 Vector values, Hashtable parameters) throws CmsException { 770 int retValue = -1; 771 I_CmsSession session = CmsXmlTemplateLoader.getSession(cms.getRequestContext(), true); 772 String defaultGroup = (String )session.getValue("DEFAULTGROUP"); 773 if(defaultGroup == null) { 774 defaultGroup = ""; 775 } 776 Vector selectedGroups = (Vector )session.getValue("selectedGroups"); 777 if(selectedGroups != null) { 778 for(int z = 0;z < selectedGroups.size();z++) { 779 String name = (String )selectedGroups.elementAt(z); 780 if(name.equals(defaultGroup)) { 781 retValue = z; 782 } 783 names.addElement(name); 784 values.addElement(name); 785 } 786 }else { 787 selectedGroups = new Vector (); 788 } 789 return new Integer (retValue); 790 } 791 792 806 807 public Integer getUsers(CmsObject cms, CmsXmlLanguageFile lang, Vector names, 808 Vector values, Hashtable parameters) throws CmsException { 809 810 List users = cms.getUsers(); 812 int retValue = -1; 813 String firsname; 814 String lastname; 815 String username; 816 String nameToShow; 817 818 for(int z = 0;z < users.size();z++) { 820 firsname = ((CmsUser)users.get(z)).getFirstname(); 821 lastname = ((CmsUser)users.get(z)).getLastname(); 823 username = ((CmsUser)users.get(z)).getName(); 824 nameToShow = username + " - " + firsname + " " + lastname; 825 names.addElement(nameToShow); 827 values.addElement(username); 828 } 829 if(users.size() > 0) { 830 retValue = 0; } 832 return new Integer (retValue); 833 834 835 } 836 837 845 public Boolean isVisible(CmsObject cms, CmsXmlLanguageFile lang, Hashtable parameters) { 846 return new Boolean (OpenCms.getWorkplaceManager().showUserGroupIcon()); 847 } 848 849 859 860 public boolean isCacheable(CmsObject cms, String templateFile, String elementName, 861 Hashtable parameters, String templateSelector) { 862 return false; 863 } 864 } 865
| Popular Tags
|