Blocks: Enrolment Timer

block_enrolmenttimer
Maintained by Picture of Learning WorksLearning Works, Jeremy self portraitJeremy FitzPatrick, Picture of Mathew MayMathew 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.
388 sites
157 downloads
49 fans
Current versions available: 1

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

Screenshots

Screenshot #0
Screenshot #1
Screenshot #2

Contributors

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
  • Just me
    Fri, Jul 8, 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?

    Cheers

    Alan W.
  • Picture of Cleiton Luiz de Sá
    Mon, Aug 1, 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, Oct 14, 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, Apr 18, 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, Apr 20, 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, Jun 3, 2017, 1:41 AM
    Hi

    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})}
    http://requirejs.org/docs/errors.html#mismatch
    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, Jun 6, 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.

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

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

    Regards,
    Mathew
  • Picture of Hiro I
    Mon, Sep 18, 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?

    Regards,
    Hiro
  • Ricardo Caiado
    Sat, Mar 17, 2018, 10:33 PM
    Hi,

    Any update to Moodle 3.4?

    Ricardo
  • Picture of Deependra Singh
    Thu, Jun 14, 2018, 2:20 PM
    Hi,
    Any update for Moodle 3.5 or with privacy api intregated?

    Deependra
  • Picture of Mathew May
    Mon, Jun 18, 2018, 7:09 AM
    Hi Deependra,

    We are still investigating how to best implement the privacy API within the block, until that time there will not be an release for 3.5.
    We appreciate your understanding.

    Mathew
  • Hi Aaron,

    Your plugin is great. However, is there a way to make it work with the course end date?
  • Picture of Mathew May
    Tue, Jul 17, 2018, 4:36 AM
    Hi Antonio,

    There are no current plans to include that functionality yet. We are however currently implementing the privacy api so it is 3.5+ compliant. We are open to pull requests for functionality if you wish to see it in the block.

    Mathew
  • Picture of Jamie Zelenak-Hyre
    Thu, Apr 4, 2019, 1:24 AM
    Hi Mathew, any update on this plug-in for 3.5+? We love your plug-in.
    ~Jamie
1 2 3 4
Please login to post comments