Auto Attendance Block

Maintained by Fumikazu Iseki
This autoattend block is modification of the Attendance block by Mr. Dmitry Pupinin (v1.0.8, 2007). In addition to the original manual mode, automatic attendance mode (from the access log of Moodle) and semi-automatic attendance mode (user clicks a link) are also possible.
Price option: Free

Supports Moodle 3.0-4.5 See all versions
Latest release: 1 year ago
Installations: 1087
Downloads (last 90 days): 138

Frankenstyle name: block_autoattend
Blocks
Auto attendance

Comments

Comments are no longer open for new posts. Existing comments remain available to read.

Hello, I have noticed that sometimes this plugin does not register student attendance. We have our Moodle courses setup in a way that the students need to access their course in order to join the videoconference to attend class. We have cases where, for instance, 3 students appear as present and 2 as absent. We know for a fact that they all accessed their Moodle course. Otherwise they wouldn't have been able to join the videoconference. My question is: could this be somehow related to the Internet browser they use? (Chrome, Edge, Firefox, Opera, etc.). Thanks.
@Fumikazu Iseki
After investigating the incorrect time issue, I found that the above code (fix) is still not correct, since if I comment it out, the time which is used by the module is correct again.
About timing for sessions. They are 2h ahead, so by the time session begins, the attendance module marks it as completed. I am in the timezone of +1 (Europe/Vienna). If I want to add a session so it works correctly, I must use +2 offset. I realized that the attendance module is in line with universal time, not the local time of the server.
Something is yet wrong. Every time I do something (adding sessions or changing settings), I got an error: "Otkrivena je programerska pogreška, mora ju ispraviti programer: The 'name' value must be set in other." The first part is something like "Programming error has been discovered, it must be corrected by a developer". Another issue is incorrect timing (it is closed 2h before it should), but I need more time to investigate this and I will let you know if this is something of not my fault.
Thanks. I did not used that summer time setting, as I recall because of some errors. Maybe this timezone error and summer time issue are connected. I will check summer time setting in my next classes and see if it is resolved. smile
Hi,
Please be more specific.
Do you mean that when you checked the summer time setting in the attendance module, and attendance block is not reflected?
Thanks.
Thank you very much. I changed it to the new code, and it is not complaining anymore. One more question. At the beginning of the semester, I defined all sessions I would have with students. But after the time switch (winter time /summer time), those session times are wrong, and I have to fix them manually one by one. Will this behaviour continues?
Thanks for the bug report.
That is certainly incorrect.
I have now fixed the problem.
To fix it, please uncheck "Use Timeoffset of the Timezone" in the block settings or download a newer version using SVN.
# svn co http://www.nsl.tuis.ac.jp/svn/php/autoattend/trunk/ autoattend
Thanks.
Correct code
--------------------------------------------------------------
$TIME_OFFSET = 0;
if (property_exists($CFG, 'use_timeoffset')) {
if ($CFG->use_timeoffset) {
//
$ver = jbxl_get_moodle_version();
if ($ver>=2.7) {
if (is_numeric($CFG->timezone)) {
$TIME_OFFSET = $CFG->timezone*ONE_HOUR_TIME;
}
else {
$dtz = new DateTimeZone($CFG->timezone);
$now = new DateTime("now", $dtz);
$TIME_OFFSET = $dtz->getOffset($now);
}
}
} else {
if (jbxl_is_admin($USER->id)) {
if (is_numeric($USER->timezone) && $USER->timezone!=99) {
$TIME_OFFSET = $USER->timezone*ONE_HOUR_TIME;
}
else if (is_numeric($CFG->timezone) && $CFG->timezone!=99) {
$TIME_OFFSET = $CFG->timezone*ONE_HOUR_TIME;
}
}
}
}
}
Translated with www.DeepL.com/Translator (free version)
Thanks for the great plugin, but every time I upgrade my Moodle site, I must deal with the Warning: A non-numeric value encountered in /var/www/moodle/blocks/autoattend/timezonedef.php on line 15. To fix it, I just commented out lines 10-30. Something is wrong here. Can the maintainer fix it?
Hello,
I have a problem with setting up a new session.
My platform is set to the Polish language, and the following message is associated with it:
Time type dzieńs is not supported by html_writer::select_time().
I have a question, do you meet similar messages on your platforms?
Automatic presence checking is GREAT, it would be hard without a properly working plug-in. So far it has worked properly, I wonder if it is related to the MOODLE version or something in the configuration.
I would be grateful for tips on how to solve this problem.
Regards
Hello
Currently under debugging.
You can download the development version from the sunversion repository.
http://www.nsl.tuis.ac.jp/svn/php/autoattend/trunk/
http://www.nsl.tuis.ac.jp/svn/php/autoattendmod/trunk/
Support for moodle4 is also being checked.
Thanks.
I am unable to get attendance email when student attend course. I have setup auto attendance. But when I click attendance in block from admin/manager it will send all past attendance email and I get 50+ emails in 2 3 days.. How to solve this?
Very Thanks!
Helo, I got this error. Could anybody help me?
Invalid get_string() identifier: 'autoattend:myaddinstance' or component 'block_autoattend'. Perhaps you are missing $string['autoattend:myaddinstance'] = ''; in /var/www/html/elearning/blocks/autoattend/lang/en/block_autoattend.php?
line 353 of /lib/classes/string_manager_standard.php: call to debugging()
line 7282 of /lib/moodlelib.php: call to core_string_manager_standard->get_string()
line 2589 of /lib/accesslib.php: call to get_string()
line 2434 of /lib/accesslib.php: call to get_capability_string()
line 118 of /admin/roles/classes/capability_table_base.php: call to get_capability_docs_link()
line 135 of /admin/roles/classes/capability_table_with_risks.php: call to core_role_capability_table_base->display()
line 708 of /admin/roles/classes/define_role_table_advanced.php: call to core_role_capability_table_with_risks->display()
line 257 of /admin/roles/define.php: call to core_role_define_role_table_advanced->display()
I use this with 3.10
I don't know about 4.0 because I have never used it before.