diff --git a/src/main/java/org/olat/modules/fo/ForumController.java b/src/main/java/org/olat/modules/fo/ForumController.java index c95004b26646f752b296c368c61de7f50dce327e..b64cf4208e23874a24c5bdd91d27a2b0a49a0d78 100644 --- a/src/main/java/org/olat/modules/fo/ForumController.java +++ b/src/main/java/org/olat/modules/fo/ForumController.java @@ -220,7 +220,8 @@ public class ForumController extends BasicController implements GenericEventList * @param ureq * @param wControl */ - ForumController(Forum forum, ForumCallback focallback, UserRequest ureq, WindowControl wControl) { + public ForumController(UserRequest ureq, WindowControl wControl, + Forum forum, ForumCallback focallback, boolean showSubscriptionButton) { super(ureq, wControl); this.forum = forum; this.focallback = focallback; @@ -267,8 +268,7 @@ public class ForumController extends BasicController implements GenericEventList // --- subscription --- subsContext = focallback.getSubscriptionContext(); // if sc is null, then no subscription is desired - if (subsContext != null) { - // FIXME fj: implement subscription callback for group forums + if (subsContext != null && showSubscriptionButton) { String businessPath = wControl.getBusinessControl().getAsString(); String data = String.valueOf(forum.getKey()); PublisherData pdata = new PublisherData(OresHelper.calculateTypeName(Forum.class), data, businessPath); diff --git a/src/main/java/org/olat/modules/fo/ForumUIFactory.java b/src/main/java/org/olat/modules/fo/ForumUIFactory.java index 73aced5bd3699e386230334143ab223446a485e9..2a0dd63ddbf8d51a493f7d036268d0a173aeb489 100644 --- a/src/main/java/org/olat/modules/fo/ForumUIFactory.java +++ b/src/main/java/org/olat/modules/fo/ForumUIFactory.java @@ -81,7 +81,7 @@ public class ForumUIFactory { * @return a TitledWrapperController */ public static Controller getTitledForumController(UserRequest ureq, WindowControl wControl, Forum forum, ForumCallback forumCallback, TitleInfo titleInfo) { - ForumController popupFoCtr = new ForumController(forum, forumCallback, ureq, wControl); + ForumController popupFoCtr = new ForumController(ureq, wControl, forum, forumCallback, true); TitledWrapperController forumWrapperController = new TitledWrapperController(ureq, wControl, popupFoCtr, "o_course_run", titleInfo); // Set CSS values to default forum icons if no values are set in the title info if (!StringHelper.containsNonWhitespace(titleInfo.getIconCssClass())) { @@ -99,7 +99,7 @@ public class ForumUIFactory { * @return */ public static ForumController getStandardForumController(UserRequest ureq, WindowControl wControl, Forum forum, ForumCallback forumCallback) { - return new ForumController(forum, forumCallback, ureq, wControl); + return new ForumController(ureq, wControl, forum, forumCallback, true); } } diff --git a/src/main/java/org/olat/modules/wiki/WikiEditArticleForm.java b/src/main/java/org/olat/modules/wiki/WikiEditArticleForm.java index 34d3ba54d1bf84fa9dcfccaa5091be8f6b8b12ab..5c9c612ac178dd13367d71fe3313d35a115f1005 100644 --- a/src/main/java/org/olat/modules/wiki/WikiEditArticleForm.java +++ b/src/main/java/org/olat/modules/wiki/WikiEditArticleForm.java @@ -52,13 +52,12 @@ public class WikiEditArticleForm extends FormBasicController { private TextElement wikiContent; private TextElement updateComment; - private WikiPage page; - + private final WikiPage page; private final WikiSecurityCallback securityCallback; - public WikiEditArticleForm(UserRequest ureq, WindowControl wControl, WikiPage page, - WikiSecurityCallback securityCallback) { + public WikiEditArticleForm(UserRequest ureq, WindowControl wControl, + WikiPage page, WikiSecurityCallback securityCallback) { super(ureq, wControl, FormBasicController.LAYOUT_VERTICAL); this.page = page; this.securityCallback = securityCallback; @@ -97,7 +96,7 @@ public class WikiEditArticleForm extends FormBasicController { } @Override - protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event){ + protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) { fireEvent (ureq, new Event(source.getName())); } @@ -122,6 +121,9 @@ public class WikiEditArticleForm extends FormBasicController { uifactory.addFormLink("delete.page", buttonLayout, Link.BUTTON); } uifactory.addFormLink("preview", buttonLayout, Link.BUTTON); + uifactory.addFormLink("media.upload", buttonLayout, Link.BUTTON); + uifactory.addFormLink("manage.media", buttonLayout, Link.BUTTON); + uifactory.addFormCancelButton("cancel", buttonLayout, ureq, getWindowControl()); } @@ -129,5 +131,4 @@ public class WikiEditArticleForm extends FormBasicController { protected void doDispose() { // } - } diff --git a/src/main/java/org/olat/modules/wiki/WikiFileUploadController.java b/src/main/java/org/olat/modules/wiki/WikiFileUploadController.java new file mode 100644 index 0000000000000000000000000000000000000000..ee510144b7b0555601662612232f0cc232583761 --- /dev/null +++ b/src/main/java/org/olat/modules/wiki/WikiFileUploadController.java @@ -0,0 +1,72 @@ +/** + * <a href="http://www.openolat.org"> + * OpenOLAT - Online Learning and Training</a><br> + * <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 the + * <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache homepage</a> + * <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> + * Initial code contributed and copyrighted by<br> + * frentix GmbH, http://www.frentix.com + * <p> + */ +package org.olat.modules.wiki; + +import org.olat.core.commons.modules.bc.FileUploadController; +import org.olat.core.commons.modules.bc.FolderConfig; +import org.olat.core.gui.UserRequest; +import org.olat.core.gui.components.Component; +import org.olat.core.gui.components.velocity.VelocityContainer; +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.gui.control.controller.BasicController; +import org.olat.core.util.vfs.Quota; +import org.olat.core.util.vfs.VFSContainer; + +/** + * Only a wrapper to show some informations around the file upload controller. + * + * + * Initial date: 17.07.2015<br> + * @author srosse, stephane.rosse@frentix.com, http://www.frentix.com + * + */ +public class WikiFileUploadController extends BasicController { + + private final FileUploadController fileUplCtr; + + public WikiFileUploadController(UserRequest ureq, WindowControl wControl, VFSContainer mediaFolder) { + super(ureq, wControl); + + VelocityContainer mainVC = this.createVelocityContainer("upload_file"); + + fileUplCtr = new FileUploadController(getWindowControl(), mediaFolder, ureq, + (int)FolderConfig.getLimitULKB(), Quota.UNLIMITED, null, false, false, true, true, false); + listenTo(fileUplCtr); + mainVC.put("fileUpload", fileUplCtr.getInitialComponent()); + putInitialPanel(mainVC); + } + + @Override + protected void doDispose() { + // + } + + @Override + protected void event(UserRequest ureq, Component source, Event event) { + // + } + + @Override + protected void event(UserRequest ureq, Controller source, Event event) { + fireEvent(ureq, event); + } +} diff --git a/src/main/java/org/olat/modules/wiki/WikiForumCallback.java b/src/main/java/org/olat/modules/wiki/WikiForumCallback.java index e5cde6149592e5dc385f312d045a93f9bc92913e..e7309b6d071b878b86779435a34a4b7d35bdad5d 100644 --- a/src/main/java/org/olat/modules/wiki/WikiForumCallback.java +++ b/src/main/java/org/olat/modules/wiki/WikiForumCallback.java @@ -40,40 +40,46 @@ public class WikiForumCallback implements ForumCallback { private boolean isGuestOnly; private boolean isModerator; - + private SubscriptionContext context; - public WikiForumCallback(boolean isGuestOnly, boolean isModerator) { + public WikiForumCallback(boolean isGuestOnly, boolean isModerator, SubscriptionContext context) { this.isGuestOnly = isGuestOnly; - this.isModerator = isModerator; + this.isModerator = isModerator; + this.context = context; } - + + @Override public boolean mayOpenNewThread() { return !isGuestOnly ; } + @Override public boolean mayReplyMessage() { return !isGuestOnly; } + @Override public boolean mayEditMessageAsModerator() { return !isGuestOnly && isModerator; } + @Override public boolean mayDeleteMessageAsModerator() { return !isGuestOnly && isModerator; } + @Override public boolean mayArchiveForum() { return !isGuestOnly; } + @Override public boolean mayFilterForUser() { return !isGuestOnly && isModerator; } + @Override public SubscriptionContext getSubscriptionContext() { - // TODO Auto-generated method stub - return null; + return context; } - } diff --git a/src/main/java/org/olat/modules/wiki/WikiMainController.java b/src/main/java/org/olat/modules/wiki/WikiMainController.java index 3edb4982faa81839e4d73b8e598694fe3331dd6f..6a36b585aa28a4d6385290845d319cff0d5d06ab 100644 --- a/src/main/java/org/olat/modules/wiki/WikiMainController.java +++ b/src/main/java/org/olat/modules/wiki/WikiMainController.java @@ -37,8 +37,6 @@ import java.util.Map; import java.util.Properties; import org.olat.core.CoreSpringFactory; -import org.olat.core.commons.modules.bc.FileUploadController; -import org.olat.core.commons.modules.bc.FolderConfig; import org.olat.core.commons.modules.bc.FolderEvent; import org.olat.core.commons.services.notifications.NotificationsManager; import org.olat.core.commons.services.notifications.PublisherData; @@ -90,7 +88,6 @@ import org.olat.core.util.StringHelper; import org.olat.core.util.coordinate.CoordinatorManager; import org.olat.core.util.coordinate.LockResult; import org.olat.core.util.resource.OresHelper; -import org.olat.core.util.vfs.Quota; import org.olat.core.util.vfs.VFSContainer; import org.olat.core.util.vfs.VFSItem; import org.olat.core.util.vfs.VFSLeaf; @@ -99,7 +96,6 @@ import org.olat.modules.fo.Forum; import org.olat.modules.fo.ForumCallback; import org.olat.modules.fo.ForumController; import org.olat.modules.fo.ForumManager; -import org.olat.modules.fo.ForumUIFactory; import org.olat.modules.wiki.gui.components.wikiToHtml.ErrorEvent; import org.olat.modules.wiki.gui.components.wikiToHtml.FilterUtil; import org.olat.modules.wiki.gui.components.wikiToHtml.RequestImageEvent; @@ -143,13 +139,13 @@ public class WikiMainController extends BasicController implements CloneableCont private WikiMarkupComponent wikiArticleComp, wikiVersionDisplayComp; private ContextualSubscriptionController cSubscriptionCtrl; private TableController versioningTableCtr; + private WikiFileUploadController wikiUploadFileCtr; private HistoryTableDateModel versioningTableModel; - private FileUploadController fileUplCtr; private DialogBoxController removePageDialogCtr, archiveWikiDialogCtr; private List<ChangeInfo> diffs = new ArrayList<ChangeInfo>(2); private SubscriptionContext subsContext; private LockResult lockEntry; - private Link archiveLink, closePreviewButton, createLink, manageMediaButton, toMainPageLink, + private Link archiveLink, closePreviewButton, createLink, toMainPageLink, a2zLink, changesLink, editMenuButton, revertVersionButton; private TableController mediaTableCtr; private MediaFilesTableModel mediaFilesTableModel; @@ -167,7 +163,6 @@ public class WikiMainController extends BasicController implements CloneableCont public static final String ACTION_SHOW = "view.version"; private static final String ACTION_EDIT_MENU = "editMenu"; private static final String ACTION_CLOSE_PREVIEW = "preview.close"; - private static final String ACTION_MANAGE_MEDIA = "manage.media"; private static final String ACTION_DELETE_MEDIAS = "delete.medias"; private static final String ACTION_DELETE_MEDIA = "delete.media"; protected static final String ACTION_SHOW_MEDIA = "show.media"; @@ -310,7 +305,6 @@ public class WikiMainController extends BasicController implements CloneableCont editContent = createVelocityContainer("edit"); imageDisplay = createVelocityContainer("imagedisplay"); closePreviewButton = LinkFactory.createButtonSmall(ACTION_CLOSE_PREVIEW, editContent, this); - manageMediaButton = LinkFactory.createButtonSmall(ACTION_MANAGE_MEDIA, editContent, this); editContent.contextPut("isGuest", Boolean.valueOf(ureq.getUserSession().getRoles().isGuestOnly())); wikiEditForm = new WikiEditArticleForm(ureq, wControl, page, securityCallback); @@ -321,11 +315,6 @@ public class WikiMainController extends BasicController implements CloneableCont JSAndCSSComponent js = new JSAndCSSComponent("js", new String[] { "js/openolat/wiki.js" }, null); content.put("js", js); - // FIXME:gs:a FileUploadCtr should accept vfsContainers instead of - // OLATrootfolderimpl. Refactor it!!!!!!! - fileUplCtr = new FileUploadController(getWindowControl(), WikiManager.getInstance().getMediaFolder(ores), ureq, (int)FolderConfig.getLimitULKB(), Quota.UNLIMITED, null, false); - listenTo(fileUplCtr); - editContent.put("fileUplCtr", fileUplCtr.getInitialComponent()); editContent.contextPut("fileList", wiki.getMediaFileList()); editContent.contextPut("linkList", wiki.getListOfAllPageNames()); @@ -430,14 +419,14 @@ public class WikiMainController extends BasicController implements CloneableCont ContextEntry ce = entries.get(0); String typ = ce.getOLATResourceable().getResourceableTypeName(); - if("az".equals(typ)) { + if("az".equalsIgnoreCase(typ)) { openAtoZPage(ureq, wiki); - } else if ("lastChanges".equals(typ)) { + } else if ("lastChanges".equalsIgnoreCase(typ)) { openLastChangesPage(ureq, wiki); - } else if ("index".equals(typ)) { + } else if ("index".equalsIgnoreCase(typ)) { WikiPage page = openIndexPage(ureq, wiki); pageId = page.getPageId(); - } else if ("Forum".equals(typ)) { + } else if ("Forum".equalsIgnoreCase(typ)) { Long forumKey = ce.getOLATResourceable().getResourceableId(); for(WikiPage page:wiki.getAllPagesWithContent()) { if(forumKey.longValue() == page.getForumKey()) { @@ -472,8 +461,14 @@ public class WikiMainController extends BasicController implements CloneableCont if(entries.size() > 1) { List<ContextEntry> subEntries = entries.subList(1, entries.size()); String subTyp = subEntries.get(0).getOLATResourceable().getResourceableTypeName(); - if("tab".equals(subTyp)) { + if("tab".equalsIgnoreCase(subTyp)) { tabs.activate(ureq, subEntries, ce.getTransientState()); + } else if("message".equalsIgnoreCase(subTyp)) { + OLATResourceable tabOres = OresHelper.createOLATResourceableInstance("tab", 1l); + ContextEntry tabCe = BusinessControlFactory.getInstance().createContextEntry(tabOres); + tabs.activate(ureq, Collections.singletonList(tabCe), null); + + forumController.activate(ureq, subEntries, null); } } } @@ -584,18 +579,6 @@ public class WikiMainController extends BasicController implements CloneableCont //nothing to do } else if (source == closePreviewButton){ editContent.remove(wikiVersionDisplayComp); - } else if (source == manageMediaButton){ - if(wiki.getMediaFileListWithMetadata().size() > 0){ - mediaMgntContent = createVelocityContainer("media"); - refreshTableDataModel(ureq, wiki); - mediaMgntContent.put("mediaMgmtTable", mediaTableCtr.getInitialComponent()); - - removeAsListenerAndDispose(cmc); - cmc = new CloseableModalController(getWindowControl(), translate("close"), mediaMgntContent, true, translate("manage.media")); - listenTo(cmc); - - cmc.activate(); - } } else if (source == revertVersionButton) { wikiEditForm.setPage(selectedPage); tabs.setSelectedPane(2); @@ -661,15 +644,15 @@ public class WikiMainController extends BasicController implements CloneableCont page.setForumKey(forum.getKey().longValue()); WikiManager.getInstance().updateWikiPageProperties(ores, page); } - // TODO enhance forum callback with subscription stuff + boolean isModerator = securityCallback.mayModerateForum(); - ForumCallback forumCallback = new WikiForumCallback(ureq.getUserSession().getRoles().isGuestOnly(), isModerator); + ForumCallback forumCallback = new WikiForumCallback(ureq.getUserSession().getRoles().isGuestOnly(), isModerator, subsContext); ContextEntry ce = BusinessControlFactory.getInstance().createContextEntry(forum); WindowControl bwControl = BusinessControlFactory.getInstance().createBusinessWindowControl(ce, getWindowControl()); removeAsListenerAndDispose(forumController); - forumController = ForumUIFactory.getStandardForumController(ureq, bwControl, forum, forumCallback); + forumController = new ForumController(ureq, bwControl, forum, forumCallback, false); listenTo(forumController); discussionContent.put("articleforum", forumController.getInitialComponent()); } @@ -862,17 +845,14 @@ public class WikiMainController extends BasicController implements CloneableCont versioningContent.contextPut("page", selectedPage); } } - } else if (source == fileUplCtr) { - /************************************************************************* - * file upload controller events - ************************************************************************/ - if (event == Event.DONE_EVENT) { - fileUplCtr.reset(); - } else if (event.getCommand().equals(FolderEvent.UPLOAD_EVENT)) { + } else if (source == wikiUploadFileCtr) { + if(event.getCommand().equals(FolderEvent.UPLOAD_EVENT)) { FolderEvent fEvent = (FolderEvent)event; createMediaMetadataFile(fEvent.getFilename(), ureq.getIdentity().getKey()); editContent.contextPut("fileList", wiki.getMediaFileList()); } + cmc.deactivate(); + cleanUp(); } else if (source == removePageDialogCtr) { if (DialogBoxUIFactory.isOkEvent(event)) { wiki.removePage(page); @@ -958,14 +938,20 @@ public class WikiMainController extends BasicController implements CloneableCont String msg = translate("question", page.getPageName()); removePageDialogCtr = activateOkCancelDialog(ureq, null, msg, removePageDialogCtr); return; + } else if(event.getCommand().equals("media.upload")) { + doUploadFiles(ureq); + return; + } else if(event.getCommand().equals("manage.media")) { + doManageMedias(ureq, wiki); + return; } boolean dirty = !wikiEditForm.getWikiContent().equals(page.getContent()); if (wantPreview) { - WikiPage preview = new WikiPage("temp"); - preview.setContent(wikiEditForm.getWikiContent()); - wikiVersionDisplayComp.setWikiContent(preview.getContent()); - editContent.put("versionDisplay", wikiVersionDisplayComp); + WikiPage preview = new WikiPage("temp"); + preview.setContent(wikiEditForm.getWikiContent()); + wikiVersionDisplayComp.setWikiContent(preview.getContent()); + editContent.put("versionDisplay", wikiVersionDisplayComp); } if (wantSave && dirty) { @@ -998,6 +984,14 @@ public class WikiMainController extends BasicController implements CloneableCont } } + private void cleanUp() { + removeAsListenerAndDispose(cmc); + removeAsListenerAndDispose(wikiUploadFileCtr); + + cmc = null; + wikiUploadFileCtr = null; + } + private boolean isImage(String filename) { String fileSuffix = filename.substring(filename.lastIndexOf(".")+1, filename.length()).toLowerCase(); if (fileSuffix.equals("jpg")) return true; @@ -1069,6 +1063,34 @@ public class WikiMainController extends BasicController implements CloneableCont } tabs.setEnabled(3,enable); } + + private void doUploadFiles(UserRequest ureq) { + removeAsListenerAndDispose(cmc); + removeAsListenerAndDispose(wikiUploadFileCtr); + + wikiUploadFileCtr = new WikiFileUploadController(ureq, getWindowControl(), WikiManager.getInstance().getMediaFolder(ores)); + listenTo(wikiUploadFileCtr); + + String title = translate("media.upload"); + cmc = new CloseableModalController(getWindowControl(), translate("close"), wikiUploadFileCtr.getInitialComponent(), + true, title, true); + listenTo(cmc); + cmc.activate(); + } + + private void doManageMedias(UserRequest ureq, Wiki wiki) { + if(wiki.getMediaFileListWithMetadata().size() > 0){ + mediaMgntContent = createVelocityContainer("media"); + refreshTableDataModel(ureq, wiki); + mediaMgntContent.put("mediaMgmtTable", mediaTableCtr.getInitialComponent()); + + removeAsListenerAndDispose(cmc); + cmc = new CloseableModalController(getWindowControl(), translate("close"), mediaMgntContent, true, translate("manage.media")); + listenTo(cmc); + + cmc.activate(); + } + } @Override protected void doDispose() { diff --git a/src/main/java/org/olat/modules/wiki/WikiPageChangeOrCreateNotificationHandler.java b/src/main/java/org/olat/modules/wiki/WikiPageChangeOrCreateNotificationHandler.java index af48339018a29f4f08a7eaf282a4ad3d11a79920..e0225a5912c3dee7b904deb6612118e9064a06f1 100644 --- a/src/main/java/org/olat/modules/wiki/WikiPageChangeOrCreateNotificationHandler.java +++ b/src/main/java/org/olat/modules/wiki/WikiPageChangeOrCreateNotificationHandler.java @@ -45,7 +45,8 @@ import org.olat.core.gui.translator.Translator; import org.olat.core.id.Identity; import org.olat.core.id.OLATResourceable; import org.olat.core.id.context.BusinessControlFactory; -import org.olat.core.logging.LogDelegator; +import org.olat.core.logging.OLog; +import org.olat.core.logging.Tracing; import org.olat.core.util.Util; import org.olat.core.util.resource.OresHelper; import org.olat.course.CourseFactory; @@ -59,6 +60,9 @@ import org.olat.fileresource.types.WikiResource; import org.olat.group.BusinessGroup; import org.olat.group.BusinessGroupService; import org.olat.modules.ModuleConfiguration; +import org.olat.modules.fo.ForumManager; +import org.olat.modules.fo.ForumNotificationsHandler; +import org.olat.modules.fo.Message; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryManager; @@ -71,9 +75,11 @@ import org.olat.repository.RepositoryManager; * * @author guido */ -public class WikiPageChangeOrCreateNotificationHandler extends LogDelegator implements NotificationsHandler { +public class WikiPageChangeOrCreateNotificationHandler implements NotificationsHandler { + + private static final OLog log = Tracing.createLoggerFor(WikiPageChangeOrCreateNotificationHandler.class); - private static final String CSS_CLASS_WIKI_PAGE_CHANGED_ICON = "o_edit_icon"; + private static final String CSS_CLASS_WIKI_PAGE_CHANGED_ICON = "o_wiki_icon"; protected String businessControlString; public WikiPageChangeOrCreateNotificationHandler() { @@ -84,14 +90,17 @@ public class WikiPageChangeOrCreateNotificationHandler extends LogDelegator impl * @see org.olat.core.commons.services.notifications.NotificationsHandler#createSubscriptionInfo(org.olat.core.commons.services.notifications.Subscriber, * java.util.Locale, java.util.Date) */ + @Override public SubscriptionInfo createSubscriptionInfo(Subscriber subscriber, final Locale locale, Date compareDate) { Publisher p = subscriber.getPublisher(); final Date latestNews = p.getLatestNewsDate(); Long resId = p.getResId(); SubscriptionInfo si; + final boolean debug = log.isDebug(); + // there could be news for me, investigate deeper - logDebug("compareDate=" + compareDate + " ; latestNews=" + latestNews, null); + if(debug) log.debug("compareDate=" + compareDate + " ; latestNews=" + latestNews, null); try { if (NotificationsManager.getInstance().isPublisherValid(p) && compareDate.before(latestNews)) { OLATResourceable ores = null; @@ -111,61 +120,88 @@ public class WikiPageChangeOrCreateNotificationHandler extends LogDelegator impl ModuleConfiguration config = ((WikiCourseNode)courseNode).getModuleConfiguration(); RepositoryEntry re = WikiEditController.getWikiRepoReference(config, true); resId = re.getOlatResource().getResourceableId(); - logDebug("resId=" + resId, null); + if(debug) log.debug("resId=" + resId, null); ores = OresHelper.createOLATResourceableInstance(WikiResource.TYPE_NAME, resId); businessControlString = p.getBusinessPath() + "[path="; } else { // resName = 'BusinessGroup' or 'FileResource.WIKI' - logDebug("p.getResName()=" + p.getResName(), null); - ores = OresHelper.createOLATResourceableInstance(p.getResName(), resId); + if(debug) log.debug("p.getResName()=" + p.getResName(), null); + ores = OresHelper.createOLATResourceableInstance(p.getResName(), resId); businessControlString = p.getBusinessPath() + "[path="; } Wiki wiki = WikiManager.getInstance().getOrLoadWiki(ores); final List<WikiPage> pages = wiki.getPagesByDate(); Translator translator = Util.createPackageTranslator(WikiPageChangeOrCreateNotificationHandler.class, locale); + Translator forumTranslator = Util.createPackageTranslator(ForumNotificationsHandler.class, locale); TitleItem title = getTitleItem(p, translator); si = new SubscriptionInfo(subscriber.getKey(), p.getType(), title, null); - SubscriptionListItem subListItem; - for (Iterator<WikiPage> it = pages.listIterator(); it.hasNext();) { - WikiPage element = it.next(); - - // do only show entries newer then the ones already seen - Date modDate = new Date(element.getModificationTime()); - logDebug("modDate=" + modDate + " ; compareDate=" + compareDate, null); - if (modDate.after(compareDate)) { - if((element.getPageName().startsWith("O_") || element.getPageName().startsWith(WikiPage.WIKI_MENU_PAGE)) && - (element.getModifyAuthor() <= 0)) { - //theses pages are created sometimes automatically. Check if this is the case - continue; - } + + for (Iterator<WikiPage> it = pages.listIterator(); it.hasNext();) { + WikiPage element = it.next(); + + // do only show entries newer then the ones already seen + Date modDate = new Date(element.getModificationTime()); + if(debug) log.debug("modDate=" + modDate + " ; compareDate=" + compareDate, null); + if (modDate.after(compareDate)) { + if((element.getPageName().startsWith("O_") || element.getPageName().startsWith(WikiPage.WIKI_MENU_PAGE)) + && (element.getModifyAuthor() <= 0)) { + //theses pages are created sometimes automatically. Check if this is the case + continue; + } - //build Businesscontrol-Path - String businessPath = null; - String urlToSend = null; - if(p.getBusinessPath() != null) { - businessPath = businessControlString + element.getPageName() + "]"; - urlToSend = BusinessControlFactory.getInstance().getURLFromBusinessPathString(businessPath); - } - - // string[] gets filled into translation key by adding {0...n} to - // the string - Identity ident = BaseSecurityManager.getInstance().loadIdentityByKey(Long.valueOf(element.getModifyAuthor())); - String desc = translator.translate("notifications.entry", new String[] { element.getPageName(), NotificationHelper.getFormatedName(ident)}); - subListItem = new SubscriptionListItem(desc, urlToSend, businessPath, modDate, CSS_CLASS_WIKI_PAGE_CHANGED_ICON); - si.addSubscriptionListItem(subListItem); - } else { - //there are no more new pages so we stop here - break; - } + //build Businesscontrol-Path + String businessPath = null; + String urlToSend = null; + if(p.getBusinessPath() != null) { + businessPath = businessControlString + element.getPageName() + "]"; + urlToSend = BusinessControlFactory.getInstance().getURLFromBusinessPathString(businessPath); + } + + // string[] gets filled into translation key by adding {0...n} to + // the string + Identity ident = BaseSecurityManager.getInstance().loadIdentityByKey(Long.valueOf(element.getModifyAuthor())); + String desc = translator.translate("notifications.entry", new String[] { element.getPageName(), NotificationHelper.getFormatedName(ident)}); + SubscriptionListItem subListItem = new SubscriptionListItem(desc, urlToSend, businessPath, modDate, CSS_CLASS_WIKI_PAGE_CHANGED_ICON); + si.addSubscriptionListItem(subListItem); + } + + long forumKey = element.getForumKey(); + List<Message> mInfos = ForumManager.getInstance().getNewMessageInfo(forumKey, compareDate); + + for (Message mInfo : mInfos) { + String messageTitle = mInfo.getTitle(); + Identity creator = mInfo.getCreator(); + Identity modifier = mInfo.getModifier(); + Date messageModDate = mInfo.getLastModified(); + + String name; + if(modifier != null) { + name = NotificationHelper.getFormatedName(modifier); + } else { + name = NotificationHelper.getFormatedName(creator); + } + final String descKey = "notifications.entry" + (mInfo.getCreationDate().equals(messageModDate) ? "" : ".modified"); + final String desc = forumTranslator.translate(descKey, new String[] { messageTitle, name }); + String urlToSend = null; + String businessPath = null; + if(p.getBusinessPath() != null) { + businessPath = businessControlString + element.getPageName() + "][message:" + mInfo.getKey().toString() + "]"; + urlToSend = BusinessControlFactory.getInstance().getURLFromBusinessPathString(businessPath); } + + SubscriptionListItem subListItem = + new SubscriptionListItem(desc, urlToSend, businessPath, messageModDate, CSS_CLASS_WIKI_PAGE_CHANGED_ICON); + si.addSubscriptionListItem(subListItem); + } + } } else { //no news si = NotificationsManager.getInstance().getNoSubscriptionInfo(); } } catch (Exception e) { - logError("Error creating wiki's notifications for subscriber: " + subscriber.getKey(), e); + log.error("Error creating wiki's notifications for subscriber: " + subscriber.getKey(), e); checkPublisher(p); si = NotificationsManager.getInstance().getNoSubscriptionInfo(); } @@ -177,22 +213,22 @@ public class WikiPageChangeOrCreateNotificationHandler extends LogDelegator impl if("BusinessGroup".equals(p.getResName())) { BusinessGroup bg = CoreSpringFactory.getImpl(BusinessGroupService.class).loadBusinessGroup(p.getResId()); if(bg == null) { - logInfo("deactivating publisher with key; " + p.getKey(), null); + log.info("deactivating publisher with key; " + p.getKey(), null); NotificationsManager.getInstance().deactivate(p); } } else if ("CourseModule".equals(p.getResName())) { if(!NotificationsUpgradeHelper.checkCourse(p)) { - logInfo("deactivating publisher with key; " + p.getKey(), null); + log.info("deactivating publisher with key; " + p.getKey(), null); NotificationsManager.getInstance().deactivate(p); } } else { if(!NotificationsUpgradeHelper.checkOLATResourceable(p)) { - logInfo("deactivating publisher with key; " + p.getKey(), null); + log.info("deactivating publisher with key; " + p.getKey(), null); NotificationsManager.getInstance().deactivate(p); } } } catch (Exception e) { - logError("", e); + log.error("", e); } } @@ -220,7 +256,7 @@ public class WikiPageChangeOrCreateNotificationHandler extends LogDelegator impl TitleItem title = getTitleItem(subscriber.getPublisher(), translator); return title.getInfoContent("text/plain"); } catch (Exception e) { - logError("Error while creating assessment notifications for subscriber: " + subscriber.getKey(), e); + log.error("Error while creating assessment notifications for subscriber: " + subscriber.getKey(), e); checkPublisher(subscriber.getPublisher()); return "-"; } diff --git a/src/main/java/org/olat/modules/wiki/_content/edit.html b/src/main/java/org/olat/modules/wiki/_content/edit.html index 5dc1aea6a016786d06f8303ac0ddb5965aa2396c..caa4bd39949e1397a6df50b5641e7fafb6f8fd9d 100644 --- a/src/main/java/org/olat/modules/wiki/_content/edit.html +++ b/src/main/java/org/olat/modules/wiki/_content/edit.html @@ -73,20 +73,6 @@ <div class="o_wikimod_editform_wrapper"> $r.render('editForm') </div> - - #o_togglebox_start("o_wikimod_uploader" $r.translate("media.upload")) - <span class='xsmall'> - $r.translate('upload.example') - </span> - $r.render('fileUplCtr') - <br /> - <span class='emphasis'> - $r.translate('media.insert.hint') - </span> - <br /><br /> - $r.render('manage.media') - <br /> - #o_togglebox_end() #end #if (!$r.available("versionDisplay")) diff --git a/src/main/java/org/olat/modules/wiki/_content/upload_file.html b/src/main/java/org/olat/modules/wiki/_content/upload_file.html new file mode 100644 index 0000000000000000000000000000000000000000..6effb2ba01f0ff0e869fbd2f1754fec5ced5a06b --- /dev/null +++ b/src/main/java/org/olat/modules/wiki/_content/upload_file.html @@ -0,0 +1,2 @@ +<div class="o_info">$r.translate('upload.example')<br/>$r.translate('media.insert.hint')</div> +$r.render("fileUpload") \ No newline at end of file diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_ar.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_ar.properties index 888fc95a752e445489aa6faab66f19cc450b342b..c06c35b151f63e69b669e98d70ae53678c862efd 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_ar.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_ar.properties @@ -51,7 +51,7 @@ link.insert=\u0625\u062F\u0631\u0627\u062C \u0631\u0627\u0628\u0637 manage.media=\u0625\u062F\u0627\u0631\u0629 \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0627\u0644\u0645\u0648\u062C\u0648\u062F\u0629 media.insert=\u0625\u062F\u0631\u0627\u062C \u0645\u0644\u0641 media.insert.hint=(\u0623\u0639\u0644\u0649 \u0627\u0644\u064A\u0645\u064A\u0646) <b>\u0625\u062F\u0631\u0627\u062C \u0645\u0644\u0641</b> \u0625\u062F\u0631\u0627\u062C \u0645\u0644\u0641 \u0645\u0648\u062C\u0648\u062F \u062F\u0627\u062E\u0644 \u0627\u0644\u0648\u064A\u0643\u0649 \u0645\u0646 \u062E\u0644\u0627\u0644 -media.upload=...<b> \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0645\u0644\u0641 </b> +media.upload=\u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0645\u0644\u0641 nav.a-z.desc=\=\=\=\= \u0635\u0641\u062D\u0627\u062A \u0627\u0644\u0648\u064A\u0643\u0649 \u0645\u0631\u062A\u0628\u0629 \u0623\u0628\u062C\u062F\u064A\u0627 \=\=\=\= nav.changes.desc=\=\=\=\= \u0642\u0627\u0626\u0645\u0629 \u0628\u0627\u0644\u062A\u063A\u064A\u064A\u0631\u0627\u062A \u0627\u0644\u0623\u062E\u064A\u0631\u0629 \=\=\=\= navigation.a-z=A-Z \u0645\u0646 diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_bg.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_bg.properties index 5a75a672d9ee6d6bdad7661a8324bf7d1db3b833..32323c15abd34d5d449f6599b0c19102e1f0beaa 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_bg.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_bg.properties @@ -51,7 +51,7 @@ link.insert=\u0414\u043E\u0431\u0430\u0432\u0435\u0442\u0435 \u0432\u0440\u044A\ manage.media=\u041C\u0435\u043D\u0430\u0436\u0438\u0440\u0430\u0439\u0442\u0435 \u0441\u044A\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449\u0438 \u0444\u0430\u0439\u043B\u043E\u0432\u0435 media.insert=\u0414\u043E\u0431\u0430\u0432\u0435\u0442\u0435 \u0444\u0430\u0439\u043B media.insert.hint=\u0414\u043E\u0431\u0430\u0432\u0435\u0442\u0435 \u0441\u044A\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0449 \u0444\u0430\u0439\u043B \u0432 \u0423\u0438\u043A\u0438 \u0441 \u043F\u043E\u043C\u043E\u0449\u0430 \u043D\u0430 <b>\u0414\u043E\u0431\u0430\u0432\u0435\u0442\u0435 \u0444\u0430\u0439\u043B</b> (\u0433\u043E\u0440\u0435 \u0432\u0434\u044F\u0441\u043D\u043E). -media.upload=<b>\u041A\u0430\u0447\u0435\u0442\u0435 \u0444\u0430\u0439\u043B</b>... +media.upload=\u041A\u0430\u0447\u0435\u0442\u0435 \u0444\u0430\u0439\u043B nav.a-z.desc=\=\=\=\=\u0423\u0438\u043A\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0438 \u0432 \u0430\u0437\u0431\u0443\u0447\u0435\u043D \u0440\u0435\u0434\=\=\=\= nav.changes.desc=\=\=\=\=\u0421\u043F\u0438\u0441\u044A\u043A \u043D\u0430 \u043D\u0435\u043E\u0442\u0434\u0430\u0432\u043D\u044A\u0448\u043D\u0438 \u043F\u0440\u043E\u043C\u0435\u043D\u0438\=\=\=\= navigation.a-z=\u041E\u0442 \u0410-\u042F diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_cs.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_cs.properties index 913f8fbaa699c1f4ae2fdcdeda570b2cc0081365..8c4535c9af4a16151671fd0a6dcc3a6ecdbdd481 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_cs.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_cs.properties @@ -51,7 +51,7 @@ link.insert=Vlo\u017Eit odkaz manage.media=Spravovat existuj\u00EDc\u00ED soubory media.insert=Vlo\u017Eit medium media.insert.hint=Vlo\u017Eit existuj\u00EDc\u00ED soubor do Wiki <b>Vlo\u017Eit soubor</b> (naho\u0159e vpravo). -media.upload=<b>Nahr\u00E1t soubor</b> vlo\u017Eit odkaz do Wiki ve smyslu\: +media.upload=Nahr\u00E1t soubor vlo\u017Eit odkaz do Wiki ve smyslu\: nav.a-z.desc=\=\=\=\=V\u0161echny str\u00E1nky ve Wiki od A do Z\=\=\=\=\n\n\n nav.changes.desc=\=\=\=\=Seznam sou\u010Dasn\u00FDch zm\u011Bn ve Wiki\=\=\=\=\n\n\n navigation.a-z=Od A-Z diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_de.properties index 9e505a7c3bd56a83cdc06c63ff0d5ac14638a5fd..8e53fb6feb0b25f6f09d61a305cf4ed355ee6cfc 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_de.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_de.properties @@ -51,7 +51,7 @@ link.insert=Link einf\u00FCgen manage.media=Bestehende Dateien verwalten media.insert=Datei einf\u00FCgen media.insert.hint=Bestehende Datei in Wiki einf\u00FCgen mittels <b>Datei einf\u00FCgen</b> (rechts oben). -media.upload=<b>Datei hochladen</b>... +media.upload=Datei hochladen nav.a-z.desc=\=\=\=\=Wiki-Seiten alphabetisch geordnet\=\=\=\=\n\n\n nav.changes.desc=\=\=\=\=Liste der zuletzt ge\u00E4nderten Seiten\=\=\=\=\n\n\n navigation.a-z=Von A-Z diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_el.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_el.properties index 1e548d67dc0e7671e07dd3daeb63883f14f45d1f..1591eb77991ec0ff1c396e25329c02107f0c3d47 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_el.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_el.properties @@ -51,7 +51,7 @@ link.insert=\u0395\u03B9\u03C3\u03B1\u03B3\u03C9\u03B3\u03AE \u03C3\u03C5\u03BD\ manage.media=\u0394\u03B9\u03B1\u03C7\u03B5\u03AF\u03C1\u03B9\u03C3\u03B7 \u03C5\u03C0\u03B1\u03C1\u03C7\u03CC\u03BD\u03C4\u03C9\u03BD \u03B1\u03C1\u03C7\u03B5\u03AF\u03C9\u03BD media.insert=\u0395\u03B9\u03C3\u03B1\u03B3\u03C9\u03B3\u03AE \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF\u03C5 media.insert.hint=\u0395\u03B9\u03C3\u03B1\u03B3\u03C9\u03B3\u03AE \u03C5\u03C0\u03AC\u03C1\u03C7\u03BF\u03BD\u03C4\u03BF\u03C2 \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF\u03C5 \u03C3\u03C4\u03BF Wiki \u03BC\u03B5 \u03C4\u03B7 \u03B2\u03BF\u03AE\u03B8\u03B5\u03B9\u03B1 \u03C4\u03BF\u03C5 <b>\u0395\u03B9\u03C3\u03B1\u03B3\u03C9\u03B3\u03AE \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF\u03C5</b> (\u03C0\u03AC\u03BD\u03C9 \u03B4\u03B5\u03BE\u03B9\u03AC). -media.upload=<b>\u0391\u03BD\u03AD\u03B2\u03B1\u03C3\u03BC\u03B1 \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF\u03C5</b>... +media.upload=\u0391\u03BD\u03AD\u03B2\u03B1\u03C3\u03BC\u03B1 \u03B1\u03C1\u03C7\u03B5\u03AF\u03BF\u03C5 nav.a-z.desc=\=\=\=\=\u03A3\u03B5\u03BB\u03AF\u03B4\u03B5\u03C2 Wiki \u03BC\u03B5 \u03B1\u03BB\u03C6\u03B1\u03B2\u03B7\u03C4\u03B9\u03BA\u03AE \u03C3\u03B5\u03B9\u03C1\u03AC\=\=\=\=\n\n\n nav.changes.desc=\=\=\=\=\u039B\u03AF\u03C3\u03C4\u03B1 \u03C0\u03C1\u03CC\u03C3\u03C6\u03B1\u03C4\u03C9\u03BD \u03B1\u03BB\u03BB\u03B1\u03B3\u03CE\u03BD\=\=\=\=\n\n\n navigation.a-z=\u0391\u03C0\u03CC \u0391-\u03A9 diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_en.properties index 4ce5c0caed64c776a9f74e4cc64e9f71e682223c..cebc3ec1809fec4f30f5f8174bd6deb513843ac3 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_en.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_en.properties @@ -51,7 +51,7 @@ link.insert=Insert link manage.media=Manage existing files media.insert=Insert file media.insert.hint=Insert existing file into Wiki by means of <b>Insert file</b> (top right). -media.upload=<b>Upload file</b>... +media.upload=Upload file nav.a-z.desc=\=\=\=\=Wiki pages in alphabetic order\=\=\=\=\n\n\n nav.changes.desc=\=\=\=\=List of recent changes\=\=\=\=\n\n\n navigation.a-z=From A-Z diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_es.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_es.properties index 315d8f33413c119a531f6661f204c5a524963389..c1170a998d174a91e6c0e8da00e54748277101e1 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_es.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_es.properties @@ -51,7 +51,7 @@ link.insert=Insertar enlace manage.media=Manejar archivos existente media.insert=Insertar archivo media.insert.hint=Puedes a\u00F1adir un archivo en el Wiki con <b>Insertar archivo</b> (encimo a la derecha). -media.upload=<b>Subir archivo</b>... +media.upload=Subir archivo nav.a-z.desc=\=\=\=\=Todo los p\u00E1ginas Wiki de A a Z\=\=\=\=\n\n\n nav.changes.desc=\=\=\=\=Lists de cambios recientes en el Wiki\=\=\=\=\n\n\n navigation.a-z=De A-Z diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_fr.properties index a6debd54426f18935b7f4a9542047fc1b1125ed6..3b8c901ab11ef0cb9e1e86a87b2555455d4c011e 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_fr.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_fr.properties @@ -51,7 +51,7 @@ link.insert=Ins\u00E9rer lien manage.media=G\u00E9rer des fichiers existants media.insert=Ins\u00E9rer fichier media.insert.hint=Ins\u00E9rer fichier existant dans Wiki \u00E0 l'aide de <b>Ins\u00E9rer fichier</b> (en haut \u00E0 droite). -media.upload=T\u00E9l\u00E9charger fichier ... +media.upload=T\u00E9l\u00E9charger un fichier nav.a-z.desc=\=\=\=les pages wiki de A \u00E0 Z\=\=\=\=\n\n\n nav.changes.desc=\=\=\=\=Liste des pages modifi\u00E9es derni\u00E8rement en wiki\=\=\=\=\n\n\n navigation.a-z=De A \u00E0 Z diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_it.properties index d6bf30750a3e5a56761281ef77a9298ad7ffd727..8cc5a365b777a3a19e8b22bc4419fb33da10449b 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_it.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_it.properties @@ -51,7 +51,7 @@ link.insert=Inserire link manage.media=Gestisci file esistenti media.insert=Inserire file media.insert.hint=Inserire il file esistente nel wiki mediante <b>Inserire file</b> (in alto a destra). -media.upload=<b>Caricare il file</b>... +media.upload=Caricare il file nav.a-z.desc=\=\=\=\=Tutte le pagine del wiki in ordine alfabetico\=\=\=\=\n\n\n nav.changes.desc=\=\=\=\=Lista delle pagine modificate ultimamente\=\=\=\=\n\n\n navigation.a-z=Da A-Z diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_jp.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_jp.properties index 59b6101792706582cf7bf748a3f2c04e6f10fe8a..0fbd009ae36c14fabd2bff5f317e49ea4a14385b 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_jp.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_jp.properties @@ -49,7 +49,7 @@ link.insert=\u30EA\u30F3\u30AF\u3092\u633F\u5165\u3059\u308B manage.media=\u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u7BA1\u7406\u3059\u308B media.insert=\u30D5\u30A1\u30A4\u30EB\u3092\u633F\u5165\u3059\u308B media.insert.hint=<b>\u30D5\u30A1\u30A4\u30EB\u3092\u633F\u5165\u3059\u308B</b> (\u30DA\u30FC\u30B8\u53F3\u4E0A)\u3000\u3092\u4F7F\u3063\u3066\u3001\u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u633F\u5165\u3057\u307E\u3059\u3002 -media.upload=<b>\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B</b>... +media.upload=\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308B nav.a-z.desc=\=\=\=\=Wiki\u30DA\u30FC\u30B8 - \u30A2\u30EB\u30D5\u30A1\u30D9\u30C3\u30C8\u9806\=\=\=\= nav.changes.desc=\=\=\=\= \u6700\u8FD1\u306E\u5909\u66F4\u4E00\u89A7 \=\=\=\= navigation.a-z=A-Z diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_nl_NL.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_nl_NL.properties index 474ed879e8e85a413df24b3710573dbba0967ab5..7a09a0c45d34298b854da9b0248359c0d9b4a5e5 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_nl_NL.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_nl_NL.properties @@ -51,7 +51,7 @@ link.insert=Link invoegen manage.media=Bestaande bestanden beheren media.insert=Bestand invoegen media.insert.hint=Bestaand bestand in Wiki ingeven doormiddel van <b>Bestand invoegen</b> (rechtsboven). -media.upload=<b>Bestand uploaden</b>... +media.upload=Bestand uploaden nav.a-z.desc=\=\=\=\=Wiki pagina's in alfabetische volgorde\=\=\=\= nav.changes.desc=\=\=\=\=Lijst van recente veranderingen\=\=\=\= navigation.a-z=Van A-Z diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_pl.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_pl.properties index 104a87476598c64fbd734a00cd9b8190e45ef548..13b3860da36f3d7ae994f166a0f736989e9a6939 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_pl.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_pl.properties @@ -51,7 +51,7 @@ link.insert=Dodaj link manage.media=Zarz\u0105dzaj plikami media.insert=Dodaj plik media.insert.hint=Wstaw istniej\u0105cy plik do Wiki za pomoc\u0105 <b>Wstaw plik</b> (po prawej u g\u00F3ry). -media.upload=<b>Prze\u015Blij plik</b>... +media.upload=Prze\u015Blij plik nav.a-z.desc=\=\=\=\=Artyku\u0142y Wiki w porz\u0105dku alfabetycznym\=\=\=\=\n\n\n nav.changes.desc=\=\=\=\=Lista ostatnich zmian\=\=\=\=\n\n\n navigation.a-z=Spis A-Z diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_pt_BR.properties index 3a716186b614228c373ede18aaf88b2bf9a2d952..c5a63a62a7447497e9b26c01d9a8caea18699ca4 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_pt_BR.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_pt_BR.properties @@ -51,7 +51,7 @@ link.insert=Inserir link manage.media=Administrar arquivos media.insert=Inserir m\u00EDdia media.insert.hint=Inserir arquivo existente no Wiki por meio de <b>Inserir arquivo</b> (topo direito). -media.upload=<b>Carregar arquivo</b> e linkar ao Wiki por meio de\: +media.upload=Carregar arquivo nav.a-z.desc=\=\=\=\=Todas as p\u00E1ginas no Wiki de A a Z\=\=\=\=\n\n\n nav.changes.desc=\=\=\=\=Lista de mudan\u00E7as recentes no Wiki\=\=\=\=\n\n\n navigation.a-z=De A a Z diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_pt_PT.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_pt_PT.properties index 03438c268d99878d41af26e540b0f73dd7a98862..10ce34b7a417e6233b0c84f573510c45f9c1a1a2 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_pt_PT.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_pt_PT.properties @@ -50,7 +50,7 @@ link.insert=Inserir link manage.media=Administrar arquivos media.insert=Inserir m\u00EDdia media.insert.hint=Inserir arquivo existente no Wiki por meio de <b>Inserir arquivo</b> (topo direito). -media.upload=<b>Carregar arquivo</b> e linkar ao Wiki por meio de\: +media.upload=Carregar arquivo nav.a-z.desc=\=\=\=\=Todas as p\u00E1ginas no Wiki de A a Z\=\=\=\=\n\n\n nav.changes.desc=\=\=\=\=Lista de mudan\u00E7as recentes no Wiki\=\=\=\=\n\n\n navigation.a-z=De A a Z diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_ru.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_ru.properties index 80ff7e535310f2c3bfbe30c582520fcce40ea31c..c39dd4908b0123af85dfb8c4e47485fef1f5d52c 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_ru.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_ru.properties @@ -48,7 +48,7 @@ link.insert=\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0441\u0441\u044B\ manage.media=\u0410\u0434\u043C\u0438\u043D\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0435 \u0444\u0430\u0439\u043B\u044B media.insert=\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0444\u0430\u0439\u043B media.insert.hint=\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432 \u0412\u0438\u043A\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0439 \u0444\u0430\u0439\u043B \u0441 \u043F\u043E\u043C\u043E\u0449\u044C\u044E <b>\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0444\u0430\u0439\u043B</b> (\u0432\u0432\u0435\u0440\u0445\u0443 \u0441\u043F\u0440\u0430\u0432\u0430). -media.upload=<b>\u041F\u0435\u0440\u0435\u0441\u043B\u0430\u0442\u044C \u0444\u0430\u0439\u043B</b>... +media.upload=\u041F\u0435\u0440\u0435\u0441\u043B\u0430\u0442\u044C \u0444\u0430\u0439\u043B nav.a-z.desc=\=\=\=\=\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u0412\u0438\u043A\u0438 \u0432 \u0430\u043B\u0444\u0430\u0432\u0438\u0442\u043D\u043E\u043C \u043F\u043E\u0440\u044F\u0434\u043A\u0435\=\=\=\=\n\n\n nav.changes.desc=\=\=\=\=\u0421\u043F\u0438\u0441\u043E\u043A \u0441\u0442\u0440\u0430\u043D\u0438\u0446 \u0441 \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u043C\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F\u043C\u0438\=\=\=\=\n\n\n navigation.a-z=\u0410 \u2014 \u042F diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_sq.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_sq.properties index 43581707ec0f4ed8f5308aeb5e4182c1fd10ac54..976885421f06c9c66cec8153b2cbe43f413e6a19 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_sq.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_sq.properties @@ -49,7 +49,7 @@ historic.version=P\u00EBrmbajtja e versionit \#{0} link.insert=Nd\u00EBrfut vjeg\u00EBz manage.media=Drejto skedar\u00EBt media.insert=Nd\u00EBrfut skedar -media.upload=<b>Ngarko skedar</b> dhe nj\u00EB vjeg\u00EBz te Wiki me an\u00EB t\u00EB\: +media.upload=Ngarko skedar nav.a-z.desc=\=\=\=\=Wiki faqet n\u00EB renditjen alfabetike\=\=\=\=\n\n\n nav.changes.desc=\=\=\=\=Lista e ndryshimeve t\u00EB fundit\=\=\=\=\n\n\n navigation.a-z=Prej A-Zh diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_zh_CN.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_zh_CN.properties index 8d6b29d2e94ec0963df24a0e91a0bf103631e781..398b8eebb31a8b937ed21ac51f61bbaf7584f34b 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_zh_CN.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_zh_CN.properties @@ -51,7 +51,7 @@ link.insert=\u63D2\u5165\u94FE\u63A5 manage.media=\u7BA1\u7406\u73B0\u6709\u7684\u6587\u4EF6 media.insert=\u63D2\u5165\u5A92\u4F53 media.insert.hint=\u901A\u8FC7<b>\u63D2\u5165\u6587\u4EF6</b>\u7684\u65B9\u5F0F\uFF0C\u63D2\u5165\u73B0\u6709\u7684\u6587\u4EF6\u5230\u7EF4\u57FA\u7684\u53F3\u4E0A\u89D2\u3002 -media.upload=<b>\u4E0A\u4F20\u6587\u4EF6</b>... +media.upload=\u4E0A\u4F20\u6587\u4EF6 nav.a-z.desc=\=\=\=\=\u6309\u5B57\u6BCD\u987A\u5E8F\u6392\u5217\u7684\u7EF4\u57FA\u8BCD\u6761\=\=\=\= nav.changes.desc=\=\=\=\=\u8FD1\u671F\u7EF4\u57FA\u8BCD\u6761\u7684\u66F4\u65B0\u5217\u8868\=\=\=\= navigation.a-z=A\u5230Z diff --git a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_zh_TW.properties b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_zh_TW.properties index 691820e3cfa5c6b89e08ffffa18a637717c962d4..e503dc1adff23c7976f15e6b8a69ce7e7da6708f 100644 --- a/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_zh_TW.properties +++ b/src/main/java/org/olat/modules/wiki/_i18n/LocalStrings_zh_TW.properties @@ -51,7 +51,7 @@ link.insert=\u63D2\u5165\u9023\u7D50 manage.media=\u7BA1\u7406\u73FE\u6709\u7684\u6A94\u6848 media.insert=\u63D2\u5165\u6A94\u6848 media.insert.hint=\u63D2\u5165\u73FE\u6709\u7684\u6A94\u6848\u5230 Wiki \u5229\u7528 <b>\u63D2\u5165\u6A94\u6848</b> (\u53F3\u4E0A\u89D2)\u3002 -media.upload=<b>\u4E0A\u50B3\u6A94\u6848</b>... +media.upload=\u4E0A\u50B3\u6A94\u6848 nav.a-z.desc=\=\=\=\=Wiki \u9801\u9762\u4F9D\u5B57\u6BCD\u9806\u5E8F\=\=\=\=\n\n\n nav.changes.desc=\=\=\=\=\u8FD1\u671F\u7570\u52D5\u6E05\u55AE\=\=\=\=\n\n\n navigation.a-z=\u5F9E A \u5230 Z