1 package com.dotmarketing.util; 2 3 import java.util.ArrayList ; 4 import java.util.Iterator ; 5 import java.util.List ; 6 7 import javax.portlet.WindowState; 8 import javax.servlet.http.HttpServletRequest ; 9 10 import org.apache.commons.beanutils.BeanUtils; 11 12 import com.dotmarketing.beans.Identifier; 13 import com.dotmarketing.beans.Inode; 14 import com.dotmarketing.beans.WebAsset; 15 import com.dotmarketing.factories.IdentifierFactory; 16 import com.dotmarketing.factories.InodeFactory; 17 import com.dotmarketing.factories.RoleFactory; 18 import com.dotmarketing.factories.WebAssetFactory; 19 import com.dotmarketing.portlets.categories.factories.CategoryFactory; 20 import com.dotmarketing.portlets.categories.model.Category; 21 import com.dotmarketing.portlets.containers.model.Container; 22 import com.dotmarketing.portlets.contentlet.factories.ContentletFactory; 23 import com.dotmarketing.portlets.contentlet.model.Contentlet; 24 import com.dotmarketing.portlets.contentlet.struts.ContentletForm; 25 import com.dotmarketing.portlets.entities.factories.EntityFactory; 26 import com.dotmarketing.portlets.entities.model.Entity; 27 import com.dotmarketing.portlets.events.model.Event; 28 import com.dotmarketing.portlets.events.model.Recurance; 29 import com.dotmarketing.portlets.files.model.File; 30 import com.dotmarketing.portlets.htmlpages.model.HTMLPage; 31 import com.dotmarketing.portlets.languagesmanager.factories.LanguageFactory; 32 import com.dotmarketing.portlets.languagesmanager.model.Language; 33 import com.dotmarketing.portlets.links.model.Link; 34 import com.dotmarketing.portlets.structure.factories.StructureFactory; 35 import com.dotmarketing.portlets.structure.model.Structure; 36 import com.dotmarketing.portlets.templates.factories.TemplateFactory; 37 import com.dotmarketing.portlets.templates.model.Template; 38 import com.liferay.portal.model.User; 39 import com.liferay.portal.util.Constants; 40 41 public class UtilHTML { 42 43 public static String getStatusIcons(WebAsset webasset, String COMMON_IMG, boolean showWorking) { 44 return getStatusIcons(webasset.isLive(), webasset.isWorking(), webasset.isDeleted(), webasset.isLocked(), 45 COMMON_IMG, showWorking); 46 } 47 48 public static String getStatusIcons(boolean live, boolean working, boolean deleted, boolean locked, 49 String COMMON_IMG, boolean showWorking) { 50 StringBuffer strHTML = new StringBuffer (); 51 strHTML.append("<table cellpadding=0 cellspacing=0 width=67><tr>"); 52 strHTML.append("<td valign=middle width=16>"); 53 54 if (live) { 55 strHTML.append("<img SRC=\"" + COMMON_IMG + "/trees/live.gif\" width=16 alt=live>"); 56 } 57 58 strHTML.append("</td><td width=1></td>"); 59 60 if ((showWorking) && (working)) { 61 strHTML.append("<td valign=middle width=16>"); 62 strHTML.append("<img SRC=\"" + COMMON_IMG + "/trees/working.gif\" width=16 alt=working>"); 63 strHTML.append("</td><td width=1></td>"); 64 } 65 66 strHTML.append("<td valign=middle width=16>"); 67 68 if (deleted) { 69 strHTML.append("<img SRC=\"" + COMMON_IMG + "/trees/deleted.gif\" width=16 alt=deleted>"); 70 } 71 72 strHTML.append("</td><td width=1></td><td valign=middle width=16>"); 73 74 if (locked) { 75 strHTML.append("<img SRC=\"" + COMMON_IMG + "/trees/locked.gif\" width=16 alt=locked>"); 76 } 77 78 strHTML.append("</td></tr></table>"); 79 80 return strHTML.toString(); 81 } 82 83 public static String getAssetIcon(WebAsset webasset) { 84 String imgSrc = ""; 85 86 if (webasset instanceof Container) { 87 imgSrc = "/portal/images/icons/entry12.gif"; 88 } else if (webasset instanceof Template) { 89 imgSrc = "/portal/images/icons/entry13.gif"; 90 } else if (webasset instanceof Link) { 91 imgSrc = "/portal/images/icons/entry16.gif"; 92 } else if (webasset instanceof Contentlet) { 93 imgSrc = "/portal/images/icons/entry14.gif"; 94 } else if (webasset instanceof File) { 95 imgSrc = "/icon?i=" + ((File) webasset).getFileName(); 96 } else if (webasset instanceof HTMLPage) { 97 imgSrc = "/portal/images/icons/entry15.gif"; 98 } 99 100 return "<img SRC=\"" + imgSrc + "\">"; 101 } 102 103 public static String getSelectCategories(Inode parent, int level, Inode current) { 104 105 level++; 106 Logger.debug(UtilHTML.class, "getSelectCategories!!!"); 107 108 List categories = (parent == null) ? CategoryFactory.getTopLevelCategories() : CategoryFactory 109 .getChildrenCategories(parent); 110 111 StringBuffer strHTML = new StringBuffer (); 112 Iterator m = categories.iterator(); 113 114 while (m.hasNext()) { 115 Category cat = (Category) m.next(); 116 117 if (level == 1) { 118 strHTML.append("<option value=\"" + cat.getInode() + "\" class='topCat' "); 119 } else { 120 strHTML.append("<option value=\"" + cat.getInode() + "\""); 121 } 122 123 if (current != null) { 124 java.util.Iterator l = InodeFactory.getParentsOfClass(current, Category.class).iterator(); 125 126 while (l.hasNext()) { 127 Category disCat = (Category) l.next(); 128 129 if (cat.getInode() == disCat.getInode()) { 130 strHTML.append(" selected"); 131 } 132 } 133 } 134 135 strHTML.append(">"); 136 137 for (int k = 0; k < (level - 1); k++) { 138 strHTML.append(" "); 139 } 140 141 strHTML.append("+ "); 142 strHTML.append(cat.getCategoryName() + "</option>\n"); 143 144 if (CategoryFactory.getChildrenCategories(cat).size() > 0) { 145 strHTML.append(getSelectCategories(cat, level, current)); 146 } 147 } 148 149 return strHTML.toString(); 150 } 151 152 public static String getLanguagesIcons(HttpServletRequest request, Contentlet contentlet) { 153 StringBuffer strHTML = new StringBuffer (); 154 155 try { 156 List languages = LanguageFactory.getLanguages(); 157 Language defaultLang = LanguageFactory.getLanguage (Config.getStringProperty("DEFAULT_LANGUAGE_CODE"), 158 Config.getStringProperty("DEFAULT_LANGUAGE_COUNTRY_CODE")); 159 long langId = (request.getParameter("lang") != null) ? Long.parseLong(request.getParameter("lang")) : defaultLang.getId(); 160 161 Logger.debug(UtilHTML.class, "getLanguagesIcons :: langId=" + langId); 162 163 Identifier identifier = null; 164 165 if (contentlet.getInode() > 0) { 166 identifier = IdentifierFactory.getIdentifierByInode(contentlet); 167 Logger.debug(UtilHTML.class, "getLanguagesIcons :: Contentlet exists identifier = " 168 + identifier.getInode()); 169 } else { 170 Contentlet sibblingContentlet = (Contentlet) InodeFactory.getInode(request.getParameter("sibbling"), 171 Contentlet.class); 172 Logger.debug(UtilHTML.class, "getLanguagesIcons :: Sibbling Contentlet = " 173 + sibblingContentlet.getInode()); 174 identifier = IdentifierFactory.getIdentifierByInode(sibblingContentlet); 175 Logger.debug(UtilHTML.class, "getLanguagesIcons :: Contentlet doesn't exist identifier = " 176 + identifier.getInode()); 177 } 178 179 java.util.Map params = new java.util.HashMap (); 180 params.put("struts_action", new String [] { "/ext/contentlet/edit_contentlet" }); 181 params.put("cmd", new String [] { "edit" }); 182 183 if (request.getParameter("referer") != null) { 184 params.put("referer", new String [] { request.getParameter("referer") }); 185 } 186 187 if (request.getParameter("contentcontainer_inode") != null) { 189 params.put("contentcontainer_inode", new String [] { request.getParameter("contentcontainer_inode") }); 190 } 191 192 if (request.getParameter("htmlpage_inode") != null) { 194 params.put("htmlpage_inode", new String [] { request.getParameter("htmlpage_inode") }); 195 } 196 197 if (contentlet.getInode() > 0) { 198 params.put("sibbling", new String [] { contentlet.getInode() + "" }); 199 } else { 200 params.put("sibbling", new String [] { (request.getParameter("sibbling") != null) ? request 201 .getParameter("sibbling") : "0" }); 202 } 203 204 if (contentlet.getInode() > 0) { 205 206 Structure structure = contentlet.getStructure(); 207 params.put("sibblingStructure", new String [] { ""+structure.getInode() }); 208 }else if(UtilMethods.isSet(request.getParameter("selectedStructure"))){ 209 params.put("sibblingStructure", new String [] { request.getParameter("selectedStructure")}); 210 211 }else if(UtilMethods.isSet(request.getParameter("sibblingStructure"))){ 212 params.put("sibblingStructure", new String [] { request.getParameter("sibblingStructure")}); 213 } else { 214 params.put("sibblingStructure", new String [] { (request.getParameter("selectedStructureFake") != null) ? request 215 .getParameter("selectedStructureFake") : "0" }); 216 } 217 218 String editURL = com.dotmarketing.util.PortletURLUtil.getActionURL(request, WindowState.MAXIMIZED 219 .toString(), params); 220 221 Iterator m = languages.iterator(); 222 223 while (m.hasNext()) { 224 Language language = (Language) m.next(); 225 Logger.debug(UtilHTML.class, "getLanguagesIcons :: Checking language=" + language.getId() + " code=" 226 + language.getLanguageCode()); 227 228 Contentlet langContentlet = ContentletFactory.getContentletForLanguage(language.getId(), identifier); 229 Logger.debug(UtilHTML.class, "getLanguagesIcons :: Checking language Contentlet=" 230 + langContentlet.getInode()); 231 232 if (((contentlet.getInode() > 0) && (language.getId() != contentlet.getLanguageId())) 233 || ((contentlet.getInode() == 0) && (langId != language.getId()))) { 234 strHTML.append("<a HREF=\"" + editURL + "&inode=" + langContentlet.getInode() + "&lang=" 235 + language.getId() + "\">\n"); 236 strHTML.append("<img style='vertical-align: middle;' border=0 alt=\"" + language.getLanguage() 237 + "\" SRC=\"/portal/images/languages/" + language.getLanguageCode() + "_" 238 + language.getCountryCode() + ".gif\"></a>\n"); 239 strHTML.append(" \n"); 240 } else { 241 strHTML.append("<img style='vertical-align: middle;' border=0 alt=\"" + language.getLanguage() 242 + "\" SRC=\"/portal/images/languages/" + language.getLanguageCode() + "_" 243 + language.getCountryCode() + "_gray.gif\">\n"); 244 strHTML.append(" \n"); 245 } 246 } 247 } catch (Exception e) { 248 Logger.error(UtilHTML.class, e.toString(), e); 249 } 250 251 return strHTML.toString(); 252 } 253 254 public static String getSelectLanguages(Contentlet contentlet) { 255 List languages = LanguageFactory.getLanguages(); 256 257 StringBuffer strHTML = new StringBuffer (); 258 Iterator m = languages.iterator(); 259 260 while (m.hasNext()) { 261 Language language = (Language) m.next(); 262 263 strHTML.append("<option value=\"" + language.getId() + "\""); 264 265 if (language.getId() == contentlet.getLanguageId()) { 266 strHTML.append(" selected"); 267 } 268 269 strHTML.append(">"); 270 271 strHTML.append(language.getLanguage() + " (" + language.getCountry() + ")</option>\n"); 272 } 273 274 return strHTML.toString(); 275 } 276 277 public static String getSelectCategories(Inode parent, int level, String currentCats) { 278 level++; 279 Logger.debug(UtilHTML.class, "getSelectCategories!!!"); 280 281 List categories = (parent == null) ? CategoryFactory.getTopLevelCategories() : CategoryFactory 282 .getChildrenCategories(parent); 283 284 StringBuffer strHTML = new StringBuffer (); 285 Iterator m = categories.iterator(); 286 287 while (m.hasNext()) { 288 Category cat = (Category) m.next(); 289 290 if (level == 1) { 291 strHTML.append("<option value=\"" + cat.getInode() + "\" class='topCat' "); 292 } else { 293 strHTML.append("<option value=\"" + cat.getInode() + "\""); 294 } 295 296 if (currentCats.indexOf(cat.getInode() + ",") != -1) { 297 Logger.debug(UtilHTML.class, "found the same objects!!!!"); 298 strHTML.append(" selected"); 299 } 300 301 strHTML.append(">"); 302 303 for (int k = 0; k < (level - 1); k++) { 304 strHTML.append(" "); 305 } 306 307 if (level != 0) 308 strHTML.append("+ "); 309 strHTML.append(cat.getCategoryName() + "</option>\n"); 310 311 if (CategoryFactory.getChildrenCategories(cat).size() > 0) { 312 strHTML.append(getSelectCategories(cat, level, currentCats)); 313 } 314 } 315 316 return strHTML.toString(); 317 } 318 319 public static String getSelectCategoriesTextMode(Inode parent, int level, String currentCats) { 320 level++; 321 Logger.debug(UtilHTML.class, "getSelectCategories!!!"); 322 323 List categories = (parent == null) ? CategoryFactory.getTopLevelCategories() : CategoryFactory 324 .getChildrenCategories(parent); 325 326 StringBuffer strHTML = new StringBuffer (); 327 Iterator m = categories.iterator(); 328 329 while (m.hasNext()) { 330 Category cat = (Category) m.next(); 331 332 if (currentCats.indexOf(cat.getInode() + ",") != -1) { 333 Logger.debug(UtilHTML.class, "found the same objects!!!!"); 334 strHTML.append("<tr><td>"); 335 strHTML.append(cat.getCategoryName()); 336 strHTML.append("</td></tr>"); 337 } 338 if (CategoryFactory.getChildrenCategories(cat).size() > 0) { 339 strHTML.append(getSelectCategoriesTextMode(cat, level, currentCats)); 340 } 341 } 342 return strHTML.toString(); 343 } 344 345 public static String getSelectCategories(Inode parent, int level, String [] currentCats) { 346 StringBuffer buffer = new StringBuffer (); 347 if (currentCats != null) { 348 for (int i = 0; i < currentCats.length; i++) { 349 buffer.append(currentCats[i] + ","); 350 } 351 } 352 return getSelectCategories(parent, level, buffer.toString()); 353 } 354 355 public static String getSelectCategoriesTextMode(Inode parent, int level, String [] currentCats) { 356 StringBuffer buffer = new StringBuffer (); 357 if (currentCats != null) { 358 for (int i = 0; i < currentCats.length; i++) { 359 buffer.append(currentCats[i] + ","); 360 } 361 } 362 return getSelectCategoriesTextMode(parent, level, buffer.toString()); 363 } 364 365 public static String getSelectTemplates(com.liferay.portal.model.User user, long templateInode) { 366 StringBuffer strBuffer = new StringBuffer (); 367 String condition = "working=" + com.dotmarketing.db.DbConnectionFactory.getDBTrue() + " and deleted=" 368 + com.dotmarketing.db.DbConnectionFactory.getDBFalse(); 369 370 try { 372 com.liferay.portal.model.Role[] roles = (com.liferay.portal.model.Role[]) RoleFactory.getAllRolesForUser( 373 user.getUserId()).toArray(new com.liferay.portal.model.Role[0]); 374 int limit = WebAssetFactory.getCountAssetsPerConditionWithPermission(condition, Template.class, roles); 375 int offset = 0; 376 String orderby = "title"; 377 java.util.List templates = WebAssetFactory.getAssetsAndPermissionsPerRoleAndCondition(roles, condition, 378 limit, offset, orderby, Template.class, "template"); 379 380 java.util.Iterator templatesIter = templates.iterator(); 383 384 while (templatesIter.hasNext()) { 385 com.dotmarketing.beans.PermissionAsset permAsset = (com.dotmarketing.beans.PermissionAsset) templatesIter 386 .next(); 387 388 Template template = (Template) permAsset.getAsset(); 390 391 if (template.getInode() == templateInode) { 392 strBuffer.append("<option selected value=\"" + template.getInode() + "\">" + template.getTitle() 393 + "</option>"); 394 } else { 395 strBuffer.append("<option value=\"" + template.getInode() + "\">" + template.getTitle() 396 + "</option>"); 397 } 398 } 399 } catch (Exception e) { 400 } 401 402 return strBuffer.toString(); 403 } 404 405 public static String getSelectTemplates(long templateInode) { 406 StringBuffer strBuffer = new StringBuffer (); 407 String condition = "working=" + com.dotmarketing.db.DbConnectionFactory.getDBTrue() + " and deleted=" 408 + com.dotmarketing.db.DbConnectionFactory.getDBFalse(); 409 410 try { 412 java.util.List templates = TemplateFactory.getTemplateByCondition(condition); 413 java.util.Iterator templatesIter = templates.iterator(); 414 415 while (templatesIter.hasNext()) { 416 Template template = (Template) templatesIter.next(); 418 419 if (template.getInode() == templateInode) { 420 strBuffer.append("<option selected value=\"" + template.getInode() + "\">" + template.getTitle() 421 + "</option>"); 422 } else { 423 strBuffer.append("<option value=\"" + template.getInode() + "\">" + template.getTitle() 424 + "</option>"); 425 } 426 } 427 } catch (Exception e) { 428 } 429 430 return strBuffer.toString(); 431 } 432 433 public static String getSelectCategories(Inode current) { 434 return getSelectCategories(null, 0, current); 435 } 436 437 public static String getSelectCategories(long x) { 438 Category current = CategoryFactory.getCategory(x); 439 440 return getSelectCategories(null, 0, current); 441 } 442 443 public static String getSelectCategoriesByParent(Inode parent) { 444 Inode current = new Inode(); 445 Category parentCat = (Category) parent; 446 StringBuffer strHTML = new StringBuffer (); 447 strHTML.append("<option value=\"" + parent.getInode() + "\" class='topCat'>"); 448 strHTML.append(parentCat.getCategoryName() + "</option>\n"); 449 strHTML.append(getSelectCategories(parent, 1, current)); 450 451 return strHTML.toString(); 452 } 453 454 public static String getSelectCategories(Inode parent, int level, Inode current, int maxlevel) { 455 ArrayList idList = new ArrayList (); 456 if (current instanceof Category) { 457 idList.add(Long.toString(current.getInode())); 458 } else { 459 List cats = InodeFactory.getParentsOfClass(current, Category.class); 460 Iterator it = cats.iterator(); 461 while (it.hasNext()) { 462 Category cat = (Category) it.next(); 463 idList.add(Long.toString(cat.getInode())); 464 } 465 } 466 String [] catsArr = (String []) idList.toArray(new String [0]); 467 return getSelectCategories(parent, level, catsArr, maxlevel); 468 } 469 470 public static String getSelectCategories(Inode parent, int level, String [] selectedCategoriesIds, int maxlevel) { 471 level++; 472 473 List categories = (parent == null) ? CategoryFactory.getTopLevelCategories() : CategoryFactory 474 .getChildrenCategories(parent); 475 476 StringBuffer strHTML = new StringBuffer (); 477 Iterator m = categories.iterator(); 478 479 while (m.hasNext()) { 480 Category cat = (Category) m.next(); 481 482 if (level == 1) { 483 strHTML.append("<option value=\"" + cat.getInode() + "\" class=\"topCat\" "); 484 } else { 485 strHTML.append("<option value=\"" + cat.getInode() + "\""); 486 } 487 488 if (selectedCategoriesIds != null) { 489 for (int i = 0; i < selectedCategoriesIds.length; i++) { 490 String id = selectedCategoriesIds[i]; 491 if (cat.getInode() == Long.parseLong(id)) { 492 strHTML.append(" selected"); 493 494 } 495 } 496 } 497 498 strHTML.append(">"); 499 500 for (int k = 0; k < (level - 1); k++) { 501 strHTML.append(" "); 502 } 503 504 strHTML.append("+ "); 505 strHTML.append(cat.getCategoryName() + "</option>"); 506 507 if (level <= maxlevel && CategoryFactory.getChildrenCategories(cat).size() > 0) { 508 strHTML.append(getSelectCategories(cat, level, selectedCategoriesIds, maxlevel)); 509 } 510 } 511 512 return strHTML.toString(); 513 } 514 515 public static String recuranceToString(com.dotmarketing.portlets.events.model.Recurance r) { 517 if (r == null || r.getInode() == 0) 518 return "Once"; 519 520 String plural = (r.getInterval() < 2) ? r.getOccurs() : r.getInterval() + " " + r.getOccurs() + "s"; 521 522 StringBuffer days = new StringBuffer (""); 523 if (r.getOccurs() != null && r.getOccurs().equals("week") && r.getDaysOfWeek() != null 524 && r.getDaysOfWeek().length() > 0) { 525 days.append(" - "); 526 if (r.getDaysOfWeek().indexOf("0") > -1) 527 days.append("Sun "); 528 if (r.getDaysOfWeek().indexOf("1") > -1) 529 days.append("Mon "); 530 if (r.getDaysOfWeek().indexOf("2") > -1) 531 days.append("Tue "); 532 if (r.getDaysOfWeek().indexOf("3") > -1) 533 days.append("Wed "); 534 if (r.getDaysOfWeek().indexOf("4") > -1) 535 days.append("Thr "); 536 if (r.getDaysOfWeek().indexOf("5") > -1) 537 days.append("Fri "); 538 if (r.getDaysOfWeek().indexOf("6") > -1) 539 days.append("Sat"); 540 541 } 542 543 return "Every " + plural + days + " from " + UtilMethods.dateToHTMLDate(r.getStarting()) + " to " 544 + UtilMethods.dateToHTMLDate(r.getEnding()); 545 546 } 547 548 public static String recuranceToString(Event e, Recurance r) { 549 if (r == null || r.getInode() == 0) 550 return "Once"; 551 552 String plural = (r.getInterval() < 2) ? r.getOccurs() : r.getInterval() + " " + r.getOccurs() + "s"; 553 554 StringBuffer days = new StringBuffer (""); 555 if (r.getOccurs() != null && r.getOccurs().equals("week") && r.getDaysOfWeek() != null 556 && r.getDaysOfWeek().length() > 0) { 557 days.append(" - "); 558 if (r.getDaysOfWeek().indexOf("1") > -1) 559 days.append("Sun "); 560 if (r.getDaysOfWeek().indexOf("2") > -1) 561 days.append("Mon "); 562 if (r.getDaysOfWeek().indexOf("3") > -1) 563 days.append("Tue "); 564 if (r.getDaysOfWeek().indexOf("4") > -1) 565 days.append("Wed "); 566 if (r.getDaysOfWeek().indexOf("5") > -1) 567 days.append("Thr "); 568 if (r.getDaysOfWeek().indexOf("6") > -1) 569 days.append("Fri "); 570 if (r.getDaysOfWeek().indexOf("7") > -1) 571 days.append("Sat"); 572 573 } 574 if (e.isTimeTBD()) 575 return "Every " + plural + days + " from <br>" 576 + UtilMethods.dateToHTMLDateTimeRange(r.getStarting(), r.getEnding()) + " at time TBD"; 577 else 578 return "Every " + plural + days + " from <br>" 579 + UtilMethods.dateToHTMLDateTimeRange(r.getStarting(), r.getEnding()) + " at " 580 + UtilMethods.dateToHTMLTimeRange(r.getStarting(), r.getEnding()); 581 } 582 583 602 public static String getCategoriesByEntityName(String parameterName, String entityName, String [] selectCatsString, 603 boolean displayTitle, boolean multipleValues, int size, boolean readonly) { 604 StringBuffer buffer = new StringBuffer (); 605 Entity entity = EntityFactory.getEntity(entityName); 607 List categories = EntityFactory.getEntityCategories(entity); 609 if (categories.size() > 0) { 610 buffer.append("<table>"); 611 buffer.append("<tr>"); 612 buffer.append("<td align='left' colspan='2'>"); 613 buffer.append("<table border='0'>"); 614 Iterator categoriesIterator = categories.iterator(); 615 while (categoriesIterator.hasNext()) { 617 Category category = (Category) categoriesIterator.next(); 618 int count = InodeFactory.countChildrenOfClass(category, Category.class); 619 if (count > 1) { 620 buffer.append("<tr>"); 621 if (displayTitle) { 622 buffer.append("<td valign='top'>"); 623 buffer.append(category.getCategoryName() + ":"); 624 buffer.append("</td>"); 625 } 626 buffer.append("<td align='left'>"); 627 String multiple = (multipleValues ? "multiple='multiple'" : ""); 628 int sizeAux = (size == -1 ? count - 1 : size); 629 String disabled = (readonly ? "disabled" : ""); 630 buffer.append("<select id'" + parameterName + "' name='" + parameterName + "' size='" + sizeAux 631 + "' " + multiple + " " + disabled + ">"); 632 buffer.append(getSelectCategories(category, -1, selectCatsString)); 633 buffer.append("</select>"); 634 buffer.append("</td>"); 635 buffer.append("</tr>"); 636 } 637 } 638 buffer.append("</table>"); 639 buffer.append("</td>"); 640 buffer.append("</tr>"); 641 buffer.append("</table>"); 642 } 643 return buffer.toString(); 644 } 645 646 public static String getCategoriesByEntityName(String parameterName, String entityName, long childInode, 647 boolean displayTitle, boolean multipleValues, int size, boolean readonly) { 648 String [] selectCatsString = new String [0]; 649 if (childInode != 0) { 651 Inode inode = InodeFactory.getInode(childInode, Inode.class); 652 List <Category> categories = InodeFactory.getParentsOfClass(inode, Category.class); 653 selectCatsString = new String [categories.size()]; 654 for (int i = 0; i < categories.size(); i++) { 655 selectCatsString[i] = Long.toString(categories.get(i).getInode()); 656 } 657 } 658 659 return getCategoriesByEntityName(parameterName, entityName, selectCatsString, displayTitle, multipleValues, 660 size, readonly); 661 } 662 663 } 664
| Popular Tags
|