diff --git a/src/main/java/org/olat/collaboration/CollaborationTools.java b/src/main/java/org/olat/collaboration/CollaborationTools.java index 71ab79f992be22c13917c478b68811b772b04d12..8991b42a74a545b3a57ed16bed226cbecd417e3b 100644 --- a/src/main/java/org/olat/collaboration/CollaborationTools.java +++ b/src/main/java/org/olat/collaboration/CollaborationTools.java @@ -562,7 +562,7 @@ public class CollaborationTools implements Serializable { } public Controller createOpenMeetingsController(final UserRequest ureq, WindowControl wControl, final BusinessGroup group, boolean admin) { - OpenMeetingsRunController runController = new OpenMeetingsRunController(ureq, wControl, group, null, null, null, admin, admin); + OpenMeetingsRunController runController = new OpenMeetingsRunController(ureq, wControl, group, null, null, admin, admin); return runController; } diff --git a/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFormController.java b/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFormController.java index 221a7e70927b74111d72bd8fc50421eb3d67696a..a447a6b3d7aba527bd3f32479d50e0211eb6b838 100644 --- a/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFormController.java +++ b/src/main/java/org/olat/core/commons/modules/bc/meta/MetaInfoFormController.java @@ -29,6 +29,7 @@ import java.util.Date; import java.util.HashSet; import java.util.Set; +import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; @@ -45,13 +46,13 @@ import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.generic.folder.FolderHelper; import org.olat.core.id.Identity; -import org.olat.core.id.UserConstants; import org.olat.core.util.FileUtils; import org.olat.core.util.StringHelper; import org.olat.core.util.vfs.OlatRelPathImpl; import org.olat.core.util.vfs.VFSConstants; import org.olat.core.util.vfs.VFSItem; import org.olat.core.util.vfs.VFSLeaf; +import org.olat.user.UserManager; /** * This is the metadata flexiform controller with or without upload capability. @@ -70,7 +71,8 @@ public class MetaInfoFormController extends FormBasicController { private SingleSelection locked; // Fields needed for upload dialog private boolean isSubform; - Set<FormItem> metaFields; + private Set<FormItem> metaFields; + private final UserManager userManager; /** * Use this controller for editing meta data of an existing file. @@ -84,6 +86,7 @@ public class MetaInfoFormController extends FormBasicController { this.item = item; // load the metainfo meta = MetaInfoFactory.createMetaInfoFor((OlatRelPathImpl) item); + userManager = CoreSpringFactory.getImpl(UserManager.class); initForm(ureq); } @@ -97,6 +100,7 @@ public class MetaInfoFormController extends FormBasicController { */ public MetaInfoFormController(UserRequest ureq, WindowControl control, Form parentForm) { super(ureq, control, FormBasicController.LAYOUT_DEFAULT, null, parentForm); + userManager = CoreSpringFactory.getImpl(UserManager.class); this.isSubform = true; initForm(ureq); } @@ -114,6 +118,7 @@ public class MetaInfoFormController extends FormBasicController { this.isSubform = true; this.item = vfsItem; this.meta = MetaInfoFactory.createMetaInfoFor((OlatRelPathImpl)vfsItem); + userManager = CoreSpringFactory.getImpl(UserManager.class); initForm(ureq); } @@ -153,7 +158,7 @@ public class MetaInfoFormController extends FormBasicController { // show metadata // and hide link setMetaFieldsVisible(true); - this.flc.setDirty(true); + flc.setDirty(true); moreMetaDataLink.setVisible(false); } } @@ -177,27 +182,28 @@ public class MetaInfoFormController extends FormBasicController { } // title - String t = StringHelper.escapeHtml(meta != null ? meta.getTitle() : null); - title = uifactory.addTextElement("title", "mf.title", -1, t, formLayout); + String titleVal = StringHelper.escapeHtml(meta != null ? meta.getTitle() : null); + title = uifactory.addTextElement("title", "mf.title", -1, titleVal, formLayout); // comment/description - comment = uifactory.addTextAreaElement("comment", "mf.comment", -1, 3, 1, true, (meta != null ? meta.getComment() : null), formLayout); + String commentVal = StringHelper.xssScan(meta != null ? meta.getComment() : null); + comment = uifactory.addTextAreaElement("comment", "mf.comment", -1, 3, 1, true, commentVal, formLayout); // creator - String c = StringHelper.escapeHtml(meta != null ? meta.getCreator() : null); - creator = uifactory.addTextElement("creator", "mf.creator", -1, c, formLayout); + String creatorVal = StringHelper.escapeHtml(meta != null ? meta.getCreator() : null); + creator = uifactory.addTextElement("creator", "mf.creator", -1, creatorVal, formLayout); // publisher - String p = StringHelper.escapeHtml(meta != null ? meta.getPublisher() : null); - publisher = uifactory.addTextElement("publisher", "mf.publisher", -1, p, formLayout); + String publisherVal = StringHelper.escapeHtml(meta != null ? meta.getPublisher() : null); + publisher = uifactory.addTextElement("publisher", "mf.publisher", -1, publisherVal, formLayout); // source/origin - String s = StringHelper.escapeHtml(meta != null ? meta.getSource() : null); - source = uifactory.addTextElement("source", "mf.source", -1, s, formLayout); + String sourceVal = StringHelper.escapeHtml(meta != null ? meta.getSource() : null); + source = uifactory.addTextElement("source", "mf.source", -1, sourceVal, formLayout); // city - String ci = StringHelper.escapeHtml(meta != null ? meta.getCity() : null); - city = uifactory.addTextElement("city", "mf.city", -1, ci, formLayout); + String cityVal = StringHelper.escapeHtml(meta != null ? meta.getCity() : null); + city = uifactory.addTextElement("city", "mf.city", -1, cityVal, formLayout); // publish date FormLayoutContainer publicationDate = FormLayoutContainer.createHorizontalFormLayout("publicationDateLayout", getTranslator()); @@ -205,22 +211,25 @@ public class MetaInfoFormController extends FormBasicController { formLayout.add(publicationDate); String[] pubDate = (meta != null ? meta.getPublicationDate() : new String[] { "", "" }); - publicationMonth = uifactory.addTextElement("publicationMonth", "mf.month", 2, pubDate[1], publicationDate); + publicationMonth = uifactory.addTextElement("publicationMonth", "mf.month", 2, StringHelper.escapeHtml(pubDate[1]), publicationDate); publicationMonth.setMaxLength(2); publicationMonth.setDisplaySize(2); - publicationYear = uifactory.addTextElement("publicationYear", "mf.year", 4, pubDate[0], publicationDate); + publicationYear = uifactory.addTextElement("publicationYear", "mf.year", 4, StringHelper.escapeHtml(pubDate[0]), publicationDate); publicationYear.setMaxLength(4); publicationYear.setDisplaySize(4); // number of pages - pages = uifactory.addTextElement("pages", "mf.pages", -1, (meta != null ? meta.getPages() : null), formLayout); + String pageVal = StringHelper.escapeHtml(meta != null ? meta.getPages() : null); + pages = uifactory.addTextElement("pages", "mf.pages", -1, pageVal, formLayout); // language - language = uifactory.addTextElement("language", "mf.language", -1, (meta != null ? meta.getLanguage() : null), formLayout); + String langVal = StringHelper.escapeHtml(meta != null ? meta.getLanguage() : null); + language = uifactory.addTextElement("language", "mf.language", -1, langVal, formLayout); // url/link - url = uifactory.addTextElement("url", "mf.url", -1, (meta != null ? meta.getUrl() : null), formLayout); + String urlVal = StringHelper.escapeHtml(meta != null ? meta.getUrl() : null); + url = uifactory.addTextElement("url", "mf.url", -1, urlVal, formLayout); /* static fields */ String sizeText, typeText; @@ -268,11 +277,11 @@ public class MetaInfoFormController extends FormBasicController { String lockedDetails = ""; if(lockedById != null) { Identity lockedIdentity = meta.getLockedByIdentity(); - String user = lockedIdentity.getUser().getProperty(UserConstants.LASTNAME, ureq.getLocale()) + " " + - lockedIdentity.getUser().getProperty(UserConstants.FIRSTNAME, ureq.getLocale()); + String user = userManager.getUserDisplayName(lockedIdentity); + user = StringHelper.escapeHtml(user); String date = ""; if (meta.getLockedDate() != null) { - date = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, ureq.getLocale()).format(meta.getLockedDate()); + date = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, getLocale()).format(meta.getLockedDate()); } lockedDetails = getTranslator().translate("mf.locked.description", new String[]{user, date}); } else { @@ -286,14 +295,14 @@ public class MetaInfoFormController extends FormBasicController { uifactory.addStaticTextElement("mf.author", author, formLayout); // filesize - uifactory.addStaticTextElement("mf.size", sizeText, formLayout); + uifactory.addStaticTextElement("mf.size", StringHelper.escapeHtml(sizeText), formLayout); // last modified date String lastModified = meta == null ? "" : StringHelper.formatLocaleDate(meta.getLastModified(), getLocale()); uifactory.addStaticTextElement("mf.lastModified", lastModified, formLayout); // file type - uifactory.addStaticTextElement("mf.type", typeText, formLayout); + uifactory.addStaticTextElement("mf.type", StringHelper.escapeHtml(typeText), formLayout); String downloads = meta == null ? "" : String.valueOf(meta.getDownloadCount()); uifactory.addStaticTextElement("mf.downloads", downloads, formLayout); diff --git a/src/main/java/org/olat/course/assessment/EfficiencyStatementController.java b/src/main/java/org/olat/course/assessment/EfficiencyStatementController.java index 5040a7319d2eac6aa902714786ed6e072fae2283..d491afa5f0d6414bc6a73f5991e88ff4c5f53607 100644 --- a/src/main/java/org/olat/course/assessment/EfficiencyStatementController.java +++ b/src/main/java/org/olat/course/assessment/EfficiencyStatementController.java @@ -143,10 +143,10 @@ public class EfficiencyStatementController extends BasicController { setTranslator(UserManager.getInstance().getPropertyHandlerTranslator(getTranslator())); userDataVC = createVelocityContainer("efficiencystatement"); if(efficiencyStatement != null) { - userDataVC.contextPut("courseTitle", efficiencyStatement.getCourseTitle()); + userDataVC.contextPut("courseTitle", StringHelper.escapeHtml(efficiencyStatement.getCourseTitle())); userDataVC.contextPut("date", StringHelper.formatLocaleDateTime(efficiencyStatement.getLastUpdated(), ureq.getLocale())); } else if(courseRepo != null) { - userDataVC.contextPut("courseTitle", courseRepo.getDisplayname()); + userDataVC.contextPut("courseTitle", StringHelper.escapeHtml(courseRepo.getDisplayname())); } if(courseRepoKey != null && links) { diff --git a/src/main/java/org/olat/course/nodes/OpenMeetingsCourseNode.java b/src/main/java/org/olat/course/nodes/OpenMeetingsCourseNode.java index 09fd2dad865d50abdcd2d40e7e65aa729bdae9cd..29c4cfec468bc8042695cc60aa7e740a93750a82 100644 --- a/src/main/java/org/olat/course/nodes/OpenMeetingsCourseNode.java +++ b/src/main/java/org/olat/course/nodes/OpenMeetingsCourseNode.java @@ -132,8 +132,7 @@ public class OpenMeetingsCourseNode extends AbstractAccessableCourseNode { // create run controller OLATResourceable ores = OresHelper.createOLATResourceableInstance(CourseModule.class, resourceId); - String courseTitle = userCourseEnv.getCourseEnvironment().getCourseTitle(); - Controller runCtr = new OpenMeetingsRunController(ureq, wControl, null, ores, getIdent(), courseTitle, admin, moderator); + Controller runCtr = new OpenMeetingsRunController(ureq, wControl, null, ores, getIdent(), admin, moderator); Controller controller = TitledWrapperHelper.getWrapper(ureq, wControl, runCtr, this, "o_openmeetings_icon"); return new NodeRunConstructionResult(controller); } @@ -147,7 +146,7 @@ public class OpenMeetingsCourseNode extends AbstractAccessableCourseNode { @Override public Controller createPeekViewRunController(UserRequest ureq, WindowControl wControl, UserCourseEnvironment userCourseEnv, NodeEvaluation ne) { - return new OpenMeetingsPeekViewController(ureq, wControl, userCourseEnv, getIdent()); + return new OpenMeetingsPeekViewController(ureq, wControl); } @Override diff --git a/src/main/java/org/olat/course/nodes/feed/FeedPeekviewController.java b/src/main/java/org/olat/course/nodes/feed/FeedPeekviewController.java index 36648cebf031ee24f0fd55d4f0e52e5ddb86ab91..8e2f8ee999983874c461492ec7e4ed98842f322a 100644 --- a/src/main/java/org/olat/course/nodes/feed/FeedPeekviewController.java +++ b/src/main/java/org/olat/course/nodes/feed/FeedPeekviewController.java @@ -33,6 +33,7 @@ import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.controller.BasicController; import org.olat.core.util.Formatter; +import org.olat.core.util.StringHelper; import org.olat.modules.webFeed.FeedSecurityCallback; import org.olat.modules.webFeed.FeedViewHelper; import org.olat.modules.webFeed.managers.FeedManager; @@ -98,7 +99,7 @@ public class FeedPeekviewController extends BasicController implements Controlle // add link to item // Add link to jump to course node Link nodeLink = LinkFactory.createLink("nodeLink_" + item.getGuid(), peekviewVC, this); - nodeLink.setCustomDisplayText(item.getTitle()); + nodeLink.setCustomDisplayText(StringHelper.escapeHtml(item.getTitle())); nodeLink.setCustomEnabledLinkCSS("b_with_small_icon_left o_feed_item_icon o_gotoNode"); nodeLink.setUserObject(item.getGuid()); } @@ -109,8 +110,7 @@ public class FeedPeekviewController extends BasicController implements Controlle allItemsLink.setCustomEnabledLinkCSS("b_float_right"); // Add Formatter for proper date formatting peekviewVC.contextPut("formatter", Formatter.getInstance(getLocale())); - // - this.putInitialPanel(peekviewVC); + putInitialPanel(peekviewVC); } /** diff --git a/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsEditController.java b/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsEditController.java index d7a26f36b03512ea8b60faf286604acdf3dd2049..d3280d4687bec73a487417e0eb634d38dfaa600a 100644 --- a/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsEditController.java +++ b/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsEditController.java @@ -81,7 +81,7 @@ public class OpenMeetingsEditController extends ActivateableTabbableDefaultContr OLATResourceable ores = OresHelper.createOLATResourceableInstance(course.getResourceableTypeName(), course.getResourceableId()); OpenMeetingsRoom defaultSettings = getDefaultValues(); - editForm = new OpenMeetingsEditFormController(ureq, getWindowControl(), ores, courseNode, course.getCourseTitle(), defaultSettings); + editForm = new OpenMeetingsEditFormController(ureq, getWindowControl(), ores, courseNode, defaultSettings); listenTo(editForm); editVc.put("editRooms", editForm.getInitialComponent()); } diff --git a/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsEditFormController.java b/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsEditFormController.java index 84967b07050c31a4e8be99607020c449f9f3ada3..3d0fcb1f868d45a5ee37ba1c7e358653d5d69185 100644 --- a/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsEditFormController.java +++ b/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsEditFormController.java @@ -35,6 +35,7 @@ import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.generic.closablewrapper.CloseableModalController; import org.olat.core.id.OLATResourceable; +import org.olat.core.util.StringHelper; import org.olat.core.util.Util; import org.olat.course.nodes.OpenMeetingsCourseNode; import org.olat.modules.openmeetings.manager.OpenMeetingsException; @@ -59,7 +60,6 @@ public class OpenMeetingsEditFormController extends FormBasicController { private final String[] recordingKeys = {"xx"}; - private String courseTitle; private final OLATResourceable course; private final OpenMeetingsCourseNode courseNode; private final OpenMeetingsManager openMeetingsManager; @@ -70,12 +70,11 @@ public class OpenMeetingsEditFormController extends FormBasicController { private OpenMeetingsRoom defaultSettings; public OpenMeetingsEditFormController(UserRequest ureq, WindowControl wControl, OLATResourceable course, - OpenMeetingsCourseNode courseNode, String courseTitle, OpenMeetingsRoom defaultSettings) { + OpenMeetingsCourseNode courseNode, OpenMeetingsRoom defaultSettings) { super(ureq, wControl, null, Util.createPackageTranslator(OpenMeetingsRoomEditController.class, ureq.getLocale())); this.course = course; this.courseNode = courseNode; - this.courseTitle = courseTitle; this.defaultSettings = defaultSettings; if(defaultSettings != null) { defaultSettings.setName(courseNode.getShortTitle()); @@ -124,7 +123,7 @@ public class OpenMeetingsEditFormController extends FormBasicController { private void updateUI() { boolean hasRoom = room != null; setFormDescription(hasRoom ? null : "create.room.desc"); - roomNameEl.setValue(hasRoom ? room.getName() : ""); + roomNameEl.setValue(hasRoom ? StringHelper.escapeHtml(room.getName()) : ""); roomNameEl.setVisible(hasRoom); if(hasRoom) { String typeStr = translate(RoomType.getType(room.getType()).i18nKey()); @@ -197,7 +196,7 @@ public class OpenMeetingsEditFormController extends FormBasicController { protected void doEditRoom(UserRequest ureq) { try { cleanupPopups(); - editController = new OpenMeetingsRoomEditController(ureq, getWindowControl(), null, course, courseNode.getIdent(), courseTitle, defaultSettings, true); + editController = new OpenMeetingsRoomEditController(ureq, getWindowControl(), null, course, courseNode.getIdent(), defaultSettings); listenTo(editController); cmc = new CloseableModalController(getWindowControl(), translate("close"), editController.getInitialComponent(), true, translate("edit.room")); diff --git a/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsPeekViewController.java b/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsPeekViewController.java index c20330c5cb5a078c521500babab99aa3314065f1..b4d873cfc2532ebb8bd5edc99d863b2567f952e0 100644 --- a/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsPeekViewController.java +++ b/src/main/java/org/olat/course/nodes/openmeetings/OpenMeetingsPeekViewController.java @@ -25,7 +25,6 @@ import org.olat.core.gui.components.panel.Panel; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.controller.BasicController; -import org.olat.course.run.userview.UserCourseEnvironment; /** * @@ -39,8 +38,7 @@ import org.olat.course.run.userview.UserCourseEnvironment; public class OpenMeetingsPeekViewController extends BasicController { - public OpenMeetingsPeekViewController(UserRequest ureq, WindowControl wControl, - UserCourseEnvironment userCourseEnv, String subIdentifier) { + public OpenMeetingsPeekViewController(UserRequest ureq, WindowControl wControl) { super(ureq, wControl); Panel emptyPanel = new Panel("empty"); diff --git a/src/main/java/org/olat/course/nodes/st/EditScoreCalculationEasyForm.java b/src/main/java/org/olat/course/nodes/st/EditScoreCalculationEasyForm.java index a7c71bea70be1baed2c4a084fdcfd21d2acd047e..27bcb8f33fde6f7d98babc1190101811a9977b5e 100644 --- a/src/main/java/org/olat/course/nodes/st/EditScoreCalculationEasyForm.java +++ b/src/main/java/org/olat/course/nodes/st/EditScoreCalculationEasyForm.java @@ -131,7 +131,7 @@ public class EditScoreCalculationEasyForm extends FormBasicController { // 1) score configuration if (hasScore.isSelected(0)) { - sc.setSumOfScoreNodes(new ArrayList(scoreNodeIdents.getSelectedKeys())); + sc.setSumOfScoreNodes(new ArrayList<String>(scoreNodeIdents.getSelectedKeys())); }else { //reset sc.setSumOfScoreNodes(null); @@ -145,7 +145,7 @@ public class EditScoreCalculationEasyForm extends FormBasicController { sc.setPassedCutValue(passedCutValue.getIntValue()); } else if (passedType.getSelectedKey().equals(ScoreCalculator.PASSED_TYPE_INHERIT)) { sc.setPassedType(ScoreCalculator.PASSED_TYPE_INHERIT); - sc.setPassedNodes(new ArrayList(passedNodeIdents.getSelectedKeys())); + sc.setPassedNodes(new ArrayList<String>(passedNodeIdents.getSelectedKeys())); } @@ -166,8 +166,8 @@ public class EditScoreCalculationEasyForm extends FormBasicController { public List<String> getInvalidNodeDescriptions() { List<String> testElemWithNoResource = new ArrayList<String>(); List<String> selectedNodesIds = new ArrayList<String>(scoreNodeIdents.getSelectedKeys()); - for (Iterator nodeIter = assessableNodesList.iterator(); nodeIter.hasNext();) { - CourseNode node = (CourseNode) nodeIter.next(); + for (Iterator<CourseNode> nodeIter = assessableNodesList.iterator(); nodeIter.hasNext();) { + CourseNode node = nodeIter.next(); if (selectedNodesIds.contains(node.getIdent())) { StatusDescription isConfigValid = node.isConfigValid(); if (isConfigValid != null && isConfigValid.isError()) { diff --git a/src/main/java/org/olat/group/ui/main/EditMembershipController.java b/src/main/java/org/olat/group/ui/main/EditMembershipController.java index 397479b3ef98d082477e7fae01b384c810652170..f877912a1529a876b8d14ce8466f48527307ea69 100644 --- a/src/main/java/org/olat/group/ui/main/EditMembershipController.java +++ b/src/main/java/org/olat/group/ui/main/EditMembershipController.java @@ -46,6 +46,7 @@ import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.id.Identity; +import org.olat.core.util.StringHelper; import org.olat.course.member.PermissionHelper; import org.olat.course.member.PermissionHelper.BGPermission; import org.olat.course.member.PermissionHelper.RepoPermission; @@ -217,6 +218,7 @@ public class EditMembershipController extends FormBasicController { if(formLayout instanceof FormLayoutContainer) { FormLayoutContainer layoutCont = (FormLayoutContainer)formLayout; String name = repoEntry == null ? businessGroup.getName() : repoEntry.getDisplayname(); + name = StringHelper.escapeHtml(name); String title = translate("edit.member.title", new String[]{ name }); layoutCont.contextPut("editTitle", title); } diff --git a/src/main/java/org/olat/instantMessaging/ui/InstantMessagingMainController.java b/src/main/java/org/olat/instantMessaging/ui/InstantMessagingMainController.java index a7b9a12e8f48045ba40af1b843ad19631d4dd348..505f1bbde0dac992043571669f48253bf32d28c7 100644 --- a/src/main/java/org/olat/instantMessaging/ui/InstantMessagingMainController.java +++ b/src/main/java/org/olat/instantMessaging/ui/InstantMessagingMainController.java @@ -419,7 +419,8 @@ public class InstantMessagingMainController extends BasicController implements G Link link = LinkFactory.createCustomLink(buddy.getIdentityKey().toString(), ACTION_MSG, "", Link.NONTRANSLATED, newMsgIcon, this); link.registerForMousePositionEvent(true); link.setCustomEnabledLinkCSS("b_small_icon o_instantmessaging_new_msg_icon"); - link.setTooltip(translate("im.new.message", new String[]{ buddy.getName() })); + String buddyName = StringHelper.escapeHtml(buddy.getName()); + link.setTooltip(translate("im.new.message", new String[]{ buddyName })); link.setUserObject(buddy); newMsgIcon.put(buddy.getIdentityKey().toString(), link); return link; diff --git a/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRecordingsController.java b/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRecordingsController.java index 5f4563ca7a0df4914942cff519099a8acfe361b7..47df9ecc3ef1cd63f9f8c63a5da81234cf3c69aa 100644 --- a/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRecordingsController.java +++ b/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRecordingsController.java @@ -135,7 +135,7 @@ public class OpenMeetingsRecordingsController extends BasicController { } else if (source == confirmRemoveRecording) { if (DialogBoxUIFactory.isYesEvent(event)) { // yes case OpenMeetingsRecording recording = (OpenMeetingsRecording)confirmRemoveRecording.getUserObject(); - doDelete(ureq, recording); + doDelete(recording); } } } @@ -153,7 +153,7 @@ public class OpenMeetingsRecordingsController extends BasicController { cmc.activate(); } - private void doDelete(UserRequest ureq, OpenMeetingsRecording recording) { + private void doDelete(OpenMeetingsRecording recording) { openMeetingsManager.deleteRecording(recording); loadModel(); } diff --git a/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRoomEditController.java b/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRoomEditController.java index c3c06e8a1e707d606b87619d583a0644c74cb433..81a00148c0220042ef3c07fd066f66dacf53158d 100644 --- a/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRoomEditController.java +++ b/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRoomEditController.java @@ -73,7 +73,7 @@ public class OpenMeetingsRoomEditController extends FormBasicController { private long[] sizes = {2, 4, 6, 8, 10, 12, 14, 16, 25, 50, 100, 150, 200, 1000}; public OpenMeetingsRoomEditController(UserRequest ureq, WindowControl wControl, BusinessGroup group, OLATResourceable ores, - String subIdentifier, String resourceName, OpenMeetingsRoom defaultSettings, boolean admin) { + String subIdentifier, OpenMeetingsRoom defaultSettings) { super(ureq, wControl); this.group = group; diff --git a/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRunController.java b/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRunController.java index 2770adabaff1f5a3eed768d665dbebf78d7828f0..4161db188cbd335b9abb580c1c2516cd92005e97 100644 --- a/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRunController.java +++ b/src/main/java/org/olat/modules/openmeetings/ui/OpenMeetingsRunController.java @@ -68,7 +68,7 @@ public class OpenMeetingsRunController extends BasicController { private final String subIdentifier; public OpenMeetingsRunController(UserRequest ureq, WindowControl wControl, BusinessGroup group, OLATResourceable ores, - String subIdentifier, String resourceName, boolean admin, boolean moderator) { + String subIdentifier, boolean admin, boolean moderator) { super(ureq, wControl); this.admin = admin; @@ -170,9 +170,9 @@ public class OpenMeetingsRunController extends BasicController { } else if (source == startGuestLink) { doStartAsGuest(ureq); } else if(source == openLink) { - doOpen(ureq); + doOpen(); } else if(source == closeLink) { - doClose(ureq); + doClose(); } else if(source == recordingLink) { doOpenRecordings(ureq); } else if(source == membersLink) { @@ -188,7 +188,7 @@ public class OpenMeetingsRunController extends BasicController { if(event == Event.DONE_EVENT) { String firstName = guestController.getFirstName(); String lastName = guestController.getLastName(); - redirectToGuestRoom(ureq, firstName, lastName); + redirectToGuestRoom(firstName, lastName); } cmc.deactivate(); cleanupPopups(); @@ -224,7 +224,7 @@ public class OpenMeetingsRunController extends BasicController { cmc = null; } - private void doOpen(UserRequest ureq) { + private void doOpen() { try { room = openMeetingsManager.openRoom(room); } catch (OpenMeetingsException e) { @@ -233,7 +233,7 @@ public class OpenMeetingsRunController extends BasicController { updateState(); } - private void doClose(UserRequest ureq) { + private void doClose() { try { room = openMeetingsManager.closeRoom(room); } catch (OpenMeetingsException e) { @@ -269,7 +269,7 @@ public class OpenMeetingsRunController extends BasicController { private void doEdit(UserRequest ureq) { cleanupPopups(); - editController = new OpenMeetingsRoomEditController(ureq, getWindowControl(), group, ores, subIdentifier, "", null, true); + editController = new OpenMeetingsRoomEditController(ureq, getWindowControl(), group, ores, subIdentifier, null); listenTo(editController); String edit = translate("edit.room"); @@ -288,7 +288,7 @@ public class OpenMeetingsRunController extends BasicController { cmc.activate(); } - private void redirectToGuestRoom(UserRequest ureq, String firstName, String lastName) { + private void redirectToGuestRoom(String firstName, String lastName) { if(room == null && room.getRoomId() <= 0) { showError("room.notfound.error"); } else { diff --git a/src/main/java/org/olat/modules/openmeetings/ui/_content/room.html b/src/main/java/org/olat/modules/openmeetings/ui/_content/room.html index fb0c65507b294b2d6138f8dc3ec2c1529284d776..16fff6b14ffb28156550233e82a942844c3d5a40 100644 --- a/src/main/java/org/olat/modules/openmeetings/ui/_content/room.html +++ b/src/main/java/org/olat/modules/openmeetings/ui/_content/room.html @@ -3,7 +3,7 @@ #elseif($noroom) <div class="b_warning">$r.translate("room.notfound.error")</div> #else - <h3 class="b_with_small_icon_left o_openmeetings_icon">$roomName</h3> + <h3 class="b_with_small_icon_left o_openmeetings_icon">$r.escapeHtml($roomName)</h3> #if($roomComment) <div class="b_note">$roomComment</div> #end diff --git a/src/main/java/org/olat/modules/webFeed/ui/DisplayFeedUrlController.java b/src/main/java/org/olat/modules/webFeed/ui/DisplayFeedUrlController.java index 8601d0ffebcd6190290e0f57853034a237f84dbf..a1ed9d5456a0ee53602f2bd254fcbed8ce069ad4 100644 --- a/src/main/java/org/olat/modules/webFeed/ui/DisplayFeedUrlController.java +++ b/src/main/java/org/olat/modules/webFeed/ui/DisplayFeedUrlController.java @@ -96,7 +96,7 @@ public class DisplayFeedUrlController extends FormBasicController { * @see org.olat.modules.webFeed.ui.podcast.FeedFormController#initForm(org.olat.core.gui.components.form.flexible.FormItemContainer, * org.olat.core.gui.control.Controller, org.olat.core.gui.UserRequest) */ - @SuppressWarnings("unused") + @Override protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { feedUrl = uifactory.addTextAreaElement("feedUrl", "feed.url.label", 5000, 1, 1, true, helper.getFeedUrl(), this.flc); // no editing. selecting allowed only diff --git a/src/main/java/org/olat/modules/webFeed/ui/FeedFormController.java b/src/main/java/org/olat/modules/webFeed/ui/FeedFormController.java index 21305648c39c9de2adb8e117261ac3de4bdd6870..ac8432732c87cc9c9baae2c9c44d8811e7f51bd8 100644 --- a/src/main/java/org/olat/modules/webFeed/ui/FeedFormController.java +++ b/src/main/java/org/olat/modules/webFeed/ui/FeedFormController.java @@ -244,8 +244,6 @@ class FeedFormController extends FormBasicController { * org.olat.core.gui.control.Controller, org.olat.core.gui.UserRequest) */ @Override - // formLayout == this.flc && listener == this !!! - @SuppressWarnings("unused") protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { this.setFormTitle("feed.edit"); // this.setFormContextHelp(packageName, pageName, hoverTextKey); diff --git a/src/main/java/org/olat/modules/webFeed/ui/blog/CreateBlogController.java b/src/main/java/org/olat/modules/webFeed/ui/blog/CreateBlogController.java index b4b1a0dab844ba01f3752d3cecbfd9e40bbc2c7a..415df6374c7189017bde7608cd82cc6d62ea66f1 100644 --- a/src/main/java/org/olat/modules/webFeed/ui/blog/CreateBlogController.java +++ b/src/main/java/org/olat/modules/webFeed/ui/blog/CreateBlogController.java @@ -77,7 +77,6 @@ public class CreateBlogController extends DefaultController implements IAddContr * org.olat.core.gui.control.Event) */ @Override - @SuppressWarnings("unused") protected void event(UserRequest ureq, Component source, Event event) { // Nothing to catch } @@ -85,6 +84,7 @@ public class CreateBlogController extends DefaultController implements IAddContr /** * @see org.olat.repository.controllers.IAddController#getTransactionComponent() */ + @Override public Component getTransactionComponent() { // No additional workflow for feed creation return null; diff --git a/src/main/java/org/olat/modules/webFeed/ui/podcast/CreatePodcastController.java b/src/main/java/org/olat/modules/webFeed/ui/podcast/CreatePodcastController.java index f281c26373155b30ff7cd828c6881d5174e5871b..0026f4066235ccef6ced20e9e71bf1305d8b42e6 100644 --- a/src/main/java/org/olat/modules/webFeed/ui/podcast/CreatePodcastController.java +++ b/src/main/java/org/olat/modules/webFeed/ui/podcast/CreatePodcastController.java @@ -77,7 +77,6 @@ public class CreatePodcastController extends DefaultController implements IAddCo * org.olat.core.gui.control.Event) */ @Override - @SuppressWarnings("unused") protected void event(UserRequest ureq, Component source, Event event) { // Nothing to catch } diff --git a/src/main/java/org/olat/modules/webFeed/ui/podcast/EpisodeFormController.java b/src/main/java/org/olat/modules/webFeed/ui/podcast/EpisodeFormController.java index 8f2330ed34cdf228607965246bc39214061d0853..83f6b97d3f421656e8fb1c05989121696b50d041 100644 --- a/src/main/java/org/olat/modules/webFeed/ui/podcast/EpisodeFormController.java +++ b/src/main/java/org/olat/modules/webFeed/ui/podcast/EpisodeFormController.java @@ -244,7 +244,6 @@ public class EpisodeFormController extends FormBasicController { * org.olat.core.gui.control.Controller, org.olat.core.gui.UserRequest) */ @Override - @SuppressWarnings("unused") protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) { this.setFormTitle("feed.edit.item"); this.setFormContextHelp(this.getClass().getPackage().getName(), "episode_form_help.html", "chelp.hover.episode"); diff --git a/src/main/java/org/olat/modules/wiki/WikiMainController.java b/src/main/java/org/olat/modules/wiki/WikiMainController.java index 8a69b3c5217adf2fd82c073a3224b4d337a3a7c3..3236c6ef31e57e7bfdf5c34ff06b7f29bd8c1f34 100644 --- a/src/main/java/org/olat/modules/wiki/WikiMainController.java +++ b/src/main/java/org/olat/modules/wiki/WikiMainController.java @@ -62,7 +62,6 @@ import org.olat.core.gui.control.generic.closablewrapper.CloseableModalControlle import org.olat.core.gui.control.generic.dtabs.Activateable2; import org.olat.core.gui.control.generic.modal.DialogBoxController; import org.olat.core.gui.control.generic.modal.DialogBoxUIFactory; -import org.olat.core.id.Identity; import org.olat.core.id.OLATResourceable; import org.olat.core.id.context.BusinessControlFactory; import org.olat.core.id.context.ContextEntry; @@ -120,7 +119,7 @@ import org.olat.util.logging.activity.LoggingResourceable; */ public class WikiMainController extends BasicController implements CloneableController, Activateable2 { - OLog log = Tracing.createLoggerFor(this.getClass()); + private static final OLog log = Tracing.createLoggerFor(WikiMainController.class); private TabbedPane tabs; private WikiPage selectedPage; @@ -138,7 +137,6 @@ public class WikiMainController extends BasicController implements CloneableCont private BreadCrumbController breadCrumpCtr; private DialogBoxController removePageDialogCtr, archiveWikiDialogCtr; private List<ChangeInfo> diffs = new ArrayList<ChangeInfo>(2); - private Identity ident; private SubscriptionContext subsContext; private LockResult lockEntry; private Link archiveLink, closePreviewButton, deletePageButton, manageMediaButton, toMainPageLink, a2zLink, changesLink, editMenuButton, revertVersionButton; @@ -177,7 +175,6 @@ public class WikiMainController extends BasicController implements CloneableCont this.ores = ores; this.securityCallback = securityCallback; this.subsContext = securityCallback.getSubscriptionContext(); - this.ident = ureq.getIdentity(); WikiPage page = null; Wiki wiki = getWiki(); if(wiki == null) { @@ -541,7 +538,7 @@ public class WikiMainController extends BasicController implements CloneableCont * tabbed pane change to edit tab **********************************************************************/ wikiEditForm.resetUpdateComment(); - editContent.contextPut("mayDeleteArticle", Boolean.valueOf(ident.getKey().equals(Long.valueOf(page.getInitalAuthor() )) || securityCallback.mayEditWikiMenu() )); + editContent.contextPut("mayDeleteArticle", Boolean.valueOf(getIdentity().getKey().equals(Long.valueOf(page.getInitalAuthor() )) || securityCallback.mayEditWikiMenu() )); editContent.contextPut("linkList", wiki.getListOfAllPageNames()); editContent.contextPut("fileList", wiki.getMediaFileList()); // try to edit acquire lock for this page @@ -800,7 +797,7 @@ public class WikiMainController extends BasicController implements CloneableCont } else if (source == archiveWikiDialogCtr) { if (DialogBoxUIFactory.isOkEvent(event)) { //convert wiki into IMS content package and copy to users home folder - WikiToCPExport utils = new WikiToCPExport(ores, ident, getTranslator()); + WikiToCPExport utils = new WikiToCPExport(ores, getIdentity(), getTranslator()); utils.archiveWikiToCP(); showInfo("wiki.exported.done.infomessage"); } @@ -862,9 +859,9 @@ public class WikiMainController extends BasicController implements CloneableCont editContent.contextPut("isDirty", Boolean.valueOf(false)); page.setContent(wikiEditForm.getWikiContent()); - page.setModifyAuthor(ident.getKey().longValue()); + page.setModifyAuthor(getIdentity().getKey().longValue()); page.setUpdateComment(wikiEditForm.getUpdateComment()); - if(page.getInitalAuthor() == 0) page.setInitalAuthor(ident.getKey().longValue()); + if(page.getInitalAuthor() == 0) page.setInitalAuthor(getIdentity().getKey().longValue()); //menu page only editable by admin and owner set new content if changed if (page.getPageName().equals(WikiPage.WIKI_MENU_PAGE)) wikiMenuComp.setWikiContent(page.getContent()); WikiManager.getInstance().saveWikiPage(ores, page, true, wiki); diff --git a/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/WikiMarkupRenderer.java b/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/WikiMarkupRenderer.java index 99b7559b1942a824978d9fe5506ce192327fe20c..fd9557b4907b4db6eba73ec9325d7b698ea69cdf 100644 --- a/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/WikiMarkupRenderer.java +++ b/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/WikiMarkupRenderer.java @@ -29,7 +29,6 @@ import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.Locale; -import org.jamwiki.parser.AbstractParser; import org.jamwiki.parser.ParserDocument; import org.jamwiki.parser.ParserInput; import org.jamwiki.parser.jflex.JFlexParser; @@ -97,9 +96,6 @@ public class WikiMarkupRenderer implements ComponentRenderer { String uri = out.toString(); ParserDocument parsedDoc = null; - - - String uniqueId = "o_wiki"+wikiComp.getDispatchID(); try { uri = URLDecoder.decode(uri, "utf-8"); @@ -113,7 +109,7 @@ public class WikiMarkupRenderer implements ComponentRenderer { sb.append(uniqueId); sb.append("\">"); - AbstractParser parser = new JFlexParser(input); + JFlexParser parser = new JFlexParser(input); parsedDoc = parser.parseHTML(wikiComp.getWikiContent()); } catch (UnsupportedEncodingException e) { //encoding utf-8 should be ok @@ -137,6 +133,7 @@ public class WikiMarkupRenderer implements ComponentRenderer { * org.olat.core.gui.translator.Translator, * org.olat.core.gui.render.RenderingState) */ + @Override public void renderHeaderIncludes(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu, Translator translator, RenderingState rstate) { // diff --git a/src/main/java/org/olat/modules/wiki/portfolio/WikiArtefactDetailsController.java b/src/main/java/org/olat/modules/wiki/portfolio/WikiArtefactDetailsController.java index 6898d3eab6eb393b86f8a9aff45a86ebf9f1d6a1..546ff5fcfd79d2c0a215ab9f5e373f21144bcac3 100644 --- a/src/main/java/org/olat/modules/wiki/portfolio/WikiArtefactDetailsController.java +++ b/src/main/java/org/olat/modules/wiki/portfolio/WikiArtefactDetailsController.java @@ -67,7 +67,6 @@ public class WikiArtefactDetailsController extends BasicController { } @Override - @SuppressWarnings("unused") protected void event(UserRequest ureq, Component source, Event event) { // } @@ -105,23 +104,19 @@ public class WikiArtefactDetailsController extends BasicController { public static class DummyDataHandler implements DataHandler { @Override - @SuppressWarnings("unused") public boolean exists(String virtualWiki, String topic) { return true; } @Override - @SuppressWarnings("unused") public Topic lookupTopic(String virtualWiki, String topicName, boolean deleteOK, Object transactionObject) throws Exception { return null; } @Override - @SuppressWarnings("unused") public WikiFile lookupWikiFile(String virtualWiki, String topicName) throws Exception { return null; } } - } diff --git a/src/main/java/org/olat/modules/wiki/versioning/OlatVersionManager.java b/src/main/java/org/olat/modules/wiki/versioning/OlatVersionManager.java deleted file mode 100644 index 12ab6cee4f69e7625a57c58b3feea34afdd533d5..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/modules/wiki/versioning/OlatVersionManager.java +++ /dev/null @@ -1,79 +0,0 @@ -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -* <p> -*/ -package org.olat.modules.wiki.versioning; - -import java.util.List; - -import org.olat.modules.wiki.WikiPage; - -/** -* OLAT - Online Learning and Training<br> -* http://www.olat.org -* <p> -* Licensed under the Apache License, Version 2.0 (the "License"); <br> -* you may not use this file except in compliance with the License.<br> -* You may obtain a copy of the License at -* <p> -* http://www.apache.org/licenses/LICENSE-2.0 -* <p> -* Unless required by applicable law or agreed to in writing,<br> -* software distributed under the License is distributed on an "AS IS" BASIS, <br> -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br> -* See the License for the specific language governing permissions and <br> -* limitations under the License. -* <p> -* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br> -* University of Zurich, Switzerland. -* <hr> -* <a href="http://www.openolat.org"> -* OpenOLAT - Online Learning and Training</a><br> -* This file has been modified by the OpenOLAT community. Changes are licensed -* under the Apache 2.0 license as the original file. -*/ - -public class OlatVersionManager implements VersionManager { - //private VersionStorage storage; - private DifferenceService service; - - public void storeVersion(WikiPage page) { - // TODO Auto-generated method stub - - } - - public WikiPage loadVersion(WikiPage page, int version) { - // TODO Auto-generated method stub - return null; - } - - public List getHistory(WikiPage page) { - return null; - } - - public List diff(WikiPage page, int version1, int version2) { - return service.diff(loadVersion(page, version1).getContent(), loadVersion(page, version2).getContent()); - } - -} diff --git a/src/main/java/org/olat/modules/wiki/versioning/VersionManager.java b/src/main/java/org/olat/modules/wiki/versioning/VersionManager.java deleted file mode 100644 index 17ccc2d88e162b3ddb2e69cb389a27b169ab5a66..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/modules/wiki/versioning/VersionManager.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * This file is part of "SnipSnap Wiki/Weblog". - * - * Copyright (c) 2002 Stephan J. Schmidt, Matthias L. Jugel - * All Rights Reserved. - * - * Please visit http://snipsnap.org/ for updates and contact. - * - * --LICENSE NOTICE-- - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * --LICENSE NOTICE-- - */ - -package org.olat.modules.wiki.versioning; - -import java.util.List; - -import org.olat.modules.wiki.WikiPage; - -/** - * Manages versions of snips - * - * @author Stephan J. Schmidt - */ - -public interface VersionManager { - public void storeVersion(WikiPage page); - public WikiPage loadVersion(WikiPage page, int version); - public List getHistory(WikiPage page); - public List diff(WikiPage page, int version1, int version2); -} \ No newline at end of file diff --git a/src/main/java/org/olat/portfolio/ui/artefacts/view/EPArtefactViewReadOnlyController.java b/src/main/java/org/olat/portfolio/ui/artefacts/view/EPArtefactViewReadOnlyController.java index c52283c5160aa641e81f759b41e061c027948ad8..47ae5cecf65d1585a32ce07d1b5d3325d2d8cbef 100644 --- a/src/main/java/org/olat/portfolio/ui/artefacts/view/EPArtefactViewReadOnlyController.java +++ b/src/main/java/org/olat/portfolio/ui/artefacts/view/EPArtefactViewReadOnlyController.java @@ -19,6 +19,7 @@ */ package org.olat.portfolio.ui.artefacts.view; +import java.util.ArrayList; import java.util.List; import org.olat.core.CoreSpringFactory; @@ -76,7 +77,11 @@ public class EPArtefactViewReadOnlyController extends BasicController { ePFMgr = CoreSpringFactory.getImpl(EPFrontendManager.class); List<String> tags = ePFMgr.getArtefactTags(artefact); - vC.contextPut("tags", StringHelper.formatAsCSVString(tags)); + List<String> escapedTags = new ArrayList<String>(tags.size()); + for(String tag:tags) { + escapedTags.add(StringHelper.escapeHtml(tag)); + } + vC.contextPut("tags", StringHelper.formatAsCSVString(escapedTags)); putInitialPanel(vC); } diff --git a/src/main/java/org/olat/resource/accesscontrol/ui/_content/configuration_list.html b/src/main/java/org/olat/resource/accesscontrol/ui/_content/configuration_list.html index 5d25ba985a3a3f6a0ff3bfdae1cffc4705abb315..b0db9f3013ed1579d72c877c662e34938172a571 100644 --- a/src/main/java/org/olat/resource/accesscontrol/ui/_content/configuration_list.html +++ b/src/main/java/org/olat/resource/accesscontrol/ui/_content/configuration_list.html @@ -14,7 +14,7 @@ #set($css = $confController.getLink().getMethod().getMethodCssClass()) <tr class="$css"> <td><span class="b_with_small_icon_left ${css}_icon">$confController.name</span></td> - <td><span class="b_access_infos">$confController.infos</span></td> + <td><span class="b_access_infos">$r.escapeHtml($confController.infos)</span></td> <td><div class="b_form_element">$r.render("from_$confController.link.key")</div></td> <td><div class="b_form_element">$r.render("to_$confController.link.key")</div></td> <td>#if($r.available("del_$confController.link.key")) $r.render("del_$confController.link.key") #end</td> diff --git a/src/main/java/org/olat/search/ui/ResultsSearchController.java b/src/main/java/org/olat/search/ui/ResultsSearchController.java index ce1a0cf6b8015372af7b7f2db3606cdb30438e29..0e9ea43197464b2e506329e5205bc3813fa7ae99 100644 --- a/src/main/java/org/olat/search/ui/ResultsSearchController.java +++ b/src/main/java/org/olat/search/ui/ResultsSearchController.java @@ -144,7 +144,7 @@ public class ResultsSearchController extends SearchInputController { hideDidYouMeanWords(); SearchResults results = doSearch(ureq, didYouMeanWord, condQueries, getParentContext(), getDocumentType(), key, 0, RESULT_PER_PAGE, false); resultCtlr.setSearchResults(ureq, results); - persistSearch(ureq); + persistSearch(); } else if (source == extendedSearchLink) { extendedSearch = true; advancedSearchController.setSearchString(getSearchString()); @@ -197,7 +197,7 @@ public class ResultsSearchController extends SearchInputController { resultCtlr.nextSearchResults(ureq, results); } - persistSearch(ureq); + persistSearch(); } @Override diff --git a/src/main/java/org/olat/search/ui/SearchControllerFactory.java b/src/main/java/org/olat/search/ui/SearchControllerFactory.java index e051ff0ceb9e35be6c519623cf705412334e1d66..c626531874435f7d0985ddc305cbd808f827f01c 100644 --- a/src/main/java/org/olat/search/ui/SearchControllerFactory.java +++ b/src/main/java/org/olat/search/ui/SearchControllerFactory.java @@ -124,9 +124,11 @@ public class SearchControllerFactory implements SearchServiceUIFactory { if ("CourseNode".equals(tokenType)) { String repoKey = allTokens.get(0).split("[:]")[1]; RepositoryEntry re = RepositoryManager.getInstance().lookupRepositoryEntry(Long.parseLong(repoKey)); - ICourse course = CourseFactory.loadCourse(re.getOlatResource()); - CourseNode courseNode = course.getRunStructure().getNode(tokenKey); - return courseNode.getShortTitle(); + if(re != null) { + ICourse course = CourseFactory.loadCourse(re.getOlatResource()); + CourseNode courseNode = course.getRunStructure().getNode(tokenKey); + return courseNode.getShortTitle(); + } } if ("Identity".equals(tokenType)) { IdentityShort identity = BaseSecurityManager.getInstance().loadIdentityShortByKey(Long.parseLong(tokenKey)); diff --git a/src/main/java/org/olat/search/ui/SearchInputController.java b/src/main/java/org/olat/search/ui/SearchInputController.java index 090526b0f3b11b5d809da92de62bdd96263aa26b..df6317777ca00d1810a67bcf7619a9a3fe9e22e8 100644 --- a/src/main/java/org/olat/search/ui/SearchInputController.java +++ b/src/main/java/org/olat/search/ui/SearchInputController.java @@ -261,12 +261,12 @@ public class SearchInputController extends FormBasicController { oldSearchString = props.getProperty("s"); } - persistSearch(ureq); + persistSearch(); if (DisplayOption.BUTTON.equals(displayOption) || DisplayOption.BUTTON_WITH_LABEL.equals(displayOption)) { //no search, only popup createResultsSearchController(ureq); - popupResultsSearchController(ureq); + popupResultsSearchController(); if(resultCtlr.getPersistedSearch() != null && !resultCtlr.getPersistedSearch().isEmpty()) { resultCtlr.doSearch(ureq); } @@ -279,7 +279,7 @@ public class SearchInputController extends FormBasicController { createResultsSearchController(ureq); resultCtlr.setSearchString(searchString); - popupResultsSearchController(ureq); + popupResultsSearchController(); resultCtlr.doSearch(ureq); } } @@ -309,7 +309,7 @@ public class SearchInputController extends FormBasicController { } } - protected void persistSearch(UserRequest ureq) { + protected final void persistSearch() { if(getResourceUrl() != null) { String uri = getResourceUrl(); Properties props = prefs.get(uri); @@ -362,7 +362,7 @@ public class SearchInputController extends FormBasicController { } } - private void popupResultsSearchController(UserRequest ureq) { + private void popupResultsSearchController() { String title = translate("search.title"); searchDialogBox = new CloseableModalController(getWindowControl(), title, resultCtlr.getInitialComponent()); searchDialogBox.activate();