Index: lams_central/conf/language/lams/ApplicationResources.properties =================================================================== diff -u -raa5d6d2ab7a3d3b7b9fe4e910578c1393bf5ed3d -r2128de996e2dddada19946afdcd719bbd7bdbfab --- lams_central/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision aa5d6d2ab7a3d3b7b9fe4e910578c1393bf5ed3d) +++ lams_central/conf/language/lams/ApplicationResources.properties (.../ApplicationResources.properties) (revision 2128de996e2dddada19946afdcd719bbd7bdbfab) @@ -1,884 +1,885 @@ -appName = lams_central -#language code: en -#locale code: AU - - # Exported from the LAMS Community by Ernie Ghiglione on Fri Dec 28 00:41:13 CST 2018 - -#=================== labels for LAMS Central =================# - -label.username =Username -label.password =Password -error.authorisation =You are not authorised to do this. -heading.general.error =Error -error.general.1 =Sorry, there has been an error. -error.general.2 =There is a problem processing this request. Close the browser window and try again. -error.general.3 =If the problem persists please contact your system administrator. -error.newpassword.mismatch =Your new passwords do not match each other. -error.oldpassword.mismatch =Your old password is not correct. -heading.password.change.screen =Change password -label.password.old.password =Old password -label.password.new.password =New password -label.password.confirm.new.password =Confirm new password -heading.password.changed.screen =Password changed -msg.password.changed =Your password has been changed. -error.login =Sorry, that username or password is not known. Please try again. -button.login =Login -label.user.guide =[HELP] -msg.loading =Loading... -msg.LAMS.version =Version -msg.LAMS.copyright.short =2002 onwards LAMS Foundation. -button.save =Save -button.cancel =Cancel -no.such.learningdesign.exist =No Learning Design with learning_design_id of:{0} exists. -no.such.user.exist =No such User with a user_id of: {0} exists. -no.such.workspace.exist =No such WorkspaceFolder with workspace_folder_id of:{0} exists. -delete.resource.error =Cannot delete the resource: {0} -delete.lesson.error =LAMS does not support deleting a lesson via the workspace interface. -delete.folder.error =Cannot delete this folder as it is the Root folder. -delete.learningdesign.error =Cannot delete design with learning_design_id of : {0} as it is READ ONLY. -folder.delete =Folder deleted:{0} -copy.resource.error =Cannot copy the resource:{0} -copy.resource.error.value.miss =copyResource(Long resourceID,Integer targetFolderID, String resourceType, Integer userID) requires a value for resourceID, targetFolderID, resourceType and userID -copy.no.support =LAMS does not support copying a file via the workspace interface. -unable.copy =Unable to copy learning design due to an error{0}. -no.such.user =No such user with a userID of {0} exists. -no.such.workspace =No such workspaceFolder with a workspace_folder_id of {0} exists. -learningdesign.delete =Learning design deleted:{0} -learningdesign.readonly =Cannot delete design with learning_design_id of:{0} as it is READ ONLY. -move.resource.error =Cannot move the resource:{0} -unsupport.move =LAMS does not support moving a file via the workspace interface. -creating.workspace.folder.error =Exception occured while creating workspaceFolderContent:{0}. -resource.already.exist =The resource {0} already exists in the repository: {1}. -no.such.content =No such content with versionID of {0} found in repository {1}. -content.delete.success =Content successfully deleted. -rename.resource.error =Cannot rename the resource: {0} -rename.resource.unspport =LAMS does not support renaming a file via the workspace interface. -folder.already.exist =A folder with given name ''{0}'' already exists. -organisations =Courses -folders =Folders -title.lams =LAMS -title.login.window =Login - LAMS :: Learning Activity Management System -title.system.admin.window =System Admin:: LAMS -msg.loading.system.admin.window =Loading -title.admin.window =Admin:: LAMS -msg.loading.admin.window =Loading Administration Environment. -msg.loading.add.lesson.window =Loading Add Lesson Wizard. -title.monitor.lesson.window =Monitor Lesson:: LAMS -msg.loading.monitor.lesson.window =Loading Lesson Monitoring Environment. -title.learner.window =Learner:: LAMS -msg.loading.learner.window =Loading Learner Environment. -title.error.window =LAMS :: Error -authoring.msg.save.success =Congratulations, your content saved successfully! -label.authoring.close =Close -label.authoring.re.edit =Re-edit -index.welcome =Welcome -index.logout =Logout -index.refresh =Refresh -index.myprofile =Profile -index.sysadmin =Sys Admin -index.courseman =Course Mgt -index.author =Author -index.classman =Manage Subcourses -index.addlesson =Add Lesson -index.monitor =Monitor -index.dummymonitor =Dummy Monitor -title.import.result =Import tool content result -title.import =Import tool content -title.import.instruction =Please choose LAMS sequence to import. -title.import.instruction.antivirus =An antivirus scan will be performed. It can take a while. -title.export.loading =Export tool content loading -label.ld.zip.file =Learning design import file -msg.import.success =Learning design and activities imported successfully. -msg.import.ld.success =Learning design imported successfully. -msg.import.tool.error.prefix =But there are some tool(s) imports that failed -msg.import.failed =Learning design import failed -msg.export.loading =Learning design download will start automatically in seconds, please wait... -msg.export.success =Learning design and activities export successfully. -msg.export.ld.success =Learning design export successfully. -msg.export.tool.error.prefix =But there are some tool(s) exported failed -msg.export.failed =Learning design export failed -msg.reason.is =The reason is -button.close =Close -button.import =Import -msg.LAMS.copyright.statement.1 =LAMS\u2122 \u00a9 2002 onwards LAMS Foundation -msg.LAMS.copyright.statement.2 =LAMS is a trademark of LAMS Foundation (http://lamsfoundation.org). -msg.LAMS.copyright.statement.3 =This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. -title.export =Export tool content -error.system.error =An error has occurred. Please start again. Reason for error: {0} -msg.hide.detail =Hide detail -msg.show.detail =Show detail -msg.no.more.detail =No more detail -404.title =Page not found -404.message =The page you requested was not found. -403.title =Your current role does not allow you to view this page. Please contact your system administrator if you believe you should have access to this page. -msg.import.failed.unknown.reason =No error message available. -msg.import.file.not.found =Selected file has not been uploaded by your browser. Please try again. -title.profile.edit.screen =Edit profile -label.name =Name -label.title =Title -label.first_name =First name -label.last_name =Last name -label.address_line_1 =Address 1 -label.address_line_2 =Address 2 -label.address_line_3 =Address 3 -label.city =City -label.state =State -label.country =Country -label.day_phone =Work phone -label.evening_phone =Home phone -label.mobile_phone =Mobile -label.fax =Fax -label.email =Email -label.language =Language -title.password.change.screen =Change password -msg.groups.empty =No groups -label.postcode =Postcode -label.portrait.current =Current Portrait -label.portrait.upload =Upload -msg.portrait.none =No portrait uploaded -title.portrait.change.screen =Portrait -title.change.portrait.window =LAMS :: Change portrait -error.portrait.not.image =The file is not an image (PNG, GIF, JPG, WBMP and BMP formats allowed). -msg.portrait.resized =The image formats allowed are: PNG, GIF, JPG, WBMP and BMP. -label.workspace.root_folder =My workspace -msg.design.not.saved =Your design is not saved, any changes you have made since you last saved will be lost. -error.firstname.required =First name is required. -error.lastname.required =Last name is required. -error.email.required =Email address is required. -error.valid.email.required =Valid email address is required. -message.lesson.not.started.cannot.participate =This lesson has not been started. You cannot participate in the lesson until it is started. -index.mycourses =Courses -title.export.choose.format =Choose export content format -msg.export.choose.format.instruction =Please choose format which you want to export -msg.export.choose.format.lams =LAMS format -button.export =Export -label.open.lesson =Open Lesson -label.msg.status =Status: {0} -msg.status.not.stated =This lesson has not been started so you cannot access it. -msg.status.disabled =This lesson is disabled so you cannot access it. -msg.status.finished =This lesson has been finished or archived. -msg.status.removed =This lesson has been removed. -msg.browser.compat =Your browser does not support features required by LAMS. Please upgrade your browser. -label.disabled =Disabled -label.archived =Archived -audit.user.password.change =Password changed for: {0} -title.author.window =LAMS :: Author -title.all.my.lessons =All lessons -msg.no.lessons =No lessons -label.return.to.myprofile =Return to profile -label.help =Help? -label.completed =Completed! -label.enable.lesson.sorting =Enable lesson sorting -label.lesson.sorting.enabled =lesson sorting enabled -label.show.groups =Show Groups -label.forgot.password =Forgot your password? -button.select.importfile =Select file to import -label.yes =Yes -label.no =No -label.ok =OK -title.forgot.password =LAMS :: Forgot password -forgot.password.email.subject =LAMS server - Forgot password response -forgot.password.email.body =Click the link below and it will take you to a page where you can change your password. -error.support.email.not.set =Email could not be sent. The LAMS server has not been configured to handle emails. Please contact your system administrator. -error.password.request.expired =This request for a new password has expired. Please click the "Forgot your Password" link again to make a new request. -label.forgot.password.instructions.1 =Please enter your user name or email below. An email will be sent to you shortly with a link that will allow you to change your password. You only need to enter one value. -label.forgot.password.instructions.2 =If you do not know your email address in LAMS, please contact your system administrator. -label.forgot.password.email =By email -label.forgot.password.username =By username -error.forgot.password.fields =Both fields are required. Please try again. -error.email.not.sent =Server failed to send email to recipient. Please contact your system administrator. -error.forgot.password.email =Please enter an email address. -error.forgot.password.username =Please enter a username. -button.select.another.importfile =Select another file to import -error.forgot.password.incorrect.key =The request key is incorrect or has already been used. Please click the "Forgot your Password" link again to make a new request. -lessonsearch.title =Search learners in lesson -lessonsearch.instuctions =Please enter the login, first or last name of the learner. -lessonsearch.results =Lessons in which ''''{0}'''' has been found -index.searchlesson =Learner Search -index.searchlesson.tooltip =Search learners across lessons -lessonsearch.noresults =No Lessons found -error.multiple.emails =There are multiple users in LAMS with the given email. Email could not be sent. Please try again using your username, or contact your system administrator. -public.folder =Public Folder -index.coursegradebook =Course Gradebook -index.coursegradebook.tooltip =Open course-wide Gradebook monitoring page -index.coursegradebook.learner =Gradebook -index.coursegradebookmonitor =Mark -index.moreActions =More Options -label.required =Required -label.timezone.title =Time zone -email.to =To -email.subject =Subject -email.send =Send -email.compose.mail =Compose email -index.coursegradebook.subgroup =Subcourse Gradebook -error.finish.date.passed =The time allocated for this lesson has expired. You cannot access it anymore. Contact the instructor for assistance. -index.emailnotifications =Notifications -index.emailnotifications.tooltip =Email notifications -label.portrait.please.wait =Please wait -label.portrait.take.snapshot.from.webcamera =Webcam -label.portrait.configure =Configure -label.portrait.take.snapshot =Take pic -label.portrait.do.you.like.results =Is this good? -label.portrait.yes.set.it.as.portrait =Set as portrait -label.portrait.no.take.another.one =Take another one -error.edit.disabled =Profile editing is disabled. -message.profile.partially.edited =Profile has only been partially updated due to server configuration. -message.partial.edit.only =Only contact fields are editable due to server configuration. -error.password.empty =New password cannot be empty. -label.portrait.create.new.portrait =Select an image to upload or use your computer's webcam to create your portrait. -message.preceding.lessons.not.finished.cannot.participate =Preceding lessons have not been finished. You cannot participate in the lesson until this condition is met. -index.conditions =Conditions -index.conditions.tooltip =Conditions to participate in this lesson -index.conditions.flag.tooltip =Participation in the lesson is conditional -label.conditions.box.title =Lesson "{0}" will only be available after these lesson(s) are completed: -label.conditions.box.no.dependency =There are no dependencies for this lesson. -label.conditions.box.add.dependency =Select lesson that will need to be completed first: -label.conditions.box.remove.dependency =Remove lesson dependency -label.conditions.box.finish.global.date =Lesson finishes for everyone after {0} days from its start {1} -label.conditions.box.finish.individual.date =Lesson finishes after {0} days after user started participating -label.conditions.box.finish.no.date =Lesson does not have a fixed number days to finish -label.set =Set -error.conditions.box.finish.date =Error while setting lesson finish date: {0} -advanced.tab.form.time.limits.label =Time limits -advanced.tab.form.enter.number.days.label =Enter number days -advanced.tab.form.individual.not.entire.group.label =Individual and not for the entire group -label.start.lesson =Start lesson -success.msg.1 =You have successfully registered an account with LAMS. -success.login =Login now -success.errors =Had trouble sending email. Error was -login.username =Username -login.password =Password -login.course.key =Course key -login.submit =Submit -signup.username =Username -signup.password =Password -signup.confirm.password =Confirm password -signup.first.name =First name -signup.last.name =Last name -signup.email =Email -signup.confirm.email =Confirm email -signup.course.key =Course key -signup.submit =Submit -title.lams.signup =LAMS Signup -error.username.blank =Username cannot be blank -error.username.exists =Username is taken -error.first.name.blank =First name cannot be blank -error.last.name.blank =Last name cannot be blank -error.password.blank =Password cannot be blank -error.passwords.unequal =Passwords did not match -error.email.blank =Email cannot be blank -error.emails.unequal =Email addresses did not match -error.email.invalid.format =Email format is invalid -error.course.key.invalid =This course key is incorrect. Please try again or contact your course administrator for the correct key -error.login.or.password.incorrect =Login or password is incorrect. If you have not previously signed up for LAMS, please sign up {0}here{1}. -register.if.you.want.to.signup =If you want to sign up to LAMS as a new user, please select "Sign up" tab. If you already have an account, please select "Login" one. -register.signup.to.lams =Sign up -register.login =Login -index.remove.lesson =Remove -index.remove.lesson.tooltip =Permanently remove this lesson -label.edit =Edit -label.lesson.name =Lesson name -label.instructions =Lesson instructions -label.cancel =Cancel -label.display.lesson.design =Display learning design image? -index.remove.lesson.confirm1 =You are about to remove this lesson. Are you sure? -index.remove.lesson.confirm2 =Once you remove this lesson you CANNOT bring it back. Are you positive that you want to remove this lesson? -label.questions.choice.type.mc =Multiple Choice -label.questions.choice.type.tf =True-False -label.questions.choice.type.mt =Matching -label.questions.choice.type.mr =Multiple response -label.questions.choice.type.fb =Fill-in-Blank -label.questions.choice.type.es =Essay -label.questions.choice.type.unknown =Unknown -error.lesson.not.accessible.for.learners =Sorry, this lesson is now disabled/archived. Contact your instructor for further details. -button.add.now =Add now -label.tab.lesson =Lesson -label.tab.class =Class -label.tab.advanced =Advanced -label.tab.conditions =Conditions -label.tab.lesson.title =Select the sequence to add a lesson, and click on Add now -label.tab.class.title =Use drag n' drop to select or unselect monitors and learners -label.tab.lesson.name =Lesson name: -label.tab.lesson.size.full =(show full size) -label.tab.lesson.size.fit =(fit to window) -label.tab.lesson.sequence.folder =Run sequences -error.tab.lesson.sequence =A valid sequence must be selected -label.tab.class.monitors.unselected =Monitors unselected -label.tab.class.monitors.selected =Monitors selected -label.tab.class.learners.unselected =Learners unselected -label.tab.class.learners.selected =Learners selected -error.tab.class.learners =There must be at least 1 learner selected -error.tab.class.monitors =There must be at least 1 monitor selected -label.tab.advanced.details =Details -label.tab.advanced.intro.enable =Enable lesson intro -label.tab.advanced.intro.description =Description: -label.tab.advanced.intro.image =Display design image -label.tab.advanced.section.advanced =Advanced options -label.tab.advanced.field.monitor =Start in Monitor -label.tab.advanced.field.liveedit =Enable Live Edit -label.tab.advanced.field.notification =Enable lesson notifications -label.tab.advanced.field.presence =Allow learners to see who is online -label.tab.advanced.field.im =Enable Instant Messaging -label.tab.advanced.field.split =Split learners into separate copies of this lesson -label.tab.advanced.field.split.number =No. learners per lesson -label.tab.advanced.field.scheduling =Enable scheduling -label.tab.advanced.split.desc =[0] instances of this lesson will be created and approximately [1] will be allocated to each lesson -label.tab.conditions.dependencies =Dependencies -label.tab.conditions.dependencies.desc =Select a lesson that learners will need to complete before they can see the lesson you are about to create. -label.tab.conditions.timelimit =Time limitations -label.tab.conditions.timelimit.desc =Set the number of days the lesson will be available to learners. After this period the lesson will no longer be shown. If the time should count from the moment the learner starts the lesson, select the option for individual time limit. If you are scheduling the lesson end on the Advanced tab then you can only set an individual time limit. -label.tab.conditions.timelimit.days =Number days: -label.tab.conditions.timelimit.individual =Is this time limit for each individual? -label.tab.conditions.enable =Enable -label.questions.file.title =Choose IMS QTI file -label.questions.file.missing =Please select a ZIP or XML file with questions in IMS QTIformat. -label.questions.choice.title =Choose questions -label.questions.choice.select.all =Select all -label.questions.choice.missing =Please check at least one question. -index.single.activity.lesson.title =Add single activity lesson -index.single.activity.lesson.desc =or one-click activity: -label.disable.lesson.sorting =Disable lesson sorting -index.gradebook.course.title =Gradebook Course Monitor -index.gradebook.lesson.title =Gradebook Lesson Monitor -index.gradebook.learner.title =Course Gradebook Learner -index.conditions.title =Conditions to participate in this lesson -index.search.lesson.title =Search learners across lessons -index.orggroup =Course groupings -index.course.groups.title =Course groupings -label.course.groups.grouping.title =Groupings -label.course.groups.grouping.create =Create new -label.course.groups.grouping.remove.confirm =Are you sure you want to delete this grouping? -label.course.groups.name =Grouping name: -label.course.groups.name.blank =Grouping name can not be blank. -label.course.groups.edit.title =Please use drag n' drop to move learners between groups. -label.course.groups.viewonly.title =Course group view -label.course.groups.prefix =Group -label.course.groups.remove.confirm =Are you sure you want to delete this group? -label.course.groups.remove.empty.confirm =Some groups are new and empty. They will not be saved. Click OK to continue. -label.course.groups.add =Add a new group -label.course.groups.unassigned =Unassigned learners -label.course.groups.sort.tooltip =Sort learners -label.course.groups.remove.tooltip =Remove -label.course.groups.back =Groupings -label.course.groups.grouping.count.tooltip =Number of groups in this grouping -label.course.groups.grouping.use.confirm =Are you sure you want to use grouping "[0]"? Groups will be created for this lesson and learners assigned to them. -label.course.groups.locked =Some users in this group already used the grouping. The group is now locked: you can not remove it or move users to another group. -label.course.groups.locked.transfer =Are you sure you want to move these users to a locked group? You will not be allowed to move them to another group later. -label.tab.advanced.field.restart =Learners always start from the first activity -error.firstname.invalid.characters =First name contains invalid characters -error.lastname.invalid.characters =Last name contains invalid characters -error.username.invalid.characters =Username can only contain alphanumeric characters and no spaces. -error.lessonname.invalid.characters =Lesson name contains invalid characters -audit.admin.loginas =Sysadmin {0} has logged in as {1} -index.monitoring.title =Monitoring -heading.comments =Comments -label.hidden =Comment hidden -label.reply =Reply -label.hide =Hide -label.show =Show -label.post =Post -label.refresh =Refresh comments -error.cannot.redisplay.please.refresh =Your changes have been saved but cannot be redisplayed. Please select refresh to reload the comments. -error.please.refresh =An error has occurred. Your post may not have been saved. Please select refresh to start again -label.showhide.prompt =Show/Hide replies -message.complete.or.cancel.reply =Please complete or cancel the current reply before starting a new reply. -message.complete.or.cancel.edit =Please complete or cancel the current edit before starting a new reply. -label.show.more.messages =More comments -label.likes =Likes -label.comment.body.validation =The comment must be between 1 and 5000 character -label.edited =Edited -label.like =Like -label.dislike =Dislike -label.no.comments =No comments -label.newest.first =Newest first -label.top.comments =Top comments -label.add.sticky =Stick to top -label.remove.sticky =Remove sticky -label.private.notifications.title =Notifications -label.private.notifications.messages =Messages -label.private.notifications.read =Read -label.private.notifications.read.hint =Mark notification as read -label.private.notifications.read.all.hint =Mark all notifications as read -label.select.groups =Select groups -authoring.fla.course.groups.to.branches.match.dialog.title =Match Course Groups to Branching Groups -authoring.fla.branch.mapping.course.groups.header =Course groups -authoring.fla.branch.mapping.branching.groups.header =Branching groups -label.tab.advanced.field.force.restart =Learners always start from the first activity -label.tab.advanced.field.allow.restart =Learners can restart the lesson -label.verification.code =Verification code -error.verification.code =Sorry, entered verification code is incorrect. Please try again. -label.your.new.shared.secret =Your new shared secret: {0} -label.2FA.shared.secret =Two-factor authentication shared secret -label.2FA.login.panel =Two-factor authentication required -label.remove.org.favorite =Remove organisation from favorite ones -label.mark.org.favorite =Mark organisation as favorite -label.email.send.me.a.copy =Send me a copy -label.password.max.length =must be less than 25 characters -label.password.min.length =must be at least {0} characters long -label.password.old.must.entered =Old password must be entered -label.password.symbols.allowed =Only these symbols are allowed -label.password.restrictions =Password must follow the restrictions shown above -label.password.must.contain =Password must contain -label.password.must.ucase =at least 1 upper case letter -label.password.must.number =at least 1 number -label.password.must.symbol =at least 1 symbol -label.create.lesson =Create new lesson -label.organisations =Select course with the lessons that needs to be export -label.lesson.id =Lesson ID -label.display.design.image =Display sequence image? -label.select.sequence =You must select a sequence before proceeding -label.choose.sequence =Choose sequence -label.author.sequence =Author new LAMS sequence -label.open.monitor =Open Monitor -label.your.progress =Your lesson progress -label.you.completed.this.lesson =You have completed this lesson. -label.total.activities.depend.on.path =Total activities depend on your learning path. -label.lesson.not.completed =Lesson is not yet completed. -label.you.completed.activities =You have completed {0} activities -error.cannot.load.thumbnail =Unable to load sequence thumbnail. -label.lesson.introduction.updated =Introduction updated -no.such.signup.page.exist =No such signup page exists -error.lockedout =Due to consecutive failed attempts, the account has been locked out temporarily. -error.email.internal =An internal error occured. Try again using your username or contact your system administrator. More information is provided in application logs. -label.theme =Theme -authoring.fla.default.group.title =Grouping -authoring.fla.default.group.prefix =Group -authoring.fla.default.branching.title =Branching -authoring.fla.default.branch.prefix =Branch -authoring.fla.default.optional.activity.title =Optional Activity -authoring.fla.support.activity.title =Support Activity -authoring.fla.gate.activity.label =STOP -authoring.fla.branching.start.suffix =start -authoring.fla.branching.end.suffix =end -authoring.fla.activity.dialog.title.suffix =Authoring -authoring.fla.remove.activity.confirm =Are you sure you want to remove the whole branching activity? -authoring.fla.branching.create.confirm =Transition from this activity already exists.\\nDo you want to create branching here? -authoring.fla.transition.to.exists.error =Transition to this activity already exists. -authoring.fla.circular.sequence.error =You are not allowed to have a circular sequence. -authoring.fla.activity.in.container.error =You can not add this type of activity to an optional/support activity. -authoring.fla.default.annotation.label.title =Label -authoring.fla.region.fit.button.tooltip =Fit -authoring.fla.new.folder.button =New -authoring.fla.copy.button =Copy -authoring.fla.paste.button =Paste -authoring.fla.delete.button =Delete -authoring.fla.rename.button =Rename -authoring.fla.open.button =Open -authoring.fla.save.button =Save -authoring.fla.import.button =Import -authoring.fla.folder =folder -authoring.fla.sequence =sequence -authoring.fla.sequence.not.valid =The sequence is not valid.
It needs to be corrected before it can be used in lessons. -authoring.fla.sequence.validation.issues =While saving the sequence there were following validation issues: -authoring.fla.save.successful =The design is valid and has been saved. -authoring.fla.liveedit.save.successful =Changes were successfully applied. -authoring.fla.navigate.away.confirm =Your design is not saved.\\nAny changes you made since you last saved will be lost. -authoring.fla.delete.node.confirm =Are you sure you want to delete this -authoring.fla.sequence.overwrite.confirm =Are you sure you want to overwrite the existing sequence? -authoring.fla.new.folder.title.prompt =Please enter the name for a new folder -authoring.fla.rename.title.prompt =Please enter the new name for -authoring.fla.save.sequence.title.prompt =Please enter a title for the sequence -authoring.fla.import.part.choose.prompt =Click on activities to choose them for import -authoring.fla.folder.not.selected.error =Please choose a folder -authoring.fla.title.validation.error =The title must not be blank and must not contain any of these characters < > ^ * @ % $ -authoring.fla.folder.exists.error =A folder with this name already exists. -authoring.fla.sequence.exists.error =A sequence with this name already exists. -authoring.fla.sequence.save.error =Error while saving sequence -authoring.fla.svg.save.error =Error while saving sequence thumbnail -authoring.fla.sequence.not.selected.error =Please choose a sequence -authoring.fla.sequence.load.error =Error while loading the sequence -authoring.fla.transition.from.exists.error =Transition from this activity already exists -authoring.fla.export.sequence.dialog.title =Sequence export -authoring.fla.activity.copy.title.prefix =Copy [0] of -authoring.fla.preview.lesson.default.title =Preview -authoring.fla.save.dialog.title =Save sequence -authoring.fla.open.dialog.title =Open sequence -authoring.fla.import.dialog.title =Import Learning Design -authoring.fla.import.part.dialog.title =Import activities -authoring.fla.run.sequences.folder =Run sequences -authoring.fla.arrange.confirm =There are annotations on the canvas.\\n\ They will be not arranged automatically, you will have to adjust them manually later.\\n\ Do you want to continue? -authoring.fla.clear.canvas.confirm =You have got unsaved changes. They will be lost. Do you want to continue? -authoring.fla.branching.start.place.prompt =Place the branching point -authoring.fla.branching.end.place.prompt =Place the converge point -authoring.fla.annotation.region.place.prompt =Click and hold to start drawing an annotation region -authoring.fla.annotation.label.place.prompt =Click to add an annotation label -authoring.fla.optional.activity.place.prompt =Click to add an optional activity container. -authoring.fla.support.activity.place.prompt =Click to add a support activity container. -authoring.fla.transition.place.prompt =Click on an activity -authoring.fla.paste.error =Sorry, you can not paste this type of activity -authoring.fla.preview.error =Error while initialising lesson for preview -authoring.fla.cross.branching.error =Cross-branching transitions are not allowed -authoring.fla.support.transition.error =Support activities can not be connected to any other activity -authoring.fla.end.match.error =: a branch that ends in this branching does not start in it -authoring.fla.ok.button =OK -authoring.fla.cancel.button =Cancel -authoring.fla.clear.all.button =Clear all -authoring.fla.refresh.button =Refresh -authoring.fla.remove.condition.button =Remove -authoring.fla.properties.dialog.title =Properties -authoring.fla.group.naming.dialog.title =Group Naming -authoring.fla.groups.to.branches.match.dialog_title =Match Groups to Branches -authoring.fla.branch.mapping.groups.header =Groups -authoring.fla.branch.mapping.group.header =Group -authoring.fla.conditions.dialog.title =Select Output Conditions for Input -authoring.fla.branch.mapping.conditions.header =Conditions -authoring.fla.branch.mapping.condition.header =Condition -authoring.fla.branch.mapping.gate.header =Gate -authoring.fla.branch.mapping.branches.header =Branches -authoring.fla.branch.mapping.branch.header =Branch -authoring.fla.gate.state.mapping.dialog.title =Map gate conditions -authoring.fla.branch.mapping.dialog.title =Match conditions to branches -authoring.fla.gate.state.open =open -authoring.fla.gate.state.closed =closed -authoring.fla.branch.mapping.default.branch.suffix =(default) -authoring.fla.complex.output.suffix =(user defined) -authoring.fla.range.output.suffix =(range) -authoring.fla.range.condition.description =Range [0] to [1] -authoring.fla.exact.condition.description =Exact value of -authoring.fla.less.condition.description =Less than or eq -authoring.fla.greater.condition.description =Greater than or eq -authoring.fla.default.range.condition.title.prefix =Untitled -authoring.fla.clear.all.confirm =There are conditions linked to an existing branch.\\nDo you wish to remove them? -authoring.fla.remove.condition.confirm =This condition is linked to an existing branch.\\nDo you wish to remove it? -authoring.fla.refresh.conditions.confirm =You are about to update your conditions for the selected output definition.\\n\ This will clear all links to existing branches.\\nDo you wish to continue? -authoring.fla.conditions.to.default.gate.state.confirm =All remaining conditions will be mapped to the selected gate\\'s closed state -authoring.fla.conditions.to.default.branch.confirm =All remaining conditions will be mapped to the default branch -authoring.fla.groups.to.default.branch.confirm =All remaining groups will be mapped to the default branch -authoring.fla.range.condition.add.start.error =The start value can not be within the range of an existing condition -authoring.fla.range.condition.add.end.error =The end value can not be within the range of an existing condition -authoring.fla.group.title.validation.erorr =Group name must not be blank and must not contain any of these characters < > ^ * @ % $ -authoring.fla.page.title =Authoring -authoring.fla.page.menu.new =New -authoring.fla.page.menu.open =Open -authoring.fla.page.menu.import =Import -authoring.fla.page.menu.import.part =Import part -authoring.fla.page.menu.save =Save -authoring.fla.page.menu.saveas =Save as -authoring.fla.page.menu.export.lams =Export -authoring.fla.page.menu.copy =Copy -authoring.fla.page.menu.paste =Paste -authoring.fla.page.menu.transition =Transition -authoring.fla.page.menu.optional =Optional -authoring.fla.page.menu.optional.activity =Activity -authoring.fla.page.menu.optional.support =Support -authoring.fla.page.menu.flow =Flow -authoring.fla.page.menu.flow.gate =Gate -authoring.fla.page.menu.flow.branch =Branch -authoring.fla.page.menu.group =Group -authoring.fla.page.menu.annotate =Annotate -authoring.fla.page.menu.annotate.label =Label -authoring.fla.page.menu.annotate.region =Region -authoring.fla.page.menu.arrange =Arrange -authoring.fla.page.menu.preview =Preview -authoring.fla.page.ld.title =Untitled -authoring.fla.page.ld.description =Description: -authoring.fla.page.ld.license =License: -authoring.fla.page.ld.license.none =No license currently selected. Please select one. -authoring.fla.page.ld.license.info =Additional license information: -authoring.fla.page.dialog.access =Recently used sequences -authoring.fla.page.dialog.ld.title =Title: -authoring.fla.page.dialog.mappings =Mappings -authoring.fla.page.prop.title =Title: -authoring.fla.page.prop.default =Default? -authoring.fla.page.prop.grouping.type =Grouping type: -authoring.fla.page.prop.grouping.type.random =Random -authoring.fla.page.prop.grouping.type.monitor =Choose in Monitor -authoring.fla.page.prop.grouping.type.learner =Learner's choice -authoring.fla.page.prop.groups.number =Number of groups: -authoring.fla.page.prop.groups.learners =Or learners per group: -authoring.fla.page.prop.groups.equal =Equal group sizes? -authoring.fla.page.prop.groups.view.learners =View learners before selection? -authoring.fla.page.prop.groups.name =Name Groups -authoring.fla.page.prop.gradebook =Gradebook output: -authoring.fla.page.prop.description =Description: -authoring.fla.page.prop.gate.type =Type: -authoring.fla.page.prop.gate.type.condition =Condition -authoring.fla.page.prop.gate.type.sync =Synchronise -authoring.fla.page.prop.gate.type.schedule =Schedule -authoring.fla.page.prop.gate.type.permission =Permission -authoring.fla.page.prop.input =Input (Tool): -authoring.fla.page.prop.gate.delay =Delay: -authoring.fla.page.prop.days =days -authoring.fla.page.prop.hours =hours -authoring.fla.page.prop.minutes =minutes -authoring.fla.page.prop.gate.activity.finish.based =Since learner finished previous activity? -authoring.fla.page.prop.conditions.create =Create conditions -authoring.fla.page.prop.gate.conditions.map =Map gate conditions -authoring.fla.page.prop.branching.type =Branching type: -authoring.fla.page.prop.branching.type.chose =Instructor's choice -authoring.fla.page.prop.branching.type.group =Group-based -authoring.fla.page.prop.branching.type.tool =Learner's output -authoring.fla.page.prop.branching.type.optional =Learner's choice -authoring.fla.page.prop.grouping =Grouping: -authoring.fla.page.prop.branching.conditions.match =Match conditions to branches -authoring.fla.page.prop.branching.groups.match =Match Groups to Branches -authoring.fla.page.prop.branching.sequences.min =Min sequences: -authoring.fla.page.prop.branching.sequences.max =Max sequences: -authoring.fla.page.prop.optional.activities.min =Min activities: -authoring.fla.page.prop.optional.activities.max =Max activities: -authoring.fla.page.prop.color =Color: -authoring.fla.page.dialog.cond.output.choose =[ Choose Output ] -authoring.fla.page.dialog.cond.options.choose =[ Options ] -authoring.fla.page.dialog.cond.greater =Greater than or equal to -authoring.fla.page.dialog.cond.less =Less than or equal to -authoring.fla.page.dialog.cond.range =Range -authoring.fla.page.dialog.cond.range.from =From: -authoring.fla.page.dialog.cond.range.to =To: -authoring.fla.page.dialog.cond.add =Add -authoring.fla.page.dialog.cond.name =Name: -authoring.fla.page.dialog.cond.list.name =Name -authoring.fla.page.dialog.cond.list.condition =Condition -authoring.fla.page.download.image =Click here to download the image. -authoring.fla.page.download.wait =Please wait for the download. -authoring.fla.page.download.close =Close the dialog when the download is finished. -authoring.fla.page.svg.generator.title =SVG Generator -authoring.fla.tool.groups.all =All -authoring.fla.liveedit.cancel.confirm =Do you want to cancel changes made in Live Edit? -authoring.fla.liveedit.readonly.activity.error =The activity can not be modified. It is read-only. -authoring.fla.liveedit.readonly.move.parent.error =The activity can not be moved outside its parent. It is read-only. -authoring.fla.liveedit.readonly.remove.activity.error =The activity can not be removed. It is read-only. -authoring.fla.liveedit.readonly.remove.parent.error =The activity can not be removed. Its parent activity is read-only. -authoring.fla.liveedit.readonly.remove.child.error =The activity can not be removed. It has read-only child activities. -authoring.fla.liveedit.readonly.remove.transition.error =The transition can not be removed. It is read-only. -ckeditor.math.math =Math -ckeditor.math.functions =Functions -ckeditor.math.greek =Greek -ckeditor.math.matrix =Matrix -ckeditor.math.symbols =Symbols -ckeditor.math.arrows =Arrows -ckeditor.math.accents =Accents -ckeditor.math.formatting =Formatting -authoring.fla.cut.button =Cut -authoring.fla.modify.error =You cannot modify this resource -authoring.fla.folder.move.to.child.error =Cannot move a folder into its child -label.password.must.lcase =at least 1 lower case letter -label.timezone.warning =The timezone set in your profile does not match timezone on your computer. The times shown will be for the timezone set in your profile. -authoring.fla.folder.can.not.save.error =You cannot save in this folder -authoring.fla.boolean.output.suffix =(boolean: 1 or 0) -lessons =Lessons -label.tour =Tour -tour.intro.title =LAMS Tour -tour.intro.content =This short tour will show you the features of the main LAMS screen. You can stop the tour at any time by clicking End Tour, and restart it again by clicking on the Tour button. -tour.course.reveal.content =Click here to reveal or hide your courses. -tour.courses.content =Click on a course to make it the current course. -tour.favorites.content =Your favourite courses will appear at the top of the list. -tour.lessons.content =Lessons will appear here for the current course. -tour.notification.content =Review the notifications that you have received about your lessons. -tour.authoring.content =Create or modify the learning designs used for lessons. -tour.user.profile.content =Update your personal settings. -tour.course.name.title =Course Name -tour.course.name.content =Current course name. Click on the star to add this course to your favourites in the course list. -tour.add.lesson.content =Create a new lesson for this course using this button, or a lesson to a course subgroup using the Add Lesson button next to the subgroup name. -tour.add.single.activity.lesson.content =Use the down arrow to select an activity and then create a lesson with just this single activity. -tour.course.gradebook.content =View your marks for this course. -tour.more.actions.content =General options for managing this course such as notifications, subgroups, gradebook. The contents of this menu will vary depending on your responsibilities. -tour.lesson.monitoring.title =Lesson Monitoring -tour.lesson.monitoring.content =The Monitoring screen shows you where the learners are in the lesson their contributions. -tour.lesson.notifications.title =Lesson Notifications -tour.lesson.notifications.content =Send email notifications to learners. -tour.lesson.gradebook.title =Lesson Gradebook -tour.lesson.gradebook.content =Review learners\' marks and the length of time taken in the lesson. -tour.lesson.conditions.title =Lesson Conditions -tour.lesson.conditions.content =Set up conditions for starting or ending the lesson. -tour.lesson.remove.title =Remove Lesson -tour.lesson.remove.content =Remove the lesson completely. This is permanent - it cannot be undone. -tour.end.title =End Of Tour -tour.end.content =Thank you for taking the tour. To restart the tour, click the Tour button again. -errors.maxfilesize =Uploaded file exceeded maximum size: {0} -error.attachment.executable =Uploaded file is executable -label.upload.info =Uploaded file must not be executable and not exceed size of {0} -label.file =File -authoring.fla.page.prop.size =Size: -authoring.fla.conditions.mapping.broken =Conditions in the activity were changed. Please review following activities as they referred the modified conditions: -authoring.fla.activity.unnamed.description =unnamed -authoring.fla.activity.gate.description =gate -authoring.fla.activity.branching.description =branching -tour.prev =Prev -tour.next =Next -tour.end.tour =End of tour -label.search.for.courses =Search for courses -label.save.as.course.grouping =Save as a Course Grouping -label.enter.course.grouping.name =Please enter name for the new course grouping -label.course.groups.name.not.unique =Course grouping with such name already exists. Please enter another one. -label.save.as.course.grouping.hint =You can save the groups as "Course groupings" so it can be used in other lessons as well. If the groups are just specifically for this lesson, you might not want to do this. Otherwise, click the button to give them a name and reuse them later. -label.advanced.settings =Advanced settings -audit.delete.portrait =Portrait for user {0} {1}({2}) deleted. Portrait Id was {3}. -authoring.fla.weights.menu =Weights -authoring.fla.weights.title =Weights on activity outputs -authoring.fla.weights.activity =Activity -authoring.fla.weights.output =Output -authoring.fla.weights.weight =Weight -authoring.fla.weights.sum =Sum -authoring.fla.weights.sum.error =Output weights do not sum up to 100%. Adjust them in Weights dialog. -label.tab.advanced.field.gradebook.complete =Display activity scores on completion -index.kumalive =Kumalive -index.kumalive.tooltip =Enter a live lesson -index.kumalive.enter.learner =Enter as a learner -index.kumalive.report =Reports -index.kumalive.rubric =Rubrics management -label.import.groups.from.template =Import groups from template -label.import.groups.from.template.description =Download the template spreadsheet to create your groups using all the present learners in this lesson/course. Once you upload the file, the groups will be automatically created according to the spreadsheet. -label.download.template =Download Template -label.upload.group.spreadsheet =Upload Finished Spreadsheet -error.file.required =Grouped Spreadsheet Required -error.file.wrong.format =Grouped Spreadsheet in the wrong format. Please upload a file based on the given template. -label.import.successful =Group Import successful. {0} learners allocated to groups, {1} learners skipped. -label.import.warning.replace.groups =Importing this file will replace the existing groups. Do you want to import this file? -filename.create.grouping.template =create-grouping-template -spreadsheet.column.login =Login -spreadsheet.column.firstname =First Name -spreadsheet.column.lastname =Last Name -spreadsheet.column.groupname =Group Name -error.groups.upload.locked =Cannot update groups as the groups are now in use. -error.branching.upload.must.use.existing.groups =Cannot update branching. Must use the existing names: {0}. -label.print =Print -authoring.tbl.desc.peer.review =These are the criteria for which the learners will rate each other using a 5 star rating. These fields are optional and no Peer Review will be created if they are left blank. -authoring.section.peerreview =Peer Review -authoring.label.peerrevice.criteria.num =Rating Criteria {0} -authoring.label.peerrevice.allow.comments =Allow learners to comment on other learners -authoring.label.peerrevice.min.words.in.comments =Minimum number of words in a comment -authoring.create.criteria =Create Criteria -audit.design.created =Learning design "{0}" ({1}) created by {2} ({3}) -authoring.fla.save.successful.check.grouping =Your design is valid and has been saved.\\nIf this is a TBL sequence, you may want to make following activities grouped: -authoring.fla.weights.none =No activities with weightable gradebook output -audit.live.edit.start =Live Edit of Learning Design "{0}" ({1}) for Lesson ({2}) started by {3} ({4}) -audit.live.edit.end =Live Edit of Learning Design "{0}" ({1}) for Lesson ({2}) completed by {3} ({4}) -label.post.anonomously =Post anonymously -label.anonymous =Anonymous -label.anonymous.tooltip =Turn on "Post anonymously" to hide your name from other learners. Teachers will still be able to see your name. -authoring.fla.page.ld.title.desc =Click to display sequence details -label.start =Start: -label.end =End: -error.lesson.with.scheduled.end.only.have.individual.limits =Lessons with a scheduled end date can only have individual time limits, not a lesson time limit. -error.lesson.end.date.must.be.after.start.date =Scheduled end date must be after the start date. -label.policies.title =Policies -label.agree.to.policies.before.proceeding =Please agree to all the policies before proceeding -label.consent.required =Consent is required -label.agree.to.policy =I agree to the policy -label.policy.name =Policy name -label.policy.type =Policy type -label.policy.type.site =Site policy -label.policy.type.privacy =Privacy policy -label.policy.type.third.party =Third party policy -label.policy.type.other =Other policy -label.summary =Summary -label.full.policy =Full policy -label.consent =Consent -label.policies.consents =Policies and consents -label.version =Version -label.consented =Consented? -label.consented.on =Consented on -label.policy.details =Policy details -authoring.fla.page.prop.gradebook.none =No score -label.select.country =Select a country -error.country.required =Country is required -error.cannot.login.as.with.not.allow.direct.access =You cannot login as this user as they are an Integration Learner and 'Allow direct access to main LAMS page for Integration Learners' is turned off in the system configuration. -signup.email.verify.body.1 =Hi there, -signup.email.verify.body.2 =Please confirm your email address by clicking on the link below -signup.email.verify.body.3 =Regards, -signup.email.verify.body.4 =LAMS Signup System -signup.email.welcome.body.1 =Hi there, -signup.email.welcome.body.2 =You''ve successfully registered an account with username {0} on the LAMS server at {1}. -signup.email.welcome.body.3 =If you ever forget your password, you can reset it via this URL -signup.email.welcome.body.4 =Regards, -signup.email.welcome.body.5 =LAMS Signup System -authoring.fla.readonly.checkbox =read-only -authoring.fla.readonly.forbidden =This sequence is read-only. If you want to modify it, you can create its copy. -register.email.verify =A confirmation email will be sent before you are able to log in. -signup.email.verify.sent =A confirmation email has been sent to {0}
Check your email and follow the instructions. -authoring.enable.confidence.levels =Enable confidence levels -authoring.fla.page.menu.apply.changes =Apply changes -forgot.password.request.processed =If the email/username that you have provided exists, an email would be sent to the registered email address. -label.view =View -index.outcome.manage =Outcomes -index.outcome.manage.tooltip =Manage learning outcomes and scales -outcome.manage.title =Course outcomes -outcome.manage.remove =Remove outcome -outcome.manage.remove.confirm =Are you sure you want to remove this outcome? -outcome.manage.add =Add outcome -outcome.manage.edit =Edit outcome -outcome.manage.view =View outcome -outcome.manage.add.name =Name -outcome.manage.add.code =Code -outcome.manage.add.description =Description -outcome.manage.add.global =Global -outcome.manage.add.scale =Scale -outcome.manage.add.save =Save -outcome.manage.scope =Scope -outcome.manage.scope.global =global -outcome.manage.scope.course =course -outcome.manage.add.error =Error while saving an outcome -outcome.manage.add.error.name.blank =Name can not be blank -outcome.manage.add.error.code.blank =Code can not be blank -outcome.manage.add.error.scale.choose =You have to choose a scale -scale.title =Scales -scale.manage =Manage scales -scale.manage.add =Add scale -scale.manage.edit =Edit scale -scale.manage.view =View scale -scale.manage.title =Course scales -scale.manage.remove =Remove scale -scale.manage.remove.scale =Error while removing a scale. It is probably used in some outcomes. -scale.manage.remove.confirm =Are you sure you want to remove this scale? -scale.manage.add.value =Values -scale.manage.add.value.info =Enter comma separated values in increasing order of value. For example, an A,B,C,D scale must be entered as D,C,B,A. -scale.manage.add.value.error.blank =A value must not be blank -scale.manage.add.error =Error while saving an outcome scale -outcome.authoring.title =Learning outcomes -outcome.authoring.input =Search and select by outcome name or code -outcome.authoring.existing =Added outcomes -outcome.authoring.existing.none =none -outcome.export.date =Exported on: -outcome.export =Export -outcome.import =Import -outcome.import.error =Error while importing outcomes or scales. Check logs. -authoring.msg.close.cancel.save =Do you want to close this window without saving? -authoring.msg.list.cancel.save =Do you want to return to the template list without saving? -authoring.fla.page.menu.new.template =Use Template -authoring.template.list.introduction =Select a template from the list to see more details about the design that will be created. You can the proceed to create the design or return back to this list. -authoring.learning.design.templates =Learning Design Templates -authoring.template.successful =Your design has been saved as {0}. -authoring.label.sequence.title =Title of Sequence -authoring.error.question.num =Question {0} may not be blank -authoring.error.question.correct.num =One of the answers for Question {0} needs to be correct. -authoring.description.application.exercise =Application Exercise (These question(s) will be shown during the analysis phase in the sequence.) -authoring.label.grouping =Grouping -authoring.label.grouping.learners.choice =Learner's Choice -authoring.label.grouping.teachers.choice =Teacher's Choice -authoring.label.grouping.random.allocation =Random Allocation -authoring.label.numgroups =Number of groups: -authoring.error.numgroups =Number of groups must be 1 to 99. -authoring.label.numlearners =Number of learners: -authoring.error.numlearners =Number of learners must be 1 to 99. -authoring.error.group.data =Group settings are not correct. -authoring.section.lessondetails =Lesson Details -authoring.section.questions =Questions -authoring.section.applicationexercise =Application Exercise -authoring.section.introduction =Introduction -authoring.create.question =Create Question -authoring.create.essay.question =Create Essay Question -authoring.create.mc.question =Create Multiple Choice Question -authoring.label.application.exercise.num =Application Exercise {0} -authoring.error.application.exercise.num =Application Exercise {0} may not be blank. -authoring.label.question.num =Question {0} -authoring.label.option.num =Option {0} -authoring.error.option =Option may not be blank -authoring.label.correct.question =Correct? -authoring.create.option =Create Option -button.next =Next -button.previous =Previous -button.return.to.template.list =Go back to Template list -authoring.error.content.id =Content ID is missing -authoring.error.question.must.have.answer.num =Question {0} must have at least one answer. -authoring.error.application.exercise.must.have.answer.num =Application Exercise {0} must have at least one answer. -authoring.error.application.exercise.must.have.100.percent =Application Exercise {0} must have at least one answer worth 100%. -authoring.error.application.exercise.not.blank.and.grade =Application Exercise {0} may not be blank and must have a grade. -authoring.label.grade =Grade -authoring.label.none =None -authoring.tbl.template.title =Team Based Learning -authoring.tbl.template.description =Individual and Team Readiness Assessments followed by Application Exercises. -authoring.tbl.desc.question =These questions are for iRA and tRA. Click "Create Question" to add more questions. Turn on "Enable confidence levels" to have the learners' confidence levels from the iRA shown on the tRA screen. -authoring.tbl.desc.ae =State the questions for AE. Click "Create Question" to add more questions. - - -#======= End labels: Exported 872 labels for en AU ===== +appName = lams_central +#language code: en +#locale code: AU + + # Exported from the LAMS Community by Ernie Ghiglione on Fri Dec 28 00:41:13 CST 2018 + +#=================== labels for LAMS Central =================# + +label.username =Username +label.password =Password +error.authorisation =You are not authorised to do this. +heading.general.error =Error +error.general.1 =Sorry, there has been an error. +error.general.2 =There is a problem processing this request. Close the browser window and try again. +error.general.3 =If the problem persists please contact your system administrator. +error.newpassword.mismatch =Your new passwords do not match each other. +error.oldpassword.mismatch =Your old password is not correct. +heading.password.change.screen =Change password +label.password.old.password =Old password +label.password.new.password =New password +label.password.confirm.new.password =Confirm new password +heading.password.changed.screen =Password changed +msg.password.changed =Your password has been changed. +error.login =Sorry, that username or password is not known. Please try again. +button.login =Login +label.user.guide =[HELP] +msg.loading =Loading... +msg.LAMS.version =Version +msg.LAMS.copyright.short =2002 onwards LAMS Foundation. +button.save =Save +button.cancel =Cancel +no.such.learningdesign.exist =No Learning Design with learning_design_id of:{0} exists. +no.such.user.exist =No such User with a user_id of: {0} exists. +no.such.workspace.exist =No such WorkspaceFolder with workspace_folder_id of:{0} exists. +delete.resource.error =Cannot delete the resource: {0} +delete.lesson.error =LAMS does not support deleting a lesson via the workspace interface. +delete.folder.error =Cannot delete this folder as it is the Root folder. +delete.learningdesign.error =Cannot delete design with learning_design_id of : {0} as it is READ ONLY. +folder.delete =Folder deleted:{0} +copy.resource.error =Cannot copy the resource:{0} +copy.resource.error.value.miss =copyResource(Long resourceID,Integer targetFolderID, String resourceType, Integer userID) requires a value for resourceID, targetFolderID, resourceType and userID +copy.no.support =LAMS does not support copying a file via the workspace interface. +unable.copy =Unable to copy learning design due to an error{0}. +no.such.user =No such user with a userID of {0} exists. +no.such.workspace =No such workspaceFolder with a workspace_folder_id of {0} exists. +learningdesign.delete =Learning design deleted:{0} +learningdesign.readonly =Cannot delete design with learning_design_id of:{0} as it is READ ONLY. +move.resource.error =Cannot move the resource:{0} +unsupport.move =LAMS does not support moving a file via the workspace interface. +creating.workspace.folder.error =Exception occured while creating workspaceFolderContent:{0}. +resource.already.exist =The resource {0} already exists in the repository: {1}. +no.such.content =No such content with versionID of {0} found in repository {1}. +content.delete.success =Content successfully deleted. +rename.resource.error =Cannot rename the resource: {0} +rename.resource.unspport =LAMS does not support renaming a file via the workspace interface. +folder.already.exist =A folder with given name ''{0}'' already exists. +organisations =Courses +folders =Folders +title.lams =LAMS +title.login.window =Login - LAMS :: Learning Activity Management System +title.system.admin.window =System Admin:: LAMS +msg.loading.system.admin.window =Loading +title.admin.window =Admin:: LAMS +msg.loading.admin.window =Loading Administration Environment. +msg.loading.add.lesson.window =Loading Add Lesson Wizard. +title.monitor.lesson.window =Monitor Lesson:: LAMS +msg.loading.monitor.lesson.window =Loading Lesson Monitoring Environment. +title.learner.window =Learner:: LAMS +msg.loading.learner.window =Loading Learner Environment. +title.error.window =LAMS :: Error +authoring.msg.save.success =Congratulations, your content saved successfully! +label.authoring.close =Close +label.authoring.re.edit =Re-edit +index.welcome =Welcome +index.logout =Logout +index.refresh =Refresh +index.myprofile =Profile +index.sysadmin =Sys Admin +index.courseman =Course Mgt +index.author =Author +index.classman =Manage Subcourses +index.addlesson =Add Lesson +index.monitor =Monitor +index.dummymonitor =Dummy Monitor +index.qb.collections =Question collections +title.import.result =Import tool content result +title.import =Import tool content +title.import.instruction =Please choose LAMS sequence to import. +title.import.instruction.antivirus =An antivirus scan will be performed. It can take a while. +title.export.loading =Export tool content loading +label.ld.zip.file =Learning design import file +msg.import.success =Learning design and activities imported successfully. +msg.import.ld.success =Learning design imported successfully. +msg.import.tool.error.prefix =But there are some tool(s) imports that failed +msg.import.failed =Learning design import failed +msg.export.loading =Learning design download will start automatically in seconds, please wait... +msg.export.success =Learning design and activities export successfully. +msg.export.ld.success =Learning design export successfully. +msg.export.tool.error.prefix =But there are some tool(s) exported failed +msg.export.failed =Learning design export failed +msg.reason.is =The reason is +button.close =Close +button.import =Import +msg.LAMS.copyright.statement.1 =LAMS\u2122 \u00a9 2002 onwards LAMS Foundation +msg.LAMS.copyright.statement.2 =LAMS is a trademark of LAMS Foundation (http://lamsfoundation.org). +msg.LAMS.copyright.statement.3 =This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. +title.export =Export tool content +error.system.error =An error has occurred. Please start again. Reason for error: {0} +msg.hide.detail =Hide detail +msg.show.detail =Show detail +msg.no.more.detail =No more detail +404.title =Page not found +404.message =The page you requested was not found. +403.title =Your current role does not allow you to view this page. Please contact your system administrator if you believe you should have access to this page. +msg.import.failed.unknown.reason =No error message available. +msg.import.file.not.found =Selected file has not been uploaded by your browser. Please try again. +title.profile.edit.screen =Edit profile +label.name =Name +label.title =Title +label.first_name =First name +label.last_name =Last name +label.address_line_1 =Address 1 +label.address_line_2 =Address 2 +label.address_line_3 =Address 3 +label.city =City +label.state =State +label.country =Country +label.day_phone =Work phone +label.evening_phone =Home phone +label.mobile_phone =Mobile +label.fax =Fax +label.email =Email +label.language =Language +title.password.change.screen =Change password +msg.groups.empty =No groups +label.postcode =Postcode +label.portrait.current =Current Portrait +label.portrait.upload =Upload +msg.portrait.none =No portrait uploaded +title.portrait.change.screen =Portrait +title.change.portrait.window =LAMS :: Change portrait +error.portrait.not.image =The file is not an image (PNG, GIF, JPG, WBMP and BMP formats allowed). +msg.portrait.resized =The image formats allowed are: PNG, GIF, JPG, WBMP and BMP. +label.workspace.root_folder =My workspace +msg.design.not.saved =Your design is not saved, any changes you have made since you last saved will be lost. +error.firstname.required =First name is required. +error.lastname.required =Last name is required. +error.email.required =Email address is required. +error.valid.email.required =Valid email address is required. +message.lesson.not.started.cannot.participate =This lesson has not been started. You cannot participate in the lesson until it is started. +index.mycourses =Courses +title.export.choose.format =Choose export content format +msg.export.choose.format.instruction =Please choose format which you want to export +msg.export.choose.format.lams =LAMS format +button.export =Export +label.open.lesson =Open Lesson +label.msg.status =Status: {0} +msg.status.not.stated =This lesson has not been started so you cannot access it. +msg.status.disabled =This lesson is disabled so you cannot access it. +msg.status.finished =This lesson has been finished or archived. +msg.status.removed =This lesson has been removed. +msg.browser.compat =Your browser does not support features required by LAMS. Please upgrade your browser. +label.disabled =Disabled +label.archived =Archived +audit.user.password.change =Password changed for: {0} +title.author.window =LAMS :: Author +title.all.my.lessons =All lessons +msg.no.lessons =No lessons +label.return.to.myprofile =Return to profile +label.help =Help? +label.completed =Completed! +label.enable.lesson.sorting =Enable lesson sorting +label.lesson.sorting.enabled =lesson sorting enabled +label.show.groups =Show Groups +label.forgot.password =Forgot your password? +button.select.importfile =Select file to import +label.yes =Yes +label.no =No +label.ok =OK +title.forgot.password =LAMS :: Forgot password +forgot.password.email.subject =LAMS server - Forgot password response +forgot.password.email.body =Click the link below and it will take you to a page where you can change your password. +error.support.email.not.set =Email could not be sent. The LAMS server has not been configured to handle emails. Please contact your system administrator. +error.password.request.expired =This request for a new password has expired. Please click the "Forgot your Password" link again to make a new request. +label.forgot.password.instructions.1 =Please enter your user name or email below. An email will be sent to you shortly with a link that will allow you to change your password. You only need to enter one value. +label.forgot.password.instructions.2 =If you do not know your email address in LAMS, please contact your system administrator. +label.forgot.password.email =By email +label.forgot.password.username =By username +error.forgot.password.fields =Both fields are required. Please try again. +error.email.not.sent =Server failed to send email to recipient. Please contact your system administrator. +error.forgot.password.email =Please enter an email address. +error.forgot.password.username =Please enter a username. +button.select.another.importfile =Select another file to import +error.forgot.password.incorrect.key =The request key is incorrect or has already been used. Please click the "Forgot your Password" link again to make a new request. +lessonsearch.title =Search learners in lesson +lessonsearch.instuctions =Please enter the login, first or last name of the learner. +lessonsearch.results =Lessons in which ''''{0}'''' has been found +index.searchlesson =Learner Search +index.searchlesson.tooltip =Search learners across lessons +lessonsearch.noresults =No Lessons found +error.multiple.emails =There are multiple users in LAMS with the given email. Email could not be sent. Please try again using your username, or contact your system administrator. +public.folder =Public Folder +index.coursegradebook =Course Gradebook +index.coursegradebook.tooltip =Open course-wide Gradebook monitoring page +index.coursegradebook.learner =Gradebook +index.coursegradebookmonitor =Mark +index.moreActions =More Options +label.required =Required +label.timezone.title =Time zone +email.to =To +email.subject =Subject +email.send =Send +email.compose.mail =Compose email +index.coursegradebook.subgroup =Subcourse Gradebook +error.finish.date.passed =The time allocated for this lesson has expired. You cannot access it anymore. Contact the instructor for assistance. +index.emailnotifications =Notifications +index.emailnotifications.tooltip =Email notifications +label.portrait.please.wait =Please wait +label.portrait.take.snapshot.from.webcamera =Webcam +label.portrait.configure =Configure +label.portrait.take.snapshot =Take pic +label.portrait.do.you.like.results =Is this good? +label.portrait.yes.set.it.as.portrait =Set as portrait +label.portrait.no.take.another.one =Take another one +error.edit.disabled =Profile editing is disabled. +message.profile.partially.edited =Profile has only been partially updated due to server configuration. +message.partial.edit.only =Only contact fields are editable due to server configuration. +error.password.empty =New password cannot be empty. +label.portrait.create.new.portrait =Select an image to upload or use your computer's webcam to create your portrait. +message.preceding.lessons.not.finished.cannot.participate =Preceding lessons have not been finished. You cannot participate in the lesson until this condition is met. +index.conditions =Conditions +index.conditions.tooltip =Conditions to participate in this lesson +index.conditions.flag.tooltip =Participation in the lesson is conditional +label.conditions.box.title =Lesson "{0}" will only be available after these lesson(s) are completed: +label.conditions.box.no.dependency =There are no dependencies for this lesson. +label.conditions.box.add.dependency =Select lesson that will need to be completed first: +label.conditions.box.remove.dependency =Remove lesson dependency +label.conditions.box.finish.global.date =Lesson finishes for everyone after {0} days from its start {1} +label.conditions.box.finish.individual.date =Lesson finishes after {0} days after user started participating +label.conditions.box.finish.no.date =Lesson does not have a fixed number days to finish +label.set =Set +error.conditions.box.finish.date =Error while setting lesson finish date: {0} +advanced.tab.form.time.limits.label =Time limits +advanced.tab.form.enter.number.days.label =Enter number days +advanced.tab.form.individual.not.entire.group.label =Individual and not for the entire group +label.start.lesson =Start lesson +success.msg.1 =You have successfully registered an account with LAMS. +success.login =Login now +success.errors =Had trouble sending email. Error was +login.username =Username +login.password =Password +login.course.key =Course key +login.submit =Submit +signup.username =Username +signup.password =Password +signup.confirm.password =Confirm password +signup.first.name =First name +signup.last.name =Last name +signup.email =Email +signup.confirm.email =Confirm email +signup.course.key =Course key +signup.submit =Submit +title.lams.signup =LAMS Signup +error.username.blank =Username cannot be blank +error.username.exists =Username is taken +error.first.name.blank =First name cannot be blank +error.last.name.blank =Last name cannot be blank +error.password.blank =Password cannot be blank +error.passwords.unequal =Passwords did not match +error.email.blank =Email cannot be blank +error.emails.unequal =Email addresses did not match +error.email.invalid.format =Email format is invalid +error.course.key.invalid =This course key is incorrect. Please try again or contact your course administrator for the correct key +error.login.or.password.incorrect =Login or password is incorrect. If you have not previously signed up for LAMS, please sign up {0}here{1}. +register.if.you.want.to.signup =If you want to sign up to LAMS as a new user, please select "Sign up" tab. If you already have an account, please select "Login" one. +register.signup.to.lams =Sign up +register.login =Login +index.remove.lesson =Remove +index.remove.lesson.tooltip =Permanently remove this lesson +label.edit =Edit +label.lesson.name =Lesson name +label.instructions =Lesson instructions +label.cancel =Cancel +label.display.lesson.design =Display learning design image? +index.remove.lesson.confirm1 =You are about to remove this lesson. Are you sure? +index.remove.lesson.confirm2 =Once you remove this lesson you CANNOT bring it back. Are you positive that you want to remove this lesson? +label.questions.choice.type.mc =Multiple Choice +label.questions.choice.type.tf =True-False +label.questions.choice.type.mt =Matching +label.questions.choice.type.mr =Multiple response +label.questions.choice.type.fb =Fill-in-Blank +label.questions.choice.type.es =Essay +label.questions.choice.type.unknown =Unknown +error.lesson.not.accessible.for.learners =Sorry, this lesson is now disabled/archived. Contact your instructor for further details. +button.add.now =Add now +label.tab.lesson =Lesson +label.tab.class =Class +label.tab.advanced =Advanced +label.tab.conditions =Conditions +label.tab.lesson.title =Select the sequence to add a lesson, and click on Add now +label.tab.class.title =Use drag n' drop to select or unselect monitors and learners +label.tab.lesson.name =Lesson name: +label.tab.lesson.size.full =(show full size) +label.tab.lesson.size.fit =(fit to window) +label.tab.lesson.sequence.folder =Run sequences +error.tab.lesson.sequence =A valid sequence must be selected +label.tab.class.monitors.unselected =Monitors unselected +label.tab.class.monitors.selected =Monitors selected +label.tab.class.learners.unselected =Learners unselected +label.tab.class.learners.selected =Learners selected +error.tab.class.learners =There must be at least 1 learner selected +error.tab.class.monitors =There must be at least 1 monitor selected +label.tab.advanced.details =Details +label.tab.advanced.intro.enable =Enable lesson intro +label.tab.advanced.intro.description =Description: +label.tab.advanced.intro.image =Display design image +label.tab.advanced.section.advanced =Advanced options +label.tab.advanced.field.monitor =Start in Monitor +label.tab.advanced.field.liveedit =Enable Live Edit +label.tab.advanced.field.notification =Enable lesson notifications +label.tab.advanced.field.presence =Allow learners to see who is online +label.tab.advanced.field.im =Enable Instant Messaging +label.tab.advanced.field.split =Split learners into separate copies of this lesson +label.tab.advanced.field.split.number =No. learners per lesson +label.tab.advanced.field.scheduling =Enable scheduling +label.tab.advanced.split.desc =[0] instances of this lesson will be created and approximately [1] will be allocated to each lesson +label.tab.conditions.dependencies =Dependencies +label.tab.conditions.dependencies.desc =Select a lesson that learners will need to complete before they can see the lesson you are about to create. +label.tab.conditions.timelimit =Time limitations +label.tab.conditions.timelimit.desc =Set the number of days the lesson will be available to learners. After this period the lesson will no longer be shown. If the time should count from the moment the learner starts the lesson, select the option for individual time limit. If you are scheduling the lesson end on the Advanced tab then you can only set an individual time limit. +label.tab.conditions.timelimit.days =Number days: +label.tab.conditions.timelimit.individual =Is this time limit for each individual? +label.tab.conditions.enable =Enable +label.questions.file.title =Choose IMS QTI file +label.questions.file.missing =Please select a ZIP or XML file with questions in IMS QTIformat. +label.questions.choice.title =Choose questions +label.questions.choice.select.all =Select all +label.questions.choice.missing =Please check at least one question. +index.single.activity.lesson.title =Add single activity lesson +index.single.activity.lesson.desc =or one-click activity: +label.disable.lesson.sorting =Disable lesson sorting +index.gradebook.course.title =Gradebook Course Monitor +index.gradebook.lesson.title =Gradebook Lesson Monitor +index.gradebook.learner.title =Course Gradebook Learner +index.conditions.title =Conditions to participate in this lesson +index.search.lesson.title =Search learners across lessons +index.orggroup =Course groupings +index.course.groups.title =Course groupings +label.course.groups.grouping.title =Groupings +label.course.groups.grouping.create =Create new +label.course.groups.grouping.remove.confirm =Are you sure you want to delete this grouping? +label.course.groups.name =Grouping name: +label.course.groups.name.blank =Grouping name can not be blank. +label.course.groups.edit.title =Please use drag n' drop to move learners between groups. +label.course.groups.viewonly.title =Course group view +label.course.groups.prefix =Group +label.course.groups.remove.confirm =Are you sure you want to delete this group? +label.course.groups.remove.empty.confirm =Some groups are new and empty. They will not be saved. Click OK to continue. +label.course.groups.add =Add a new group +label.course.groups.unassigned =Unassigned learners +label.course.groups.sort.tooltip =Sort learners +label.course.groups.remove.tooltip =Remove +label.course.groups.back =Groupings +label.course.groups.grouping.count.tooltip =Number of groups in this grouping +label.course.groups.grouping.use.confirm =Are you sure you want to use grouping "[0]"? Groups will be created for this lesson and learners assigned to them. +label.course.groups.locked =Some users in this group already used the grouping. The group is now locked: you can not remove it or move users to another group. +label.course.groups.locked.transfer =Are you sure you want to move these users to a locked group? You will not be allowed to move them to another group later. +label.tab.advanced.field.restart =Learners always start from the first activity +error.firstname.invalid.characters =First name contains invalid characters +error.lastname.invalid.characters =Last name contains invalid characters +error.username.invalid.characters =Username can only contain alphanumeric characters and no spaces. +error.lessonname.invalid.characters =Lesson name contains invalid characters +audit.admin.loginas =Sysadmin {0} has logged in as {1} +index.monitoring.title =Monitoring +heading.comments =Comments +label.hidden =Comment hidden +label.reply =Reply +label.hide =Hide +label.show =Show +label.post =Post +label.refresh =Refresh comments +error.cannot.redisplay.please.refresh =Your changes have been saved but cannot be redisplayed. Please select refresh to reload the comments. +error.please.refresh =An error has occurred. Your post may not have been saved. Please select refresh to start again +label.showhide.prompt =Show/Hide replies +message.complete.or.cancel.reply =Please complete or cancel the current reply before starting a new reply. +message.complete.or.cancel.edit =Please complete or cancel the current edit before starting a new reply. +label.show.more.messages =More comments +label.likes =Likes +label.comment.body.validation =The comment must be between 1 and 5000 character +label.edited =Edited +label.like =Like +label.dislike =Dislike +label.no.comments =No comments +label.newest.first =Newest first +label.top.comments =Top comments +label.add.sticky =Stick to top +label.remove.sticky =Remove sticky +label.private.notifications.title =Notifications +label.private.notifications.messages =Messages +label.private.notifications.read =Read +label.private.notifications.read.hint =Mark notification as read +label.private.notifications.read.all.hint =Mark all notifications as read +label.select.groups =Select groups +authoring.fla.course.groups.to.branches.match.dialog.title =Match Course Groups to Branching Groups +authoring.fla.branch.mapping.course.groups.header =Course groups +authoring.fla.branch.mapping.branching.groups.header =Branching groups +label.tab.advanced.field.force.restart =Learners always start from the first activity +label.tab.advanced.field.allow.restart =Learners can restart the lesson +label.verification.code =Verification code +error.verification.code =Sorry, entered verification code is incorrect. Please try again. +label.your.new.shared.secret =Your new shared secret: {0} +label.2FA.shared.secret =Two-factor authentication shared secret +label.2FA.login.panel =Two-factor authentication required +label.remove.org.favorite =Remove organisation from favorite ones +label.mark.org.favorite =Mark organisation as favorite +label.email.send.me.a.copy =Send me a copy +label.password.max.length =must be less than 25 characters +label.password.min.length =must be at least {0} characters long +label.password.old.must.entered =Old password must be entered +label.password.symbols.allowed =Only these symbols are allowed +label.password.restrictions =Password must follow the restrictions shown above +label.password.must.contain =Password must contain +label.password.must.ucase =at least 1 upper case letter +label.password.must.number =at least 1 number +label.password.must.symbol =at least 1 symbol +label.create.lesson =Create new lesson +label.organisations =Select course with the lessons that needs to be export +label.lesson.id =Lesson ID +label.display.design.image =Display sequence image? +label.select.sequence =You must select a sequence before proceeding +label.choose.sequence =Choose sequence +label.author.sequence =Author new LAMS sequence +label.open.monitor =Open Monitor +label.your.progress =Your lesson progress +label.you.completed.this.lesson =You have completed this lesson. +label.total.activities.depend.on.path =Total activities depend on your learning path. +label.lesson.not.completed =Lesson is not yet completed. +label.you.completed.activities =You have completed {0} activities +error.cannot.load.thumbnail =Unable to load sequence thumbnail. +label.lesson.introduction.updated =Introduction updated +no.such.signup.page.exist =No such signup page exists +error.lockedout =Due to consecutive failed attempts, the account has been locked out temporarily. +error.email.internal =An internal error occured. Try again using your username or contact your system administrator. More information is provided in application logs. +label.theme =Theme +authoring.fla.default.group.title =Grouping +authoring.fla.default.group.prefix =Group +authoring.fla.default.branching.title =Branching +authoring.fla.default.branch.prefix =Branch +authoring.fla.default.optional.activity.title =Optional Activity +authoring.fla.support.activity.title =Support Activity +authoring.fla.gate.activity.label =STOP +authoring.fla.branching.start.suffix =start +authoring.fla.branching.end.suffix =end +authoring.fla.activity.dialog.title.suffix =Authoring +authoring.fla.remove.activity.confirm =Are you sure you want to remove the whole branching activity? +authoring.fla.branching.create.confirm =Transition from this activity already exists.\\nDo you want to create branching here? +authoring.fla.transition.to.exists.error =Transition to this activity already exists. +authoring.fla.circular.sequence.error =You are not allowed to have a circular sequence. +authoring.fla.activity.in.container.error =You can not add this type of activity to an optional/support activity. +authoring.fla.default.annotation.label.title =Label +authoring.fla.region.fit.button.tooltip =Fit +authoring.fla.new.folder.button =New +authoring.fla.copy.button =Copy +authoring.fla.paste.button =Paste +authoring.fla.delete.button =Delete +authoring.fla.rename.button =Rename +authoring.fla.open.button =Open +authoring.fla.save.button =Save +authoring.fla.import.button =Import +authoring.fla.folder =folder +authoring.fla.sequence =sequence +authoring.fla.sequence.not.valid =The sequence is not valid.
It needs to be corrected before it can be used in lessons. +authoring.fla.sequence.validation.issues =While saving the sequence there were following validation issues: +authoring.fla.save.successful =The design is valid and has been saved. +authoring.fla.liveedit.save.successful =Changes were successfully applied. +authoring.fla.navigate.away.confirm =Your design is not saved.\\nAny changes you made since you last saved will be lost. +authoring.fla.delete.node.confirm =Are you sure you want to delete this +authoring.fla.sequence.overwrite.confirm =Are you sure you want to overwrite the existing sequence? +authoring.fla.new.folder.title.prompt =Please enter the name for a new folder +authoring.fla.rename.title.prompt =Please enter the new name for +authoring.fla.save.sequence.title.prompt =Please enter a title for the sequence +authoring.fla.import.part.choose.prompt =Click on activities to choose them for import +authoring.fla.folder.not.selected.error =Please choose a folder +authoring.fla.title.validation.error =The title must not be blank and must not contain any of these characters < > ^ * @ % $ +authoring.fla.folder.exists.error =A folder with this name already exists. +authoring.fla.sequence.exists.error =A sequence with this name already exists. +authoring.fla.sequence.save.error =Error while saving sequence +authoring.fla.svg.save.error =Error while saving sequence thumbnail +authoring.fla.sequence.not.selected.error =Please choose a sequence +authoring.fla.sequence.load.error =Error while loading the sequence +authoring.fla.transition.from.exists.error =Transition from this activity already exists +authoring.fla.export.sequence.dialog.title =Sequence export +authoring.fla.activity.copy.title.prefix =Copy [0] of +authoring.fla.preview.lesson.default.title =Preview +authoring.fla.save.dialog.title =Save sequence +authoring.fla.open.dialog.title =Open sequence +authoring.fla.import.dialog.title =Import Learning Design +authoring.fla.import.part.dialog.title =Import activities +authoring.fla.run.sequences.folder =Run sequences +authoring.fla.arrange.confirm =There are annotations on the canvas.\\n\ They will be not arranged automatically, you will have to adjust them manually later.\\n\ Do you want to continue? +authoring.fla.clear.canvas.confirm =You have got unsaved changes. They will be lost. Do you want to continue? +authoring.fla.branching.start.place.prompt =Place the branching point +authoring.fla.branching.end.place.prompt =Place the converge point +authoring.fla.annotation.region.place.prompt =Click and hold to start drawing an annotation region +authoring.fla.annotation.label.place.prompt =Click to add an annotation label +authoring.fla.optional.activity.place.prompt =Click to add an optional activity container. +authoring.fla.support.activity.place.prompt =Click to add a support activity container. +authoring.fla.transition.place.prompt =Click on an activity +authoring.fla.paste.error =Sorry, you can not paste this type of activity +authoring.fla.preview.error =Error while initialising lesson for preview +authoring.fla.cross.branching.error =Cross-branching transitions are not allowed +authoring.fla.support.transition.error =Support activities can not be connected to any other activity +authoring.fla.end.match.error =: a branch that ends in this branching does not start in it +authoring.fla.ok.button =OK +authoring.fla.cancel.button =Cancel +authoring.fla.clear.all.button =Clear all +authoring.fla.refresh.button =Refresh +authoring.fla.remove.condition.button =Remove +authoring.fla.properties.dialog.title =Properties +authoring.fla.group.naming.dialog.title =Group Naming +authoring.fla.groups.to.branches.match.dialog_title =Match Groups to Branches +authoring.fla.branch.mapping.groups.header =Groups +authoring.fla.branch.mapping.group.header =Group +authoring.fla.conditions.dialog.title =Select Output Conditions for Input +authoring.fla.branch.mapping.conditions.header =Conditions +authoring.fla.branch.mapping.condition.header =Condition +authoring.fla.branch.mapping.gate.header =Gate +authoring.fla.branch.mapping.branches.header =Branches +authoring.fla.branch.mapping.branch.header =Branch +authoring.fla.gate.state.mapping.dialog.title =Map gate conditions +authoring.fla.branch.mapping.dialog.title =Match conditions to branches +authoring.fla.gate.state.open =open +authoring.fla.gate.state.closed =closed +authoring.fla.branch.mapping.default.branch.suffix =(default) +authoring.fla.complex.output.suffix =(user defined) +authoring.fla.range.output.suffix =(range) +authoring.fla.range.condition.description =Range [0] to [1] +authoring.fla.exact.condition.description =Exact value of +authoring.fla.less.condition.description =Less than or eq +authoring.fla.greater.condition.description =Greater than or eq +authoring.fla.default.range.condition.title.prefix =Untitled +authoring.fla.clear.all.confirm =There are conditions linked to an existing branch.\\nDo you wish to remove them? +authoring.fla.remove.condition.confirm =This condition is linked to an existing branch.\\nDo you wish to remove it? +authoring.fla.refresh.conditions.confirm =You are about to update your conditions for the selected output definition.\\n\ This will clear all links to existing branches.\\nDo you wish to continue? +authoring.fla.conditions.to.default.gate.state.confirm =All remaining conditions will be mapped to the selected gate\\'s closed state +authoring.fla.conditions.to.default.branch.confirm =All remaining conditions will be mapped to the default branch +authoring.fla.groups.to.default.branch.confirm =All remaining groups will be mapped to the default branch +authoring.fla.range.condition.add.start.error =The start value can not be within the range of an existing condition +authoring.fla.range.condition.add.end.error =The end value can not be within the range of an existing condition +authoring.fla.group.title.validation.erorr =Group name must not be blank and must not contain any of these characters < > ^ * @ % $ +authoring.fla.page.title =Authoring +authoring.fla.page.menu.new =New +authoring.fla.page.menu.open =Open +authoring.fla.page.menu.import =Import +authoring.fla.page.menu.import.part =Import part +authoring.fla.page.menu.save =Save +authoring.fla.page.menu.saveas =Save as +authoring.fla.page.menu.export.lams =Export +authoring.fla.page.menu.copy =Copy +authoring.fla.page.menu.paste =Paste +authoring.fla.page.menu.transition =Transition +authoring.fla.page.menu.optional =Optional +authoring.fla.page.menu.optional.activity =Activity +authoring.fla.page.menu.optional.support =Support +authoring.fla.page.menu.flow =Flow +authoring.fla.page.menu.flow.gate =Gate +authoring.fla.page.menu.flow.branch =Branch +authoring.fla.page.menu.group =Group +authoring.fla.page.menu.annotate =Annotate +authoring.fla.page.menu.annotate.label =Label +authoring.fla.page.menu.annotate.region =Region +authoring.fla.page.menu.arrange =Arrange +authoring.fla.page.menu.preview =Preview +authoring.fla.page.ld.title =Untitled +authoring.fla.page.ld.description =Description: +authoring.fla.page.ld.license =License: +authoring.fla.page.ld.license.none =No license currently selected. Please select one. +authoring.fla.page.ld.license.info =Additional license information: +authoring.fla.page.dialog.access =Recently used sequences +authoring.fla.page.dialog.ld.title =Title: +authoring.fla.page.dialog.mappings =Mappings +authoring.fla.page.prop.title =Title: +authoring.fla.page.prop.default =Default? +authoring.fla.page.prop.grouping.type =Grouping type: +authoring.fla.page.prop.grouping.type.random =Random +authoring.fla.page.prop.grouping.type.monitor =Choose in Monitor +authoring.fla.page.prop.grouping.type.learner =Learner's choice +authoring.fla.page.prop.groups.number =Number of groups: +authoring.fla.page.prop.groups.learners =Or learners per group: +authoring.fla.page.prop.groups.equal =Equal group sizes? +authoring.fla.page.prop.groups.view.learners =View learners before selection? +authoring.fla.page.prop.groups.name =Name Groups +authoring.fla.page.prop.gradebook =Gradebook output: +authoring.fla.page.prop.description =Description: +authoring.fla.page.prop.gate.type =Type: +authoring.fla.page.prop.gate.type.condition =Condition +authoring.fla.page.prop.gate.type.sync =Synchronise +authoring.fla.page.prop.gate.type.schedule =Schedule +authoring.fla.page.prop.gate.type.permission =Permission +authoring.fla.page.prop.input =Input (Tool): +authoring.fla.page.prop.gate.delay =Delay: +authoring.fla.page.prop.days =days +authoring.fla.page.prop.hours =hours +authoring.fla.page.prop.minutes =minutes +authoring.fla.page.prop.gate.activity.finish.based =Since learner finished previous activity? +authoring.fla.page.prop.conditions.create =Create conditions +authoring.fla.page.prop.gate.conditions.map =Map gate conditions +authoring.fla.page.prop.branching.type =Branching type: +authoring.fla.page.prop.branching.type.chose =Instructor's choice +authoring.fla.page.prop.branching.type.group =Group-based +authoring.fla.page.prop.branching.type.tool =Learner's output +authoring.fla.page.prop.branching.type.optional =Learner's choice +authoring.fla.page.prop.grouping =Grouping: +authoring.fla.page.prop.branching.conditions.match =Match conditions to branches +authoring.fla.page.prop.branching.groups.match =Match Groups to Branches +authoring.fla.page.prop.branching.sequences.min =Min sequences: +authoring.fla.page.prop.branching.sequences.max =Max sequences: +authoring.fla.page.prop.optional.activities.min =Min activities: +authoring.fla.page.prop.optional.activities.max =Max activities: +authoring.fla.page.prop.color =Color: +authoring.fla.page.dialog.cond.output.choose =[ Choose Output ] +authoring.fla.page.dialog.cond.options.choose =[ Options ] +authoring.fla.page.dialog.cond.greater =Greater than or equal to +authoring.fla.page.dialog.cond.less =Less than or equal to +authoring.fla.page.dialog.cond.range =Range +authoring.fla.page.dialog.cond.range.from =From: +authoring.fla.page.dialog.cond.range.to =To: +authoring.fla.page.dialog.cond.add =Add +authoring.fla.page.dialog.cond.name =Name: +authoring.fla.page.dialog.cond.list.name =Name +authoring.fla.page.dialog.cond.list.condition =Condition +authoring.fla.page.download.image =Click here to download the image. +authoring.fla.page.download.wait =Please wait for the download. +authoring.fla.page.download.close =Close the dialog when the download is finished. +authoring.fla.page.svg.generator.title =SVG Generator +authoring.fla.tool.groups.all =All +authoring.fla.liveedit.cancel.confirm =Do you want to cancel changes made in Live Edit? +authoring.fla.liveedit.readonly.activity.error =The activity can not be modified. It is read-only. +authoring.fla.liveedit.readonly.move.parent.error =The activity can not be moved outside its parent. It is read-only. +authoring.fla.liveedit.readonly.remove.activity.error =The activity can not be removed. It is read-only. +authoring.fla.liveedit.readonly.remove.parent.error =The activity can not be removed. Its parent activity is read-only. +authoring.fla.liveedit.readonly.remove.child.error =The activity can not be removed. It has read-only child activities. +authoring.fla.liveedit.readonly.remove.transition.error =The transition can not be removed. It is read-only. +ckeditor.math.math =Math +ckeditor.math.functions =Functions +ckeditor.math.greek =Greek +ckeditor.math.matrix =Matrix +ckeditor.math.symbols =Symbols +ckeditor.math.arrows =Arrows +ckeditor.math.accents =Accents +ckeditor.math.formatting =Formatting +authoring.fla.cut.button =Cut +authoring.fla.modify.error =You cannot modify this resource +authoring.fla.folder.move.to.child.error =Cannot move a folder into its child +label.password.must.lcase =at least 1 lower case letter +label.timezone.warning =The timezone set in your profile does not match timezone on your computer. The times shown will be for the timezone set in your profile. +authoring.fla.folder.can.not.save.error =You cannot save in this folder +authoring.fla.boolean.output.suffix =(boolean: 1 or 0) +lessons =Lessons +label.tour =Tour +tour.intro.title =LAMS Tour +tour.intro.content =This short tour will show you the features of the main LAMS screen. You can stop the tour at any time by clicking End Tour, and restart it again by clicking on the Tour button. +tour.course.reveal.content =Click here to reveal or hide your courses. +tour.courses.content =Click on a course to make it the current course. +tour.favorites.content =Your favourite courses will appear at the top of the list. +tour.lessons.content =Lessons will appear here for the current course. +tour.notification.content =Review the notifications that you have received about your lessons. +tour.authoring.content =Create or modify the learning designs used for lessons. +tour.user.profile.content =Update your personal settings. +tour.course.name.title =Course Name +tour.course.name.content =Current course name. Click on the star to add this course to your favourites in the course list. +tour.add.lesson.content =Create a new lesson for this course using this button, or a lesson to a course subgroup using the Add Lesson button next to the subgroup name. +tour.add.single.activity.lesson.content =Use the down arrow to select an activity and then create a lesson with just this single activity. +tour.course.gradebook.content =View your marks for this course. +tour.more.actions.content =General options for managing this course such as notifications, subgroups, gradebook. The contents of this menu will vary depending on your responsibilities. +tour.lesson.monitoring.title =Lesson Monitoring +tour.lesson.monitoring.content =The Monitoring screen shows you where the learners are in the lesson their contributions. +tour.lesson.notifications.title =Lesson Notifications +tour.lesson.notifications.content =Send email notifications to learners. +tour.lesson.gradebook.title =Lesson Gradebook +tour.lesson.gradebook.content =Review learners\' marks and the length of time taken in the lesson. +tour.lesson.conditions.title =Lesson Conditions +tour.lesson.conditions.content =Set up conditions for starting or ending the lesson. +tour.lesson.remove.title =Remove Lesson +tour.lesson.remove.content =Remove the lesson completely. This is permanent - it cannot be undone. +tour.end.title =End Of Tour +tour.end.content =Thank you for taking the tour. To restart the tour, click the Tour button again. +errors.maxfilesize =Uploaded file exceeded maximum size: {0} +error.attachment.executable =Uploaded file is executable +label.upload.info =Uploaded file must not be executable and not exceed size of {0} +label.file =File +authoring.fla.page.prop.size =Size: +authoring.fla.conditions.mapping.broken =Conditions in the activity were changed. Please review following activities as they referred the modified conditions: +authoring.fla.activity.unnamed.description =unnamed +authoring.fla.activity.gate.description =gate +authoring.fla.activity.branching.description =branching +tour.prev =Prev +tour.next =Next +tour.end.tour =End of tour +label.search.for.courses =Search for courses +label.save.as.course.grouping =Save as a Course Grouping +label.enter.course.grouping.name =Please enter name for the new course grouping +label.course.groups.name.not.unique =Course grouping with such name already exists. Please enter another one. +label.save.as.course.grouping.hint =You can save the groups as "Course groupings" so it can be used in other lessons as well. If the groups are just specifically for this lesson, you might not want to do this. Otherwise, click the button to give them a name and reuse them later. +label.advanced.settings =Advanced settings +audit.delete.portrait =Portrait for user {0} {1}({2}) deleted. Portrait Id was {3}. +authoring.fla.weights.menu =Weights +authoring.fla.weights.title =Weights on activity outputs +authoring.fla.weights.activity =Activity +authoring.fla.weights.output =Output +authoring.fla.weights.weight =Weight +authoring.fla.weights.sum =Sum +authoring.fla.weights.sum.error =Output weights do not sum up to 100%. Adjust them in Weights dialog. +label.tab.advanced.field.gradebook.complete =Display activity scores on completion +index.kumalive =Kumalive +index.kumalive.tooltip =Enter a live lesson +index.kumalive.enter.learner =Enter as a learner +index.kumalive.report =Reports +index.kumalive.rubric =Rubrics management +label.import.groups.from.template =Import groups from template +label.import.groups.from.template.description =Download the template spreadsheet to create your groups using all the present learners in this lesson/course. Once you upload the file, the groups will be automatically created according to the spreadsheet. +label.download.template =Download Template +label.upload.group.spreadsheet =Upload Finished Spreadsheet +error.file.required =Grouped Spreadsheet Required +error.file.wrong.format =Grouped Spreadsheet in the wrong format. Please upload a file based on the given template. +label.import.successful =Group Import successful. {0} learners allocated to groups, {1} learners skipped. +label.import.warning.replace.groups =Importing this file will replace the existing groups. Do you want to import this file? +filename.create.grouping.template =create-grouping-template +spreadsheet.column.login =Login +spreadsheet.column.firstname =First Name +spreadsheet.column.lastname =Last Name +spreadsheet.column.groupname =Group Name +error.groups.upload.locked =Cannot update groups as the groups are now in use. +error.branching.upload.must.use.existing.groups =Cannot update branching. Must use the existing names: {0}. +label.print =Print +authoring.tbl.desc.peer.review =These are the criteria for which the learners will rate each other using a 5 star rating. These fields are optional and no Peer Review will be created if they are left blank. +authoring.section.peerreview =Peer Review +authoring.label.peerrevice.criteria.num =Rating Criteria {0} +authoring.label.peerrevice.allow.comments =Allow learners to comment on other learners +authoring.label.peerrevice.min.words.in.comments =Minimum number of words in a comment +authoring.create.criteria =Create Criteria +audit.design.created =Learning design "{0}" ({1}) created by {2} ({3}) +authoring.fla.save.successful.check.grouping =Your design is valid and has been saved.\\nIf this is a TBL sequence, you may want to make following activities grouped: +authoring.fla.weights.none =No activities with weightable gradebook output +audit.live.edit.start =Live Edit of Learning Design "{0}" ({1}) for Lesson ({2}) started by {3} ({4}) +audit.live.edit.end =Live Edit of Learning Design "{0}" ({1}) for Lesson ({2}) completed by {3} ({4}) +label.post.anonomously =Post anonymously +label.anonymous =Anonymous +label.anonymous.tooltip =Turn on "Post anonymously" to hide your name from other learners. Teachers will still be able to see your name. +authoring.fla.page.ld.title.desc =Click to display sequence details +label.start =Start: +label.end =End: +error.lesson.with.scheduled.end.only.have.individual.limits =Lessons with a scheduled end date can only have individual time limits, not a lesson time limit. +error.lesson.end.date.must.be.after.start.date =Scheduled end date must be after the start date. +label.policies.title =Policies +label.agree.to.policies.before.proceeding =Please agree to all the policies before proceeding +label.consent.required =Consent is required +label.agree.to.policy =I agree to the policy +label.policy.name =Policy name +label.policy.type =Policy type +label.policy.type.site =Site policy +label.policy.type.privacy =Privacy policy +label.policy.type.third.party =Third party policy +label.policy.type.other =Other policy +label.summary =Summary +label.full.policy =Full policy +label.consent =Consent +label.policies.consents =Policies and consents +label.version =Version +label.consented =Consented? +label.consented.on =Consented on +label.policy.details =Policy details +authoring.fla.page.prop.gradebook.none =No score +label.select.country =Select a country +error.country.required =Country is required +error.cannot.login.as.with.not.allow.direct.access =You cannot login as this user as they are an Integration Learner and 'Allow direct access to main LAMS page for Integration Learners' is turned off in the system configuration. +signup.email.verify.body.1 =Hi there, +signup.email.verify.body.2 =Please confirm your email address by clicking on the link below +signup.email.verify.body.3 =Regards, +signup.email.verify.body.4 =LAMS Signup System +signup.email.welcome.body.1 =Hi there, +signup.email.welcome.body.2 =You''ve successfully registered an account with username {0} on the LAMS server at {1}. +signup.email.welcome.body.3 =If you ever forget your password, you can reset it via this URL +signup.email.welcome.body.4 =Regards, +signup.email.welcome.body.5 =LAMS Signup System +authoring.fla.readonly.checkbox =read-only +authoring.fla.readonly.forbidden =This sequence is read-only. If you want to modify it, you can create its copy. +register.email.verify =A confirmation email will be sent before you are able to log in. +signup.email.verify.sent =A confirmation email has been sent to {0}
Check your email and follow the instructions. +authoring.enable.confidence.levels =Enable confidence levels +authoring.fla.page.menu.apply.changes =Apply changes +forgot.password.request.processed =If the email/username that you have provided exists, an email would be sent to the registered email address. +label.view =View +index.outcome.manage =Outcomes +index.outcome.manage.tooltip =Manage learning outcomes and scales +outcome.manage.title =Course outcomes +outcome.manage.remove =Remove outcome +outcome.manage.remove.confirm =Are you sure you want to remove this outcome? +outcome.manage.add =Add outcome +outcome.manage.edit =Edit outcome +outcome.manage.view =View outcome +outcome.manage.add.name =Name +outcome.manage.add.code =Code +outcome.manage.add.description =Description +outcome.manage.add.global =Global +outcome.manage.add.scale =Scale +outcome.manage.add.save =Save +outcome.manage.scope =Scope +outcome.manage.scope.global =global +outcome.manage.scope.course =course +outcome.manage.add.error =Error while saving an outcome +outcome.manage.add.error.name.blank =Name can not be blank +outcome.manage.add.error.code.blank =Code can not be blank +outcome.manage.add.error.scale.choose =You have to choose a scale +scale.title =Scales +scale.manage =Manage scales +scale.manage.add =Add scale +scale.manage.edit =Edit scale +scale.manage.view =View scale +scale.manage.title =Course scales +scale.manage.remove =Remove scale +scale.manage.remove.scale =Error while removing a scale. It is probably used in some outcomes. +scale.manage.remove.confirm =Are you sure you want to remove this scale? +scale.manage.add.value =Values +scale.manage.add.value.info =Enter comma separated values in increasing order of value. For example, an A,B,C,D scale must be entered as D,C,B,A. +scale.manage.add.value.error.blank =A value must not be blank +scale.manage.add.error =Error while saving an outcome scale +outcome.authoring.title =Learning outcomes +outcome.authoring.input =Search and select by outcome name or code +outcome.authoring.existing =Added outcomes +outcome.authoring.existing.none =none +outcome.export.date =Exported on: +outcome.export =Export +outcome.import =Import +outcome.import.error =Error while importing outcomes or scales. Check logs. +authoring.msg.close.cancel.save =Do you want to close this window without saving? +authoring.msg.list.cancel.save =Do you want to return to the template list without saving? +authoring.fla.page.menu.new.template =Use Template +authoring.template.list.introduction =Select a template from the list to see more details about the design that will be created. You can the proceed to create the design or return back to this list. +authoring.learning.design.templates =Learning Design Templates +authoring.template.successful =Your design has been saved as {0}. +authoring.label.sequence.title =Title of Sequence +authoring.error.question.num =Question {0} may not be blank +authoring.error.question.correct.num =One of the answers for Question {0} needs to be correct. +authoring.description.application.exercise =Application Exercise (These question(s) will be shown during the analysis phase in the sequence.) +authoring.label.grouping =Grouping +authoring.label.grouping.learners.choice =Learner's Choice +authoring.label.grouping.teachers.choice =Teacher's Choice +authoring.label.grouping.random.allocation =Random Allocation +authoring.label.numgroups =Number of groups: +authoring.error.numgroups =Number of groups must be 1 to 99. +authoring.label.numlearners =Number of learners: +authoring.error.numlearners =Number of learners must be 1 to 99. +authoring.error.group.data =Group settings are not correct. +authoring.section.lessondetails =Lesson Details +authoring.section.questions =Questions +authoring.section.applicationexercise =Application Exercise +authoring.section.introduction =Introduction +authoring.create.question =Create Question +authoring.create.essay.question =Create Essay Question +authoring.create.mc.question =Create Multiple Choice Question +authoring.label.application.exercise.num =Application Exercise {0} +authoring.error.application.exercise.num =Application Exercise {0} may not be blank. +authoring.label.question.num =Question {0} +authoring.label.option.num =Option {0} +authoring.error.option =Option may not be blank +authoring.label.correct.question =Correct? +authoring.create.option =Create Option +button.next =Next +button.previous =Previous +button.return.to.template.list =Go back to Template list +authoring.error.content.id =Content ID is missing +authoring.error.question.must.have.answer.num =Question {0} must have at least one answer. +authoring.error.application.exercise.must.have.answer.num =Application Exercise {0} must have at least one answer. +authoring.error.application.exercise.must.have.100.percent =Application Exercise {0} must have at least one answer worth 100%. +authoring.error.application.exercise.not.blank.and.grade =Application Exercise {0} may not be blank and must have a grade. +authoring.label.grade =Grade +authoring.label.none =None +authoring.tbl.template.title =Team Based Learning +authoring.tbl.template.description =Individual and Team Readiness Assessments followed by Application Exercises. +authoring.tbl.desc.question =These questions are for iRA and tRA. Click "Create Question" to add more questions. Turn on "Enable confidence levels" to have the learners' confidence levels from the iRA shown on the tRA screen. +authoring.tbl.desc.ae =State the questions for AE. Click "Create Question" to add more questions. + + +#======= End labels: Exported 872 labels for en AU ===== Index: lams_central/src/java/org/lamsfoundation/lams/web/IndexController.java =================================================================== diff -u -r9ce6e786a9cb67a09a0dfa5470ec529bae260d23 -r2128de996e2dddada19946afdcd719bbd7bdbfab --- lams_central/src/java/org/lamsfoundation/lams/web/IndexController.java (.../IndexController.java) (revision 9ce6e786a9cb67a09a0dfa5470ec529bae260d23) +++ lams_central/src/java/org/lamsfoundation/lams/web/IndexController.java (.../IndexController.java) (revision 2128de996e2dddada19946afdcd719bbd7bdbfab) @@ -1,303 +1,307 @@ -/**************************************************************** - * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) - * ============================================================= - * License Information: http://lamsfoundation.org/licensing/lams/2.0/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2.0 - * as published by the Free Software Foundation. - * - * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - * USA - * - * http://www.gnu.org/licenses/gpl.txt - * **************************************************************** - */ -package org.lamsfoundation.lams.web; - -import java.io.File; -import java.io.IOException; -import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.List; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - -import org.apache.commons.lang.StringUtils; -import org.apache.log4j.Logger; -import org.lamsfoundation.lams.index.IndexLinkBean; -import org.lamsfoundation.lams.integration.service.IIntegrationService; -import org.lamsfoundation.lams.policies.service.IPolicyService; -import org.lamsfoundation.lams.usermanagement.Organisation; -import org.lamsfoundation.lams.usermanagement.Role; -import org.lamsfoundation.lams.usermanagement.User; -import org.lamsfoundation.lams.usermanagement.dto.OrganisationDTO; -import org.lamsfoundation.lams.usermanagement.dto.UserDTO; -import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; -import org.lamsfoundation.lams.util.Configuration; -import org.lamsfoundation.lams.util.ConfigurationKeys; -import org.lamsfoundation.lams.util.WebUtil; -import org.lamsfoundation.lams.web.session.SessionManager; -import org.lamsfoundation.lams.web.util.AttributeNames; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.util.HtmlUtils; - -import com.fasterxml.jackson.databind.node.ArrayNode; -import com.fasterxml.jackson.databind.node.JsonNodeFactory; -import com.fasterxml.jackson.databind.node.ObjectNode; - -/** - * - * @author Fei Yang - */ -@Controller -@RequestMapping("/index") -public class IndexController { - private static Logger log = Logger.getLogger(IndexController.class); - private static final String PATH_LAMS_PLANNER_WAR = "lams-planner.war"; - - @Autowired - private IUserManagementService userManagementService; - @Autowired - private IIntegrationService integrationService; - @Autowired - private IPolicyService policyService; - - @RequestMapping("") - public String unspecified(HttpServletRequest request, HttpServletResponse response) throws Exception { - - IndexController.setHeaderLinks(request); - setAdminLinks(request); - - // check if this is user's first login; some action (like displaying a dialog for disabling tutorials) can be - // taken based on that parameter; immediatelly, the value in DB is updated - HttpSession ss = SessionManager.getSession(); - UserDTO userDTO = (UserDTO) ss.getAttribute(AttributeNames.USER); - if (userDTO.isFirstLogin()) { - request.setAttribute("firstLogin", true); - User user = userManagementService.getUserByLogin(userDTO.getLogin()); - user.setFirstLogin(false); - userManagementService.saveUser(user); - userDTO.setFirstLogin(false); - } - - // check if user is flagged as needing to change their password - User loggedInUser = userManagementService.getUserByLogin(request.getRemoteUser()); - if (loggedInUser.getChangePassword() != null && loggedInUser.getChangePassword()) { - return "forward:/password.do"; - } - - // check if user needs to get his shared two-factor authorization secret - if (loggedInUser.isTwoFactorAuthenticationEnabled() - && loggedInUser.getTwoFactorAuthenticationSecret() == null) { - return "forward:/twoFactorAuthentication.do"; - } - - // check if user needs to get his shared two-factor authorization secret - if (policyService.isPolicyConsentRequiredForUser(loggedInUser.getUserId())) { - return "forward:/policyConsents.do"; - } - - User user = userManagementService.getUserByLogin(userDTO.getLogin()); - request.setAttribute("portraitUuid", user.getPortraitUuid()); - - String redirectParam = WebUtil.readStrParam(request, "redirect", true); - if (StringUtils.equals(redirectParam, "profile")) { - return "forward:/profile/view.do"; - } else if (StringUtils.equals(redirectParam, "editprofile")) { - return "forward:/profile/edit.do"; - } else if (StringUtils.equals(redirectParam, "password")) { - String passwordUrl = "forward:/password.do"; - String redirectUrlParam = WebUtil.readStrParam(request, "redirectURL", true); - if (StringUtils.isNotBlank(redirectUrlParam)) { - passwordUrl = WebUtil.appendParameterToURL(passwordUrl, "redirectURL", - URLEncoder.encode(redirectUrlParam, "UTF-8")); - } - return passwordUrl; - } else if (StringUtils.equals(redirectParam, "portrait")) { - return "forward:/portrait.do"; - } else if (StringUtils.equals(redirectParam, "lessons")) { - return "forward:/profile/lessons.do"; - } - - // This test also appears in LoginAsAction - Boolean allowDirectAccessIntegrationLearner = Configuration - .getAsBoolean(ConfigurationKeys.ALLOW_DIRECT_ACCESS_FOR_INTEGRATION_LEARNERS); - if (!allowDirectAccessIntegrationLearner) { - boolean isIntegrationUser = integrationService.isIntegrationUser(userDTO.getUserID()); - //prevent integration users with mere learner rights from accessing index.do - if (isIntegrationUser && !request.isUserInRole(Role.AUTHOR) && !request.isUserInRole(Role.MONITOR) - && !request.isUserInRole(Role.GROUP_MANAGER) && !request.isUserInRole(Role.SYSADMIN)) { - response.sendError(HttpServletResponse.SC_FORBIDDEN, - "Integration users with learner right are not allowed to access this page"); - return null; - } - } - - // only show the growl warning the first time after a user has logged in & if turned on in configuration - Boolean tzWarning = Configuration.getAsBoolean(ConfigurationKeys.SHOW_TIMEZONE_WARNING); - request.setAttribute("showTimezoneWarning", tzWarning); - request.setAttribute("showTimezoneWarningPopup", false); - if (tzWarning) { - Boolean ssWarningShown = (Boolean) ss.getAttribute("timezoneWarningShown"); - if (!Boolean.TRUE.equals(ssWarningShown)) { - ss.setAttribute("timezoneWarningShown", Boolean.TRUE); - request.setAttribute("showTimezoneWarningPopup", true); - } - } - - List favoriteOrganisations = userManagementService - .getFavoriteOrganisationsByUser(userDTO.getUserID()); - request.setAttribute("favoriteOrganisations", favoriteOrganisations); - request.setAttribute("activeOrgId", user.getLastVisitedOrganisationId()); - - boolean isSysadmin = request.isUserInRole(Role.SYSADMIN); - int userCoursesCount = userManagementService.getCountActiveCoursesByUser(userDTO.getUserID(), isSysadmin, null); - request.setAttribute("isCourseSearchOn", userCoursesCount > 10); - - return "main"; - } - - private static void setHeaderLinks(HttpServletRequest request) { - List headerLinks = new ArrayList<>(); - if (request.isUserInRole(Role.AUTHOR)) { - if (IndexController.isPedagogicalPlannerAvailable()) { - headerLinks.add(new IndexLinkBean("index.planner", "javascript:openPedagogicalPlanner()")); - } - headerLinks.add(new IndexLinkBean("index.author", "javascript:showAuthoringDialog()")); - } - - String customTabText = Configuration.get(ConfigurationKeys.CUSTOM_TAB_TITLE); - String customTabLink = Configuration.get(ConfigurationKeys.CUSTOM_TAB_LINK); - if (customTabLink != null && customTabLink.trim().length() > 0) { - headerLinks.add(new IndexLinkBean(customTabText, "javascript:openCustom(\"" + customTabLink + "\")")); - } - - request.setAttribute("headerLinks", headerLinks); - } - - private void setAdminLinks(HttpServletRequest request) { - List adminLinks = new ArrayList<>(); - if (request.isUserInRole(Role.SYSADMIN) || request.isUserInRole(Role.GROUP_MANAGER)) { - adminLinks.add(new IndexLinkBean("index.courseman", "javascript:openOrgManagement(" - + userManagementService.getRootOrganisation().getOrganisationId() + ')')); - } - if (request.isUserInRole(Role.SYSADMIN) || userManagementService.isUserGlobalGroupManager()) { - adminLinks.add(new IndexLinkBean("index.sysadmin", "javascript:openSysadmin()")); - } - request.setAttribute("adminLinks", adminLinks); - } - - /** - * Returns list of organisations for user. Used by offcanvas tablesorter on main.jsp. - */ - @ResponseBody - @RequestMapping("/getOrgs") - public void getOrgs(HttpServletRequest request, HttpServletResponse res) throws IOException, ServletException { - User loggedInUser = userManagementService.getUserByLogin(request.getRemoteUser()); - - Integer userId = loggedInUser.getUserId(); - boolean isSysadmin = request.isUserInRole(Role.SYSADMIN); - String searchString = WebUtil.readStrParam(request, "fcol[1]", true); - - // paging parameters of tablesorter - int size = WebUtil.readIntParam(request, "size"); - int page = WebUtil.readIntParam(request, "page"); -// Integer isSort1 = WebUtil.readIntParam(request, "column[0]", true); -// Integer isSort2 = WebUtil.readIntParam(request, "column[1]", true); -// Integer isSort3 = WebUtil.readIntParam(request, "column[2]", true); -// Integer isSort4 = WebUtil.readIntParam(request, "column[3]", true); -// -// String sortBy = ""; -// String sortOrder = ""; -// if (isSort2 != null) { -// sortBy = "name"; -// sortOrder = isSort2.equals(0) ? "ASC" : "DESC"; -// -// } - - List orgDtos = userManagementService.getActiveCoursesByUser(userId, isSysadmin, page, size, - searchString); - - ObjectNode responcedata = JsonNodeFactory.instance.objectNode(); - responcedata.put("total_rows", - userManagementService.getCountActiveCoursesByUser(userId, isSysadmin, searchString)); - - ArrayNode rows = JsonNodeFactory.instance.arrayNode(); - for (OrganisationDTO orgDto : orgDtos) { - ObjectNode responseRow = JsonNodeFactory.instance.objectNode(); - responseRow.put("id", orgDto.getOrganisationID()); - String orgName = orgDto.getName() == null ? "" : orgDto.getName(); - responseRow.put("name", HtmlUtils.htmlEscape(orgName)); - - rows.add(responseRow); - } - responcedata.set("rows", rows); - res.setContentType("application/json;charset=utf-8"); - res.getWriter().print(new String(responcedata.toString())); - } - - /** - * Toggles whether organisation is marked as favorite. - */ - @RequestMapping("/toggleFavoriteOrganisation") - public String toggleFavoriteOrganisation(HttpServletRequest request) throws IOException, ServletException { - Integer orgId = WebUtil.readIntParam(request, "orgId", false); - Integer userId = getUserId(); - - if (orgId != null) { - userManagementService.toggleOrganisationFavorite(orgId, userId); - } - - List favoriteOrganisations = userManagementService.getFavoriteOrganisationsByUser(userId); - request.setAttribute("favoriteOrganisations", favoriteOrganisations); - - String activeOrgId = request.getParameter("activeOrgId"); - request.setAttribute("activeOrgId", activeOrgId); - - return "favoriteOrganisations"; - } - - /** - * Saves to DB last visited organisation. It's required for displaying some org on main.jsp next time user logs in. - */ - @ResponseBody - @RequestMapping("/storeLastVisitedOrganisation") - public void storeLastVisitedOrganisation(HttpServletRequest request) throws IOException, ServletException { - Integer lastVisitedOrganisationId = WebUtil.readIntParam(request, "orgId", false); - - //saves to DB last visited organisation - if (lastVisitedOrganisationId != null) { - User user = userManagementService.getUserByLogin(request.getRemoteUser()); - user.setLastVisitedOrganisationId(lastVisitedOrganisationId); - userManagementService.saveUser(user); - } - - } - - private Integer getUserId() { - HttpSession ss = SessionManager.getSession(); - UserDTO learner = (UserDTO) ss.getAttribute(AttributeNames.USER); - return learner != null ? learner.getUserID() : null; - } - - private static boolean isPedagogicalPlannerAvailable() { - String lamsEarPath = Configuration.get(ConfigurationKeys.LAMS_EAR_DIR); - String plannerPath = lamsEarPath + File.separator + PATH_LAMS_PLANNER_WAR; - File plannerDir = new File(plannerPath); - return plannerDir.exists(); - } +/**************************************************************** + * Copyright (C) 2005 LAMS Foundation (http://lamsfoundation.org) + * ============================================================= + * License Information: http://lamsfoundation.org/licensing/lams/2.0/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2.0 + * as published by the Free Software Foundation. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + * USA + * + * http://www.gnu.org/licenses/gpl.txt + * **************************************************************** + */ +package org.lamsfoundation.lams.web; + +import java.io.File; +import java.io.IOException; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.List; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +import org.lamsfoundation.lams.index.IndexLinkBean; +import org.lamsfoundation.lams.integration.service.IIntegrationService; +import org.lamsfoundation.lams.policies.service.IPolicyService; +import org.lamsfoundation.lams.usermanagement.Organisation; +import org.lamsfoundation.lams.usermanagement.Role; +import org.lamsfoundation.lams.usermanagement.User; +import org.lamsfoundation.lams.usermanagement.dto.OrganisationDTO; +import org.lamsfoundation.lams.usermanagement.dto.UserDTO; +import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; +import org.lamsfoundation.lams.util.Configuration; +import org.lamsfoundation.lams.util.ConfigurationKeys; +import org.lamsfoundation.lams.util.WebUtil; +import org.lamsfoundation.lams.web.session.SessionManager; +import org.lamsfoundation.lams.web.util.AttributeNames; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.util.HtmlUtils; + +import com.fasterxml.jackson.databind.node.ArrayNode; +import com.fasterxml.jackson.databind.node.JsonNodeFactory; +import com.fasterxml.jackson.databind.node.ObjectNode; + +/** + * + * @author Fei Yang + */ +@Controller +@RequestMapping("/index") +public class IndexController { + private static Logger log = Logger.getLogger(IndexController.class); + private static final String PATH_LAMS_PLANNER_WAR = "lams-planner.war"; + + @Autowired + private IUserManagementService userManagementService; + @Autowired + private IIntegrationService integrationService; + @Autowired + private IPolicyService policyService; + + @RequestMapping("") + public String unspecified(HttpServletRequest request, HttpServletResponse response) throws Exception { + + IndexController.setHeaderLinks(request); + setAdminLinks(request); + if (request.isUserInRole(Role.AUTHOR)) { + request.setAttribute("showQbCollectionsLink", true); + } + + // check if this is user's first login; some action (like displaying a dialog for disabling tutorials) can be + // taken based on that parameter; immediatelly, the value in DB is updated + HttpSession ss = SessionManager.getSession(); + UserDTO userDTO = (UserDTO) ss.getAttribute(AttributeNames.USER); + if (userDTO.isFirstLogin()) { + request.setAttribute("firstLogin", true); + User user = userManagementService.getUserByLogin(userDTO.getLogin()); + user.setFirstLogin(false); + userManagementService.saveUser(user); + userDTO.setFirstLogin(false); + } + + // check if user is flagged as needing to change their password + User loggedInUser = userManagementService.getUserByLogin(request.getRemoteUser()); + if (loggedInUser.getChangePassword() != null && loggedInUser.getChangePassword()) { + return "forward:/password.do"; + } + + // check if user needs to get his shared two-factor authorization secret + if (loggedInUser.isTwoFactorAuthenticationEnabled() + && loggedInUser.getTwoFactorAuthenticationSecret() == null) { + return "forward:/twoFactorAuthentication.do"; + } + + // check if user needs to get his shared two-factor authorization secret + if (policyService.isPolicyConsentRequiredForUser(loggedInUser.getUserId())) { + return "forward:/policyConsents.do"; + } + + User user = userManagementService.getUserByLogin(userDTO.getLogin()); + request.setAttribute("portraitUuid", user.getPortraitUuid()); + + String redirectParam = WebUtil.readStrParam(request, "redirect", true); + if (StringUtils.equals(redirectParam, "profile")) { + return "forward:/profile/view.do"; + } else if (StringUtils.equals(redirectParam, "editprofile")) { + return "forward:/profile/edit.do"; + } else if (StringUtils.equals(redirectParam, "password")) { + String passwordUrl = "forward:/password.do"; + String redirectUrlParam = WebUtil.readStrParam(request, "redirectURL", true); + if (StringUtils.isNotBlank(redirectUrlParam)) { + passwordUrl = WebUtil.appendParameterToURL(passwordUrl, "redirectURL", + URLEncoder.encode(redirectUrlParam, "UTF-8")); + } + return passwordUrl; + } else if (StringUtils.equals(redirectParam, "portrait")) { + return "forward:/portrait.do"; + } else if (StringUtils.equals(redirectParam, "lessons")) { + return "forward:/profile/lessons.do"; + } + + // This test also appears in LoginAsAction + Boolean allowDirectAccessIntegrationLearner = Configuration + .getAsBoolean(ConfigurationKeys.ALLOW_DIRECT_ACCESS_FOR_INTEGRATION_LEARNERS); + if (!allowDirectAccessIntegrationLearner) { + boolean isIntegrationUser = integrationService.isIntegrationUser(userDTO.getUserID()); + //prevent integration users with mere learner rights from accessing index.do + if (isIntegrationUser && !request.isUserInRole(Role.AUTHOR) && !request.isUserInRole(Role.MONITOR) + && !request.isUserInRole(Role.GROUP_MANAGER) && !request.isUserInRole(Role.SYSADMIN)) { + response.sendError(HttpServletResponse.SC_FORBIDDEN, + "Integration users with learner right are not allowed to access this page"); + return null; + } + } + + // only show the growl warning the first time after a user has logged in & if turned on in configuration + Boolean tzWarning = Configuration.getAsBoolean(ConfigurationKeys.SHOW_TIMEZONE_WARNING); + request.setAttribute("showTimezoneWarning", tzWarning); + request.setAttribute("showTimezoneWarningPopup", false); + if (tzWarning) { + Boolean ssWarningShown = (Boolean) ss.getAttribute("timezoneWarningShown"); + if (!Boolean.TRUE.equals(ssWarningShown)) { + ss.setAttribute("timezoneWarningShown", Boolean.TRUE); + request.setAttribute("showTimezoneWarningPopup", true); + } + } + + List favoriteOrganisations = userManagementService + .getFavoriteOrganisationsByUser(userDTO.getUserID()); + request.setAttribute("favoriteOrganisations", favoriteOrganisations); + request.setAttribute("activeOrgId", user.getLastVisitedOrganisationId()); + + boolean isSysadmin = request.isUserInRole(Role.SYSADMIN); + int userCoursesCount = userManagementService.getCountActiveCoursesByUser(userDTO.getUserID(), isSysadmin, null); + request.setAttribute("isCourseSearchOn", userCoursesCount > 10); + + return "main"; + } + + private static void setHeaderLinks(HttpServletRequest request) { + List headerLinks = new ArrayList<>(); + if (request.isUserInRole(Role.AUTHOR)) { + if (IndexController.isPedagogicalPlannerAvailable()) { + headerLinks.add(new IndexLinkBean("index.planner", "javascript:openPedagogicalPlanner()")); + } + headerLinks.add(new IndexLinkBean("index.author", "javascript:showAuthoringDialog()")); + } + + String customTabText = Configuration.get(ConfigurationKeys.CUSTOM_TAB_TITLE); + String customTabLink = Configuration.get(ConfigurationKeys.CUSTOM_TAB_LINK); + if (customTabLink != null && customTabLink.trim().length() > 0) { + headerLinks.add(new IndexLinkBean(customTabText, "javascript:openCustom(\"" + customTabLink + "\")")); + } + + request.setAttribute("headerLinks", headerLinks); + } + + private void setAdminLinks(HttpServletRequest request) { + List adminLinks = new ArrayList<>(); + if (request.isUserInRole(Role.SYSADMIN) || request.isUserInRole(Role.GROUP_MANAGER)) { + adminLinks.add(new IndexLinkBean("index.courseman", "javascript:openOrgManagement(" + + userManagementService.getRootOrganisation().getOrganisationId() + ')')); + } + if (request.isUserInRole(Role.SYSADMIN) || userManagementService.isUserGlobalGroupManager()) { + adminLinks.add(new IndexLinkBean("index.sysadmin", "javascript:openSysadmin()")); + } + + request.setAttribute("adminLinks", adminLinks); + } + + /** + * Returns list of organisations for user. Used by offcanvas tablesorter on main.jsp. + */ + @ResponseBody + @RequestMapping("/getOrgs") + public void getOrgs(HttpServletRequest request, HttpServletResponse res) throws IOException, ServletException { + User loggedInUser = userManagementService.getUserByLogin(request.getRemoteUser()); + + Integer userId = loggedInUser.getUserId(); + boolean isSysadmin = request.isUserInRole(Role.SYSADMIN); + String searchString = WebUtil.readStrParam(request, "fcol[1]", true); + + // paging parameters of tablesorter + int size = WebUtil.readIntParam(request, "size"); + int page = WebUtil.readIntParam(request, "page"); +// Integer isSort1 = WebUtil.readIntParam(request, "column[0]", true); +// Integer isSort2 = WebUtil.readIntParam(request, "column[1]", true); +// Integer isSort3 = WebUtil.readIntParam(request, "column[2]", true); +// Integer isSort4 = WebUtil.readIntParam(request, "column[3]", true); +// +// String sortBy = ""; +// String sortOrder = ""; +// if (isSort2 != null) { +// sortBy = "name"; +// sortOrder = isSort2.equals(0) ? "ASC" : "DESC"; +// +// } + + List orgDtos = userManagementService.getActiveCoursesByUser(userId, isSysadmin, page, size, + searchString); + + ObjectNode responcedata = JsonNodeFactory.instance.objectNode(); + responcedata.put("total_rows", + userManagementService.getCountActiveCoursesByUser(userId, isSysadmin, searchString)); + + ArrayNode rows = JsonNodeFactory.instance.arrayNode(); + for (OrganisationDTO orgDto : orgDtos) { + ObjectNode responseRow = JsonNodeFactory.instance.objectNode(); + responseRow.put("id", orgDto.getOrganisationID()); + String orgName = orgDto.getName() == null ? "" : orgDto.getName(); + responseRow.put("name", HtmlUtils.htmlEscape(orgName)); + + rows.add(responseRow); + } + responcedata.set("rows", rows); + res.setContentType("application/json;charset=utf-8"); + res.getWriter().print(new String(responcedata.toString())); + } + + /** + * Toggles whether organisation is marked as favorite. + */ + @RequestMapping("/toggleFavoriteOrganisation") + public String toggleFavoriteOrganisation(HttpServletRequest request) throws IOException, ServletException { + Integer orgId = WebUtil.readIntParam(request, "orgId", false); + Integer userId = getUserId(); + + if (orgId != null) { + userManagementService.toggleOrganisationFavorite(orgId, userId); + } + + List favoriteOrganisations = userManagementService.getFavoriteOrganisationsByUser(userId); + request.setAttribute("favoriteOrganisations", favoriteOrganisations); + + String activeOrgId = request.getParameter("activeOrgId"); + request.setAttribute("activeOrgId", activeOrgId); + + return "favoriteOrganisations"; + } + + /** + * Saves to DB last visited organisation. It's required for displaying some org on main.jsp next time user logs in. + */ + @ResponseBody + @RequestMapping("/storeLastVisitedOrganisation") + public void storeLastVisitedOrganisation(HttpServletRequest request) throws IOException, ServletException { + Integer lastVisitedOrganisationId = WebUtil.readIntParam(request, "orgId", false); + + //saves to DB last visited organisation + if (lastVisitedOrganisationId != null) { + User user = userManagementService.getUserByLogin(request.getRemoteUser()); + user.setLastVisitedOrganisationId(lastVisitedOrganisationId); + userManagementService.saveUser(user); + } + + } + + private Integer getUserId() { + HttpSession ss = SessionManager.getSession(); + UserDTO learner = (UserDTO) ss.getAttribute(AttributeNames.USER); + return learner != null ? learner.getUserID() : null; + } + + private static boolean isPedagogicalPlannerAvailable() { + String lamsEarPath = Configuration.get(ConfigurationKeys.LAMS_EAR_DIR); + String plannerPath = lamsEarPath + File.separator + PATH_LAMS_PLANNER_WAR; + File plannerDir = new File(plannerPath); + return plannerDir.exists(); + } } \ No newline at end of file Index: lams_central/web/includes/javascript/openUrls.js =================================================================== diff -u -rc76c8011ca9563b168a57f9bb4a2d81af7a13799 -r2128de996e2dddada19946afdcd719bbd7bdbfab --- lams_central/web/includes/javascript/openUrls.js (.../openUrls.js) (revision c76c8011ca9563b168a57f9bb4a2d81af7a13799) +++ lams_central/web/includes/javascript/openUrls.js (.../openUrls.js) (revision 2128de996e2dddada19946afdcd719bbd7bdbfab) @@ -214,6 +214,10 @@ } } +function openQbCollections(){ + window.open('qb/collection/show.do', '_blank'); +} + function openCustom(url) { var left = 0; var top = 0; Index: lams_central/web/main.jsp =================================================================== diff -u -r62aaf160878735888d077bf28fac3c1989bb8fbd -r2128de996e2dddada19946afdcd719bbd7bdbfab --- lams_central/web/main.jsp (.../main.jsp) (revision 62aaf160878735888d077bf28fac3c1989bb8fbd) +++ lams_central/web/main.jsp (.../main.jsp) (revision 2128de996e2dddada19946afdcd719bbd7bdbfab) @@ -1,331 +1,339 @@ -<%@ page contentType="text/html; charset=utf-8" language="java"%> -<%@ page import="org.lamsfoundation.lams.util.Configuration"%> -<%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys"%> -<%@ taglib uri="tags-lams" prefix="lams"%> -<%@ taglib uri="tags-fmt" prefix="fmt"%> -<%@ taglib uri="tags-core" prefix="c"%> -<%@ taglib uri="tags-function" prefix="fn"%> - - - - - - <fmt:message key="title.lams"/> :: <fmt:message key="index.welcome" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - -class="offcanvas-hidden"> - - - - - -
- - -
- -
- -
- - - -
- - - -
-
- <%-- -
Important annoucements might be posted here...
- --%> -
- -
-
-
-
-
-
- - - -
-
-

-  <%=Configuration.get(ConfigurationKeys.VERSION)%> - - © - - -

-
-
-
- - -
- - -
+<%@ page contentType="text/html; charset=utf-8" language="java"%> +<%@ page import="org.lamsfoundation.lams.util.Configuration"%> +<%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys"%> +<%@ taglib uri="tags-lams" prefix="lams"%> +<%@ taglib uri="tags-fmt" prefix="fmt"%> +<%@ taglib uri="tags-core" prefix="c"%> +<%@ taglib uri="tags-function" prefix="fn"%> + + + + + + <fmt:message key="title.lams"/> :: <fmt:message key="index.welcome" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + +class="offcanvas-hidden"> + + + + + +
+ + +
+ +
+ +
+ + + +
+ + + +
+
+ <%-- +
Important annoucements might be posted here...
+ --%> +
+ +
+
+
+
+
+
+ + + +
+
+

+  <%=Configuration.get(ConfigurationKeys.VERSION)%> + + © + + +

+
+
+
+ + +
+ + +