Index: lams_tool_larsrc/conf/language/lams/ApplicationResources_en_AU.properties =================================================================== diff -u -r5ca80ec65bc9e5f846016f50c8d0e18552c576b3 -r199c9d26d57c7372cfb86f92018ab4c6fb9588dd --- lams_tool_larsrc/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision 5ca80ec65bc9e5f846016f50c8d0e18552c576b3) +++ lams_tool_larsrc/conf/language/lams/ApplicationResources_en_AU.properties (.../ApplicationResources_en_AU.properties) (revision 199c9d26d57c7372cfb86f92018ab4c6fb9588dd) @@ -174,5 +174,5 @@ monitoring.label.views =Views label.monitoring.heading =Share Resources Monitoring - +open.file.in.new.window =Open file in a pop-up #======= End labels: Exported 167 labels for en AU ===== Index: lams_tool_larsrc/conf/xdoclet/struts-actions.xml =================================================================== diff -u -rd926a01b391e585bd535135a7360205f36cde6e6 -r199c9d26d57c7372cfb86f92018ab4c6fb9588dd --- lams_tool_larsrc/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision d926a01b391e585bd535135a7360205f36cde6e6) +++ lams_tool_larsrc/conf/xdoclet/struts-actions.xml (.../struts-actions.xml) (revision 199c9d26d57c7372cfb86f92018ab4c6fb9588dd) @@ -147,6 +147,11 @@ parameter="openUrlPopup"> + + + sessionMap = (SessionMap) request.getSession().getAttribute( + sessionMapID); + + ResourceItem item = getResourceItem(request, sessionMap, mode); + + String idStr = request.getParameter(ResourceConstants.ATTR_TOOL_SESSION_ID); + Long sessionId = NumberUtils.createLong(idStr); + // mark this item access flag if it is learner + if (ToolAccessMode.LEARNER.toString().equals(mode)) { + IResourceService service = getResourceService(); + HttpSession ss = SessionManager.getSession(); + // get back login user DTO + UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); + service.setItemAccess(item.getUid(), new Long(user.getUserID().intValue()), sessionId); } - /** - * Return next instrucion to page. It need four input parameters, mode, itemIndex or itemUid, and insIdx. - * @param mapping - * @param form - * @param request - * @param response - * @return - */ - private ActionForward nextInstruction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { - String mode = request.getParameter(AttributeNames.ATTR_MODE); - - String sessionMapID = WebUtil.readStrParam(request, ResourceConstants.ATTR_SESSION_MAP_ID); - SessionMap sesionMap = (SessionMap)request.getSession().getAttribute(sessionMapID); - ResourceItem item = getResourceItem(request, sesionMap, mode); - if(item == null){ - return mapping.findForward(ResourceConstants.ERROR); - } - - int currIns = NumberUtils.stringToInt(request.getParameter(ResourceConstants.PARAM_CURRENT_INSTRUCTION_INDEX),0); - - Set instructions = item.getItemInstructions(); - InstructionNavDTO navDto = new InstructionNavDTO(); - //For Learner upload item, its instruction will display description/comment fields in ReosourceItem. - if(!item.isCreateByAuthor()){ - List navItems = new ArrayList(1); - //create a new instruction and put ResourceItem description into it: just for display use. - ResourceItemInstruction ins = new ResourceItemInstruction(); - ins.setSequenceId(1); - ins.setDescription(item.getDescription()); - navItems.add(ins); - navDto.setAllInstructions(navItems); - instructions.add(ins); - }else{ - navDto.setAllInstructions(new ArrayList(instructions)); - } - navDto.setTitle(item.getTitle()); - navDto.setType(item.getType()); - navDto.setTotal(instructions.size()); - if(instructions.size() > 0){ - navDto.setInstruction((ResourceItemInstruction) new ArrayList(instructions).get(currIns)); - navDto.setCurrent(currIns+1); - }else{ - navDto.setCurrent(0); - navDto.setInstruction(null); - } - - request.setAttribute(ResourceConstants.ATTR_SESSION_MAP_ID,sessionMapID); - request.setAttribute(ResourceConstants.ATTR_RESOURCE_INSTRUCTION,navDto); - return mapping.findForward(ResourceConstants.SUCCESS); + if (item == null) { + return mapping.findForward(ResourceConstants.ERROR); } + if (item.getType() == ResourceConstants.RESOURCE_TYPE_LEARNING_OBJECT) { + sessionMap.put(ResourceConstants.ATT_LEARNING_OBJECT, item); + } + // set url to content frame - /** - * Display main frame to display instrcution and item content. - * @param mapping - * @param form - * @param request - * @param response - * @return - */ - private ActionForward reviewItem(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { - String mode = request.getParameter(AttributeNames.ATTR_MODE); - - String sessionMapID = WebUtil.readStrParam(request, ResourceConstants.ATTR_SESSION_MAP_ID); - SessionMap sessionMap = (SessionMap)request.getSession().getAttribute(sessionMapID); - - ResourceItem item = getResourceItem(request,sessionMap, mode); + int itemIdx = NumberUtils.stringToInt(request.getParameter(ResourceConstants.PARAM_ITEM_INDEX)); + request.setAttribute(ResourceConstants.ATTR_RESOURCE_REVIEW_URL, + getReviewUrl(item, sessionMapID, mode, itemIdx)); - String idStr = request.getParameter(ResourceConstants.ATTR_TOOL_SESSION_ID); - Long sessionId = NumberUtils.createLong(idStr); - //mark this item access flag if it is learner - if(ToolAccessMode.LEARNER.toString().equals(mode)){ - IResourceService service = getResourceService(); - HttpSession ss = SessionManager.getSession(); - //get back login user DTO - UserDTO user = (UserDTO) ss.getAttribute(AttributeNames.USER); - service.setItemAccess(item.getUid(),new Long(user.getUserID().intValue()),sessionId); - } - - if(item == null){ - return mapping.findForward(ResourceConstants.ERROR); - } - if(item.getType() == ResourceConstants.RESOURCE_TYPE_LEARNING_OBJECT){ - sessionMap.put(ResourceConstants.ATT_LEARNING_OBJECT,item); - } - //set url to content frame + // these attribute will be use to instruction navigator page + request.setAttribute(AttributeNames.ATTR_MODE, mode); + request.setAttribute(ResourceConstants.PARAM_ITEM_INDEX, itemIdx); + Long itemUid = NumberUtils.createLong(request.getParameter(ResourceConstants.PARAM_RESOURCE_ITEM_UID)); + request.setAttribute(ResourceConstants.PARAM_RESOURCE_ITEM_UID, itemUid); + request.setAttribute(ResourceConstants.ATTR_TOOL_SESSION_ID, sessionId); + request.setAttribute(ResourceConstants.ATTR_SESSION_MAP_ID, sessionMapID); - int itemIdx = NumberUtils.stringToInt(request.getParameter(ResourceConstants.PARAM_ITEM_INDEX)); - request.setAttribute(ResourceConstants.ATTR_RESOURCE_REVIEW_URL,getReviewUrl(item,sessionMapID,mode,itemIdx)); - - //these attribute will be use to instruction navigator page - request.setAttribute(AttributeNames.ATTR_MODE,mode); - request.setAttribute(ResourceConstants.PARAM_ITEM_INDEX,itemIdx); - Long itemUid = NumberUtils.createLong(request.getParameter(ResourceConstants.PARAM_RESOURCE_ITEM_UID)); - request.setAttribute(ResourceConstants.PARAM_RESOURCE_ITEM_UID,itemUid); - request.setAttribute(ResourceConstants.ATTR_TOOL_SESSION_ID,sessionId); - request.setAttribute(ResourceConstants.ATTR_SESSION_MAP_ID,sessionMapID); - - return mapping.findForward(ResourceConstants.SUCCESS); - + return mapping.findForward(ResourceConstants.SUCCESS); + + } + + /** + * Return next instrucion to page. It need four input parameters, mode, itemIndex or itemUid, and insIdx. + * + * @param mapping + * @param form + * @param request + * @param response + * @return + */ + private ActionForward nextInstruction(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + String mode = request.getParameter(AttributeNames.ATTR_MODE); + + String sessionMapID = WebUtil.readStrParam(request, ResourceConstants.ATTR_SESSION_MAP_ID); + SessionMap sesionMap = (SessionMap) request.getSession().getAttribute( + sessionMapID); + + ResourceItem item = getResourceItem(request, sesionMap, mode); + if (item == null) { + return mapping.findForward(ResourceConstants.ERROR); } - //************************************************************************************* - // Private method - //************************************************************************************* - /** - * Return resoruce item according to ToolAccessMode. - * @param request - * @param sessionMap - * @param mode - * @return - */ - private ResourceItem getResourceItem(HttpServletRequest request, SessionMap sessionMap, String mode) { - ResourceItem item = null; - if(ResourceConstants.MODE_AUTHOR_SESSION.equals(mode)){ - int itemIdx = NumberUtils.stringToInt(request.getParameter(ResourceConstants.PARAM_ITEM_INDEX),0); - //authoring: does not save item yet, so only has ItemList from session and identity by Index - List resourceList = new ArrayList(getResourceItemList(sessionMap)); - item = resourceList.get(itemIdx); - }else{ - Long itemUid = NumberUtils.createLong(request.getParameter(ResourceConstants.PARAM_RESOURCE_ITEM_UID)); -// get back the resource and item list and display them on page - IResourceService service = getResourceService(); - item = service.getResourceItemByUid(itemUid); - } - return item; + + int currIns = NumberUtils.stringToInt(request.getParameter(ResourceConstants.PARAM_CURRENT_INSTRUCTION_INDEX), + 0); + + Set instructions = item.getItemInstructions(); + InstructionNavDTO navDto = new InstructionNavDTO(); + // For Learner upload item, its instruction will display description/comment fields in ReosourceItem. + if (!item.isCreateByAuthor()) { + List navItems = new ArrayList(1); + // create a new instruction and put ResourceItem description into it: just for display use. + ResourceItemInstruction ins = new ResourceItemInstruction(); + ins.setSequenceId(1); + ins.setDescription(item.getDescription()); + navItems.add(ins); + navDto.setAllInstructions(navItems); + instructions.add(ins); + } else { + navDto.setAllInstructions(new ArrayList(instructions)); } - - private IResourceService getResourceService() { - WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet().getServletContext()); - return (IResourceService) wac.getBean(ResourceConstants.RESOURCE_SERVICE); + navDto.setTitle(item.getTitle()); + navDto.setType(item.getType()); + navDto.setTotal(instructions.size()); + if (instructions.size() > 0) { + navDto.setInstruction((ResourceItemInstruction) new ArrayList(instructions).get(currIns)); + navDto.setCurrent(currIns + 1); + } else { + navDto.setCurrent(0); + navDto.setInstruction(null); } + + request.setAttribute(ResourceConstants.ATTR_SESSION_MAP_ID, sessionMapID); + request.setAttribute(ResourceConstants.ATTR_RESOURCE_INSTRUCTION, navDto); + return mapping.findForward(ResourceConstants.SUCCESS); + } + + /** + * Open url or file in a popup window page. + * + * @param mapping + * @param form + * @param request + * @param response + * @return + */ + private ActionForward openUrlPopup(ActionMapping mapping, ActionForm form, HttpServletRequest request, + HttpServletResponse response) { + String mode = request.getParameter(AttributeNames.ATTR_MODE); + + if (resourceService == null) { + resourceService = ResourceServiceProxy.getResourceService(getServlet().getServletContext()); + } + + String sessionMapID = WebUtil.readStrParam(request, ResourceConstants.ATTR_SESSION_MAP_ID); + SessionMap sessionMap = (SessionMap) request.getSession().getAttribute( + sessionMapID); + + ResourceItem item = getResourceItem(request, sessionMap, mode); + + boolean isUrlItemType = item.getType() == ResourceConstants.RESOURCE_TYPE_URL; + request.setAttribute(ResourceConstants.ATTR_IS_URL_ITEM_TYPE, isUrlItemType); + + String popupUrl = (isUrlItemType) ? item.getUrl() : "/download/?uuid=" + item.getFileUuid() + + "&preferDownload=false"; + request.setAttribute(ResourceConstants.PARAM_OPEN_URL_POPUP, popupUrl); - private static Pattern wikipediaPattern = Pattern.compile("wikipedia", Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE); + request.setAttribute(ResourceConstants.PARAM_TITLE, item.getTitle()); + return mapping.findForward(ResourceConstants.SUCCESS); + } - private Object getReviewUrl(ResourceItem item, String sessionMapID, String mode, int itemIdx) { - short type = item.getType(); - String url = null; - switch (type) { - case ResourceConstants.RESOURCE_TYPE_URL: - // See LDEV-1736 regarding wikipedia regex - Matcher matcher = wikipediaPattern.matcher(item.getUrl()); - boolean wikipediaInURL = matcher.find(); - - if(item.isOpenUrlNewWindow() || wikipediaInURL) { - if(ResourceConstants.MODE_AUTHOR_SESSION.equals(mode)){ - url = "/openUrlPopup.do?"+AttributeNames.ATTR_MODE+"=" + mode + "&" + ResourceConstants.PARAM_ITEM_INDEX + "=" + itemIdx + "&" + ResourceConstants.ATTR_SESSION_MAP_ID + "=" + sessionMapID; - } else { - url = "/openUrlPopup.do?"+ResourceConstants.PARAM_RESOURCE_ITEM_UID+"=" + item.getUid() + "&" + ResourceConstants.ATTR_SESSION_MAP_ID + "=" + sessionMapID; - } - }else - url = ResourceWebUtils.protocol(item.getUrl()); - break; - case ResourceConstants.RESOURCE_TYPE_FILE: - url = "/download/?uuid="+item.getFileUuid()+"&preferDownload=false"; - break; - case ResourceConstants.RESOURCE_TYPE_WEBSITE: - url = "/download/?uuid="+item.getFileUuid()+"&preferDownload=false"; - break; - case ResourceConstants.RESOURCE_TYPE_LEARNING_OBJECT: - url = "/pages/learningobj/mainframe.jsp?sessionMapID="+sessionMapID; - break; - } - return url; + // ************************************************************************************* + // Private method + // ************************************************************************************* + /** + * Return resoruce item according to ToolAccessMode. + * + * @param request + * @param sessionMap + * @param mode + * @return + */ + private ResourceItem getResourceItem(HttpServletRequest request, SessionMap sessionMap, String mode) { + ResourceItem item = null; + if (ResourceConstants.MODE_AUTHOR_SESSION.equals(mode)) { + int itemIdx = NumberUtils.stringToInt(request.getParameter(ResourceConstants.PARAM_ITEM_INDEX), 0); + // authoring: does not save item yet, so only has ItemList from session and identity by Index + List resourceList = new ArrayList(getResourceItemList(sessionMap)); + item = resourceList.get(itemIdx); + } else { + Long itemUid = NumberUtils.createLong(request.getParameter(ResourceConstants.PARAM_RESOURCE_ITEM_UID)); + // get back the resource and item list and display them on page + IResourceService service = getResourceService(); + item = service.getResourceItemByUid(itemUid); } + return item; + } - /** - * List save current resource items. - * @param request - * @return - */ - private SortedSet getResourceItemList(SessionMap sessionMap) { - SortedSet list = (SortedSet) sessionMap.get(ResourceConstants.ATTR_RESOURCE_ITEM_LIST); - if(list == null){ - list = new TreeSet(new ResourceItemComparator()); - sessionMap.put(ResourceConstants.ATTR_RESOURCE_ITEM_LIST,list); + private IResourceService getResourceService() { + WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(getServlet() + .getServletContext()); + return (IResourceService) wac.getBean(ResourceConstants.RESOURCE_SERVICE); + } + + private static Pattern wikipediaPattern = Pattern.compile("wikipedia", Pattern.CASE_INSENSITIVE + | Pattern.UNICODE_CASE); + + private Object getReviewUrl(ResourceItem item, String sessionMapID, String mode, int itemIdx) { + short type = item.getType(); + String url = null; + switch (type) { + case ResourceConstants.RESOURCE_TYPE_URL: + // See LDEV-1736 regarding wikipedia regex + Matcher matcher = wikipediaPattern.matcher(item.getUrl()); + boolean wikipediaInURL = matcher.find(); + + if (item.isOpenUrlNewWindow() || wikipediaInURL) { + if (ResourceConstants.MODE_AUTHOR_SESSION.equals(mode)) { + url = "/openUrlPopup.do?" + AttributeNames.ATTR_MODE + "=" + mode + "&" + + ResourceConstants.PARAM_ITEM_INDEX + "=" + itemIdx + "&" + + ResourceConstants.ATTR_SESSION_MAP_ID + "=" + sessionMapID; + } else { + url = "/openUrlPopup.do?" + ResourceConstants.PARAM_RESOURCE_ITEM_UID + "=" + item.getUid() + "&" + + ResourceConstants.ATTR_SESSION_MAP_ID + "=" + sessionMapID; } - return list; - } - + } else { + url = ResourceWebUtils.protocol(item.getUrl()); + } + break; + + case ResourceConstants.RESOURCE_TYPE_FILE: + if (item.isOpenUrlNewWindow()) { + url = "/openUrlPopup.do?" + ResourceConstants.PARAM_RESOURCE_ITEM_UID + "=" + item.getUid() + "&" + + ResourceConstants.ATTR_SESSION_MAP_ID + "=" + sessionMapID; + } else { + url = "/download/?uuid=" + item.getFileUuid() + "&preferDownload=false"; + } + break; + + case ResourceConstants.RESOURCE_TYPE_WEBSITE: + url = "/download/?uuid=" + item.getFileUuid() + "&preferDownload=false"; + break; + + case ResourceConstants.RESOURCE_TYPE_LEARNING_OBJECT: + url = "/pages/learningobj/mainframe.jsp?sessionMapID=" + sessionMapID; + break; + } + return url; + } + + /** + * List save current resource items. + * + * @param request + * @return + */ + private SortedSet getResourceItemList(SessionMap sessionMap) { + SortedSet list = (SortedSet) sessionMap.get(ResourceConstants.ATTR_RESOURCE_ITEM_LIST); + if (list == null) { + list = new TreeSet(new ResourceItemComparator()); + sessionMap.put(ResourceConstants.ATTR_RESOURCE_ITEM_LIST, list); + } + return list; + } + } Index: lams_tool_larsrc/web/pages/authoring/parts/addfile.jsp =================================================================== diff -u -re9e2a6b00397afa86d303bfbc6ca3649744a982e -r199c9d26d57c7372cfb86f92018ab4c6fb9588dd --- lams_tool_larsrc/web/pages/authoring/parts/addfile.jsp (.../addfile.jsp) (revision e9e2a6b00397afa86d303bfbc6ca3649744a982e) +++ lams_tool_larsrc/web/pages/authoring/parts/addfile.jsp (.../addfile.jsp) (revision 199c9d26d57c7372cfb86f92018ab4c6fb9588dd) @@ -8,27 +8,24 @@ - + <%-- user for rsrcresourceitem.js --%> + var removeInstructionUrl = ""; + var addInstructionUrl = ""; + var removeItemAttachmentUrl = ""; + + <%@ include file="/common/messages.jsp"%> - + -

@@ -42,12 +39,17 @@
- +
<%@ include file="/pages/authoring/parts/itemattachment.jsp"%>
+ +
+ + +
Index: lams_tool_larsrc/web/pages/authoring/parts/addlearningobject.jsp =================================================================== diff -u -re9e2a6b00397afa86d303bfbc6ca3649744a982e -r199c9d26d57c7372cfb86f92018ab4c6fb9588dd --- lams_tool_larsrc/web/pages/authoring/parts/addlearningobject.jsp (.../addlearningobject.jsp) (revision e9e2a6b00397afa86d303bfbc6ca3649744a982e) +++ lams_tool_larsrc/web/pages/authoring/parts/addlearningobject.jsp (.../addlearningobject.jsp) (revision 199c9d26d57c7372cfb86f92018ab4c6fb9588dd) @@ -7,21 +7,19 @@ <%@ include file="/common/header.jsp"%> - + <%-- user for rsrcresourceitem.js --%> + var removeInstructionUrl = ""; + var addInstructionUrl = ""; + var removeItemAttachmentUrl = ""; + + <%@ include file="/common/messages.jsp"%> - + Index: lams_tool_larsrc/web/pages/authoring/parts/addurl.jsp =================================================================== diff -u -re9e2a6b00397afa86d303bfbc6ca3649744a982e -r199c9d26d57c7372cfb86f92018ab4c6fb9588dd --- lams_tool_larsrc/web/pages/authoring/parts/addurl.jsp (.../addurl.jsp) (revision e9e2a6b00397afa86d303bfbc6ca3649744a982e) +++ lams_tool_larsrc/web/pages/authoring/parts/addurl.jsp (.../addurl.jsp) (revision 199c9d26d57c7372cfb86f92018ab4c6fb9588dd) @@ -8,11 +8,10 @@ <%-- user for rsrcresourceitem.js --%> - + var removeInstructionUrl = ""; + var addInstructionUrl = ""; + + @@ -41,9 +40,7 @@
- - + Index: lams_tool_larsrc/web/pages/authoring/parts/addwebsite.jsp =================================================================== diff -u -re9e2a6b00397afa86d303bfbc6ca3649744a982e -r199c9d26d57c7372cfb86f92018ab4c6fb9588dd --- lams_tool_larsrc/web/pages/authoring/parts/addwebsite.jsp (.../addwebsite.jsp) (revision e9e2a6b00397afa86d303bfbc6ca3649744a982e) +++ lams_tool_larsrc/web/pages/authoring/parts/addwebsite.jsp (.../addwebsite.jsp) (revision 199c9d26d57c7372cfb86f92018ab4c6fb9588dd) @@ -7,14 +7,12 @@ <%@ include file="/common/header.jsp"%> - + <%-- user for rsrcresourceitem.js --%> + var removeInstructionUrl = ""; + var addInstructionUrl = ""; + var removeItemAttachmentUrl = ""; + + Index: lams_tool_larsrc/web/pages/itemreview/mobile/openurl.jsp =================================================================== diff -u -r73d41a9e127d790407deda8286fa5aa8182d8a1d -r199c9d26d57c7372cfb86f92018ab4c6fb9588dd --- lams_tool_larsrc/web/pages/itemreview/mobile/openurl.jsp (.../openurl.jsp) (revision 73d41a9e127d790407deda8286fa5aa8182d8a1d) +++ lams_tool_larsrc/web/pages/itemreview/mobile/openurl.jsp (.../openurl.jsp) (revision 199c9d26d57c7372cfb86f92018ab4c6fb9588dd) @@ -1,10 +1,11 @@ + + <%@ include file="/common/taglibs.jsp"%> - <%@ include file="/common/mobileheader.jsp"%> +
@@ -14,9 +15,20 @@

- - + + + + + + + + + + + + +

Index: lams_tool_larsrc/web/pages/itemreview/openurl.jsp =================================================================== diff -u -r73d41a9e127d790407deda8286fa5aa8182d8a1d -r199c9d26d57c7372cfb86f92018ab4c6fb9588dd --- lams_tool_larsrc/web/pages/itemreview/openurl.jsp (.../openurl.jsp) (revision 73d41a9e127d790407deda8286fa5aa8182d8a1d) +++ lams_tool_larsrc/web/pages/itemreview/openurl.jsp (.../openurl.jsp) (revision 199c9d26d57c7372cfb86f92018ab4c6fb9588dd) @@ -1,22 +1,37 @@ + + <%@ include file="/common/taglibs.jsp"%> - + <%@ include file="/common/header.jsp"%> + -

+
+

- + + + + + + + + + + + + + +

+ Index: lams_tool_larsrc/web/pages/learning/addfile.jsp =================================================================== diff -u -racc8d2acf5b6b0002e0c8129947040a779ab4077 -r199c9d26d57c7372cfb86f92018ab4c6fb9588dd --- lams_tool_larsrc/web/pages/learning/addfile.jsp (.../addfile.jsp) (revision acc8d2acf5b6b0002e0c8129947040a779ab4077) +++ lams_tool_larsrc/web/pages/learning/addfile.jsp (.../addfile.jsp) (revision 199c9d26d57c7372cfb86f92018ab4c6fb9588dd) @@ -7,8 +7,7 @@ <%@ include file="/common/header.jsp"%> - + @@ -33,14 +32,20 @@
- +
- + +
+ +
+ + +
Index: lams_tool_larsrc/web/pages/learning/mobile/addfile.jsp =================================================================== diff -u -r3a9ee15ed806fb8092cef103341aa784424f404a -r199c9d26d57c7372cfb86f92018ab4c6fb9588dd --- lams_tool_larsrc/web/pages/learning/mobile/addfile.jsp (.../addfile.jsp) (revision 3a9ee15ed806fb8092cef103341aa784424f404a) +++ lams_tool_larsrc/web/pages/learning/mobile/addfile.jsp (.../addfile.jsp) (revision 199c9d26d57c7372cfb86f92018ab4c6fb9588dd) @@ -45,6 +45,13 @@
+ +
+ + +