Blocks: Enrolment Timer

Maintained by Picture of Learning Works Learning Works, Jeremy self portrait Jeremy FitzPatrick, Picture of Mathew May Mathew May
Block to show the user their remaining time enrolled in a course with live countdown and lots of settings to customise the display of this timer.
349 sites
40 fans

A block to show students the time remaining in their enrolment period including a live JavaScript countdown. Many settings have been included to customise the way the counter is displayed; in text, with numbers, customisable units and so on. This block was also developed as a base so it is easy to incorporate your theme overrides.

Emailing functionality is also included, You can enable students be notified by email that their enrolment is expiring in a set amount of days (Default 10). Email notifications can also be enabled to congratulate a student on passing the course. This email is sent after the student receives a required grade in the course_total grade.

Developed by LearningWorks Ltd


Screenshot #0
Screenshot #1
Screenshot #2


Picture of Learning Works
Learning Works (Lead maintainer)
Jeremy self portrait
Jeremy FitzPatrick
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Kris KIm
    Sat, 2 Apr 2016, 1:45 AM
    When you correct a mistake?
  • Picture of Learning Works
    Fri, 8 Apr 2016, 6:50 AM
    Thank you Kris and Usman for the feedback. A new version is now available.
  • Picture of Usman Asar
    Fri, 8 Apr 2016, 11:38 AM
    Thanks Guys for update, it did manage to get rid of the error message, but still the digits aren't visible, purged caches, checked settings, changes three different themes, and finally removed plug-in all together to re-install again just to see if I am doing anything wrong, and yet they remain invisible until highlighted with mouse drag.
  • Picture of Marcus Wynwood
    Fri, 8 Apr 2016, 12:33 PM
    I fixed the bug in version 2016031700 by commenting out the two VAR_DUMP lines in the "locallib.php" file.
    That gets rid of the output at the top of the page.
    Then I edited the "style.css" file to add a background-colour to the numbers.
    I hope that helps people, until an update is released.
  • Picture of Andrew Walding
    Thu, 21 Apr 2016, 6:43 PM
    Really need to have the color issue fixed...time keeps ticking by....
  • Picture of Josiah Carberry
    Sun, 29 May 2016, 8:14 PM
    Using ver 3.0.0 2016031700 of enrollment timer on a moodle 3.1 platform (but the issue was also noted for moodle 3.0).
    When a participant clicks on a link to open a course, the page that is opened contains the following extraneous text, located in the page immediately after the line starting with "

    I note that the time at the end of that string is the current time displayed as if it were in am/pm format. In other words, when the local time is 14:10:09, then 02:10:09 is displayed, as in the example above, but without any the "pm".

    When the plugin is disabled, or when a user with admin rights is connected, that string is not displayed. I further note that the problem occurs with a variety of different themes.
  • Just me
    Fri, 8 Jul 2016, 2:45 PM
    Hi all.

    Can anyone please tell me if using this plugin creates a Java dependency on the end users browser? If so, are there any particular Java / JRE versions it needs?


    Alan W.
  • Picture of Cleiton Luiz de Sá
    Mon, 1 Aug 2016, 8:53 PM
    Uso a versão 3.0, e instalei esse plugin, mas não aparece o contador e, não aparece no curso.
  • Picture of Ziyad Muslat
    Fri, 14 Oct 2016, 2:09 AM
    I would like to change the font color for the timer numerals. In my installation they have white color, but I want the to be in black or at least have the squares around them showing in dark color as in the images above. How do I do that. I'm using moodle 3.1
  • Picture of Josiah Carberry
    Tue, 18 Apr 2017, 2:02 PM
    I have enabled email to students reminding them that enrollment is coming to an end. Admins are also getting an email every single day reminding them of this fact. Can this be reconfigured so as to get only one email, at the value of "Days to alert on" before the end of the enrollment period?
  • Picture of Learning Works
    Thu, 20 Apr 2017, 11:58 AM
    Hi Josiah,

    We have changed the logic so that the plugin will email anyone with an enrollment end date where the end date minus days to alert occurs between the current date and the next cron run. This means a user should only be mailed once per course.
    Regards, Mathew.
  • Picture of James Nicolson
    Sat, 3 Jun 2017, 1:41 AM

    I have just installed the plugin but noticed that it is throwing a console error. The plugin still seems to work as expected but because of this error it starts to impact other plugins that are also dependent on javascript. The error that is being generated is

    Uncaught Error: Mismatched anonymous define() module: function ($){var options=[],arrayKeys=[],timestamp=0,forceTwoDigits=false;$(document).ready(function(){function getDisplayedOptions(){var children=$('.block_enrolmenttimer .active .timer-wrapper').find('.timerNum');for(var i=children.length-1;i>=0;i--){var arrayKey=$(children[i]).attr('data-id');arrayKeys.push(arrayKey)}}
    function populateWithData(){for(var i=arrayKeys.length-1;i>=0;i--){var option=$('.block_enrolmenttimer .active .text-desc .'+arrayKeys[i]).text();options[arrayKeys[i]]=option}}
    function makeTimestamp(){for(var i=arrayKeys.length-1;i>=0;i--)switch(arrayKeys[i]){case'seconds':timestamp+=parseInt(options[arrayKeys[i]],10);break;case'minutes':timestamp+=parseInt(options[arrayKeys[i]],10)*60;break;case'hours':timestamp+=parseInt(options[arrayKeys[i]],10)*3600;break;case'days':timestamp+=parseInt(options[arrayKeys[i]],10)*86400;break;case'weeks':timestamp+=parseInt(options[arrayKeys[i]],10)*604800;break;case'months':timestamp+=parseInt(options[arrayKeys[i]],10)*2592e3;break;case'years':timestamp+=parseInt(options[arrayKeys[i]],10)*31536e3;break}}
    function updateMainCounter(counter,time){var html='';if(forceTwoDigits===true&&time.toString().length==1){html+='0';html+=''+time.toString()+''}else for(var i=0;i'+time.toString().charAt(i)+'';$('.block_enrolmenttimer .active .timer-wrapper .timerNum[data-id="'+counter+'"]').html(html);$('.block_enrolmenttimer .active .text-desc .'+counter).html(time)}
    function updateLiveCounter(){timestamp--;var time=timestamp,tokens=['years','months','weeks','days','hours','minutes','seconds'],units=['31536000','2592000','604800','86400','3600','60','1'];for(var i=0;i=units[i]){var count=Math.floor(time/units[i]);updateMainCounter(tokens[i],count);time=time-(count*units[i])}else updateMainCounter(tokens[i],0)};if($('.block_enrolmenttimer .active').length>0){getDisplayedOptions();populateWithData();makeTimestamp();window.setInterval(function(){updateLiveCounter()},1e3)};if($('.block_enrolmenttimer .timer-wrapper[data-id=force2]').length>0)forceTwoDigits=true})}
    at B (require.min.js:12)
    at J (require.min.js:27)
    at Object.g [as require] (require.min.js:27)
    at requirejs (require.min.js:27)
    at footer:1

    Should I create a ticket on the repo for this? Is this something that has been noticed by others?

    I am using the latest version 3.3.0 2017051200. Issue in both firefox and chrome.
  • Picture of Learning Works
    Tue, 6 Jun 2017, 7:11 AM
    Hi James,

    What version of Moodle did you install the plugin on? We will look into this error and try to find a solution.

  • Picture of Learning Works
    Fri, 9 Jun 2017, 10:00 AM
    Hi James,

    The Javascript issue you were encountering should be fixed in the latest version smile

  • Picture of Hiro I
    Mon, 18 Sep 2017, 11:37 PM
    I have some questions about how flexible Enrolment Timer be set in different courses.

    While setting up Alert Email Notifications in Enrolment Timer settings, is it possible to set a different number of days (‘Days to alert on’) in different courses? The setting seems only one specific number of a day for all the courses.

    Also when we enable ‘Enable Time Warning Email’ setting, Is there way to control which courses will receive this particular email? What if we want only send a message to a few courses but not all?

1 2 3 4
Please login to post comments