* Add caleventid index to attendance_sessions table
* Fix travis file for moodle 37
* Fix some coding guideline errors.
Co-authored-by: Dan Marsden <dan@danmarsden.com>
* Add add_session webservice function skeleton.
* Implement add_session.
* Refactor add_session to return created session id.
* Implement add_attendance
* Minor improvements to add_session.
* Fix add_attendance and add_session.
* Implement remove_session.
* Add params and context validation.
* Implement remove_attendance.
* Missing permissions check for get_session.
* Add coverage for remove_attendance.
* Refactor unittest and add coverage for add_attendance.
* Set default grade if not specified.
* Add test coverage for add_session and remove_session.
* Add basic validation to all remaining methods.
* Rename new WS functions to match Moodle naming convention.
* Style changes to address CI test outcomes.
* Fix#378 - Removing sesskey requirement for viewing attendance.php
* Fix#378 - Show password icon when only QR code is selected.
* Fix#378 - Refactor/Add functionality for QR Code & No Password
* Changes to DB structure for rotateqrcode feature
* Added Rotate QR code function
* Adding new field to settings and DB create/update functions
* Added function to check QR code pass and cookies, error messages.
* Added function to return QR passwords as JSON
* Moved unix timestamp generation to PHP
* Added function that outputs JS to render the rotation code
* Add QR code library qrcode.js
* Added code to display and rotate the QR code.
* Ammended password.php to not show text password when rotating.
* Load information from database earlier, fixed check for password
* Set expiry time for cookie
* Autofill password for authenticated rotateqrcode users
* Disable conflicting settings if rotateqr is enabled
* Updating version number
* Added maximum length to password field and amended key, name for table
* Ammend upgrade.php to update db structure for qrcode rotation
* Add id column to attendance_rotate_passwords
* Removed interval setting from session. Using plugin setting instead.
* Amend return passwords function
* Update version numbers for DB/version.php
* Hide rotate option when students cannot mark on update page.
* Show QR icon when rotateqrcode is enabled.
* Rename qrcoderotate JS file, frakenstyle
* Add qrcode.js to thirdpartylibs.xml
* Generate random password when rotateqrcode session is updated.
* Add qrcodesecret column to database
* Use separate password for rotateqrcode cookie
* Remove unnecessary qrcodeinterval database field
* Replacing $_GET with optional_param
* Clarified time unit (seconds) for Rotate QR Code strings.
* Moved rotateqrcodeinterval under studentscanmark setting
* Fix code formatting in attendance.php and locallib.php
* Add rotateqrcodesecret to structure
* Add task to clear temporary qrrotation passwords
* Functionality to allow password to be accepted if expired within 2sec
* Documenting class clear_temporary_passwords
* Updating delete temporary passwords task
Adds IP recording when self-marking and checks if another student
has previously self-marked using the same IP address.
Thanks to Xi’an Jiaotong Liverpool University for funding this work.