Moodle plugins directory: Certificate | Moodle.org
Certificate
Activities ::: mod_certificate
Maintained by Mark Nelson
This module allows for the dynamic generation of certificates based on predefined conditions set by the teacher.
NOTE: This plugin is no longer receiving any new features. Only bug fixes are being applied. I have been working on a new plugin which can be located at https://moodle.org/plugins/mod_customcert which allows complete customisation of the PDF via the browser, whereas this plugin requires FTP and PHP knowledge. Both plugins can be installed on a site at once with no issues.
Latest release:
5842 sites
912 downloads
195 fans
Current versions available: 9
NOTE: This plugin is no longer receiving any new features. Only bug fixes are being applied. I have been working on a new plugin which can be located at https://moodle.org/plugins/mod_customcert which allows complete customisation of the PDF via the browser, whereas this plugin requires FTP and PHP knowledge. Both plugins can be installed on a site at once with no issues.
See the certificate docs for information on how to customise your certificate and for additional help please visit the certificate forums.
Contributors
Mark Nelson (Lead maintainer)
Please login to view contributors details and/or to contact them
Can you please turn on debugging on your site to get a full stack trace? To turn on debugging please visit Development -> Debugging in the Site administration menu and choose "DEVELOPER: extra Moodle debug messages for developers" for debug messages and click "Display debug messages". Save this, then re-visit the page that gives you that error and paste the results here.
Thanks.
Error occurs on "Activity reports -> Outline report" as follows:
Coding error detected, it must be fixed by a programmer: PHP catchable fatal error
More information about this error
Debug info: Argument 2 passed to moodle_database::get_record() must be an array, string given, called in /home/marko/work/working2/mod/certificate/lib.php on line 113 and defined
Error occurs on "Activity reports -> Complete report" as follows:
Coding error detected, it must be fixed by a programmer: PHP catchable fatal error
More information about this error
Debug info: Argument 2 passed to moodle_database::get_record() must be an array, string given, called in /home/marko/work/working2/mod/certificate/lib.php on line 130 and defined
lib.php has unported 1.9 code for calls to $DB->get_record() in functions certificate_user_outline() and certificate_user_complete() which causes the errors mentioned in the usage section.
lang/gl_utf8 has not been ported to moodle2 format.
This particular plug-in is essential to our trainers, help?
I found this message very often
Coding error detected, it must be fixed by a programmer: PHP catchable fatal error
I found this when I am logged as an admin in one course, but It works fine on another course.
Besides that, I found it is not customizable. I need to add my own real scanned signature, a company logo as a watermark and the name of my company. If you read the certificate there is no field in which you can read what school gave the certificate. I need the scanned signature printed so I can submit the certificate by email or download.
Coding error detected, it must be fixed by a programmer: PHP catchable fatal error
More information about this error
Debug info: Argument 1 passed to get_users_by_capability() must be an instance of context, boolean given, called in /home/psune/public_html/moodle/mod/certificate/lib.php on line 335 and defined
Stack trace:
line 365 of /lib/setuplib.php: coding_exception thrown
line 3372 of /lib/accesslib.php: call to default_error_handler()
line 335 of /mod/certificate/lib.php: call to get_users_by_capability()
line 394 of /mod/certificate/lib.php: call to certificate_get_teachers()
line 878 of /mod/certificate/lib.php: call to certificate_email_teachers()
line 84 of /mod/certificate/view.php: call to certificate_issue()
Notice: Undefined property: stdClass::$course in /home/psune/public_html/moodle/lib/grouplib.php on line 375
Notice: Undefined property: stdClass::$course in /home/psune/public_html/moodle/lib/grouplib.php on line 377
Notice: Undefined property: stdClass::$course in /home/psune/public_html/moodle/lib/grouplib.php on line 380
Debbie - Please upgrade your certificate plugin to the latest version. You are using an old version. The issues you have pointed out have been addressed.
Paul - Please update to the latest version.
Ricardo - Please turn on debugging on your site, visit the page where it fails to install and then paste the results here, or create a tracker issue at tracker.moodle.org
I downloaded the last version, put it back, and rewrite the files on the certificate folder.
Then I read the notifications and it did not show I did the changes.
Anyway, I uploaded a logo and a watermark in the folder and I can only get this message
"Fatal error: Out of memory (allocated 45350912) (tried to allocate 20 bytes) in /home/psune/public_html/moodle/lib/outputcomponents.php on line 467"
i am using moodle 2.2 and certificate version 2.2 as swell ,but how to configure "Dependent activities" in this version,but in 1.9 its working .please help
Bob - I need to see the stack trace (please read my earlier comment) to see what is happening.
Have just installed moodle22_2012022001- on Moodle 2.2 install and when I click on the certificate I get the following debugging error:
Debug info: SQLState: 42000
Error Code: 8120
Message: [Microsoft][SQL Server Native Client 10.0][SQL Server]Column 'mdl_user.auth' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
SELECT u.*,u.picture, s.code, s.timecreated, s.certdate, s.studentname, s.reportgrade
FROM mdl_certificate_issues s,
mdl_user u
WHERE s.certificateid = '3'
AND s.userid = u.id
AND s.certdate > 0
GROUP BY u.id
[array (
)]
Stack trace:
line 394 of \lib\dml\moodle_database.php: dml_read_exception thrown
line 252 of \lib\dml\sqlsrv_native_moodle_database.php: call to moodle_database->query_end()
line 368 of \lib\dml\sqlsrv_native_moodle_database.php: call to sqlsrv_native_moodle_database->query_end()
line 773 of \lib\dml\sqlsrv_native_moodle_database.php: call to sqlsrv_native_moodle_database->do_query()
line 807 of \lib\dml\sqlsrv_native_moodle_database.php: call to sqlsrv_native_moodle_database->get_recordset_sql()
line 702 of \mod\certificate\lib.php: call to sqlsrv_native_moodle_database->get_records_sql()
line 301 of \mod\certificate\lib.php: call to certificate_get_issues()
line 101 of \mod\certificate\view.php: call to view_header()
http://tracker.moodle.org/browse/MDL-31931
in the certificate module ?
Thoughts? Advice?
Anyway, I've tried upgrading from Moodle 1.9.6 to Moodle 2.2, and have downloaded the latest build of the Certificate plugin. When running the Moodle upgrade process, it aborts with the following error:
Debug info: No column name was specified for column 1 of 't'.
DELETE
FROM mdl_certificate_issues
WHERE id NOT IN (SELECT * FROM (SELECT MAX(id)
FROM mdl_certificate_issues
GROUP BY certificateid, userid) as t)
Stack trace:
line 397 of /lib/dml/moodle_database.php: dml_write_exception thrown
line 255 of /lib/dml/mssql_native_moodle_database.php: call to moodle_database->query_end()
line 668 of /lib/dml/mssql_native_moodle_database.php: call to mssql_native_moodle_database->query_end()
line 413 of /mod/certificate/db/upgrade.php: call to mssql_native_moodle_database->execute()
line 538 of /lib/upgradelib.php: call to xmldb_certificate_upgrade()
line 271 of /lib/upgradelib.php: call to upgrade_plugins_modules()
line 1449 of /lib/upgradelib.php: call to upgrade_plugins()
line 269 of /admin/index.php: call to upgrade_noncore()
This is on MSSQL, and is indeed invalid SQL. Reqwriting the offending query (in upgrade.php) to the following solves it:
DELETE
FROM mdl_certificate_issues
WHERE id NOT IN (SELECT MAX(id)
FROM mdl_certificate_issues
GROUP BY certificateid, userid)